Загрузка данных


/ {
	zephyr,user {
		lcd-rs-gpios  = <&gpio1 29 GPIO_ACTIVE_HIGH>; /* GPIO_AD_B1_13 */
		lcd-rw-gpios  = <&gpio1 23 GPIO_ACTIVE_HIGH>; /* GPIO_AD_B1_07 */
		lcd-e-gpios   = <&gpio1 26 GPIO_ACTIVE_HIGH>; /* GPIO_AD_B1_10 */
		lcd-bl-gpios  = <&gpio1 24 GPIO_ACTIVE_HIGH>; /* GPIO_AD_B1_08 */
		lcd-d4-gpios  = <&gpio1 25 GPIO_ACTIVE_HIGH>; /* GPIO_AD_B1_09 */
		
		/* Пины GPIO_SD_B1_xx на i.MX RT1024 маппятся на GPIO3[20], GPIO3[21], GPIO3[30] */
		lcd-d5-gpios  = <&gpio3 20 GPIO_ACTIVE_HIGH>; /* GPIO_SD_B1_00 */
		lcd-d6-gpios  = <&gpio3 21 GPIO_ACTIVE_HIGH>; /* GPIO_SD_B1_01 */
		lcd-d7-gpios  = <&gpio3 30 GPIO_ACTIVE_HIGH>; /* GPIO_SD_B1_10 */
	};
};

/* Принудительно активируем аппаратные банки GPIO, если они были выключены */
&gpio1 { status = "okay"; };
&gpio3 { status = "okay"; };

/* Конфигурация pinctrl для мультиплексирования пинов в режим GPIO */
&pinctrl {
	pinmux_lcd_direct: pinmux_lcd_direct {
		group0 {
			pinmux = <
				/* Группа GPIO_AD_B1: режим GPIO — это всегда ALT5 */
				IOMUXC_GPIO_AD_B1_13_GPIO1_IO29  /* RS */
				IOMUXC_GPIO_AD_B1_07_GPIO1_IO23  /* RW */
				IOMUXC_GPIO_AD_B1_10_GPIO1_IO26  /* E */
				IOMUXC_GPIO_AD_B1_08_GPIO1_IO24  /* BL */
				IOMUXC_GPIO_AD_B1_09_GPIO1_IO25  /* D4 */
			>;
			/* Настройки физического пина: Pull-Down, 100MHz, Speed Medium, Drive Strength R0/6 */
			drive-strength = "r0-6";
			drive-open-drain;
			slew-rate = "slow";
		};

		group1 {
			pinmux = <
				/* Группа GPIO_SD_B1: для RT1024 режим GPIO — это ALT6 */
				IOMUXC_GPIO_SD_B1_00_GPIO3_IO20  /* D5 */
				IOMUXC_GPIO_SD_B1_01_GPIO3_IO21  /* D6 */
				IOMUXC_GPIO_SD_B1_10_GPIO3_IO30  /* D7 */
			>;
			drive-strength = "r0-6";
			drive-open-drain;
			slew-rate = "slow";
		};
	};
};

/* Навешиваем созданный профиль pinctrl на системный узел iomuxc */
&iomuxc {
	pinctrl-0 = <&pinmux_lcd_direct>;
	pinctrl-names = "default";
};

/* Отключаем usdhc1, чтобы освободить пины группы GPIO_SD_B1 */
&usdhc1 {
	status = "disabled";
};