/ {
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";
};