1 // SPDX-License-Identifier: (GPL-2.0+ OR MIT) 1 // SPDX-License-Identifier: (GPL-2.0+ OR MIT) 2 /* 2 /* 3 * Copyright 2021 Gateworks Corporation 3 * Copyright 2021 Gateworks Corporation 4 * 4 * 5 * GW73xx RS422 (RS485 full duplex): 5 * GW73xx RS422 (RS485 full duplex): 6 * - GPIO1_0 rs485_term selects on-chip termi 6 * - GPIO1_0 rs485_term selects on-chip termination 7 * - GPIO4_0 rs485_en needs to be driven high 7 * - GPIO4_0 rs485_en needs to be driven high (active) 8 * - GPIO4_2 rs485_hd needs to be driven low 8 * - GPIO4_2 rs485_hd needs to be driven low (in-active) 9 * - UART4_TX is DE for RS485 transmitter 9 * - UART4_TX is DE for RS485 transmitter 10 * - RS485_EN needs to be pulled high 10 * - RS485_EN needs to be pulled high 11 * - RS485_HALF needs to be low 11 * - RS485_HALF needs to be low 12 */ 12 */ 13 13 14 #include <dt-bindings/gpio/gpio.h> 14 #include <dt-bindings/gpio/gpio.h> 15 15 16 #include "imx8mm-pinfunc.h" 16 #include "imx8mm-pinfunc.h" 17 17 18 /dts-v1/; 18 /dts-v1/; 19 /plugin/; 19 /plugin/; 20 20 21 &{/} { 21 &{/} { 22 compatible = "gw,imx8mm-gw73xx-0x"; 22 compatible = "gw,imx8mm-gw73xx-0x"; 23 }; 23 }; 24 24 25 &gpio4 { 25 &gpio4 { 26 rs485-en-hog { 26 rs485-en-hog { 27 gpio-hog; 27 gpio-hog; 28 gpios = <0 GPIO_ACTIVE_HIGH>; 28 gpios = <0 GPIO_ACTIVE_HIGH>; 29 output-high; 29 output-high; 30 line-name = "rs485_en"; 30 line-name = "rs485_en"; 31 }; 31 }; 32 32 33 rs485-hd-hog { 33 rs485-hd-hog { 34 gpio-hog; 34 gpio-hog; 35 gpios = <2 GPIO_ACTIVE_HIGH>; 35 gpios = <2 GPIO_ACTIVE_HIGH>; 36 output-low; 36 output-low; 37 line-name = "rs485_hd"; 37 line-name = "rs485_hd"; 38 }; 38 }; 39 }; 39 }; 40 40 41 &uart2 { 41 &uart2 { 42 pinctrl-names = "default"; 42 pinctrl-names = "default"; 43 pinctrl-0 = <&pinctrl_uart2>; 43 pinctrl-0 = <&pinctrl_uart2>; 44 rts-gpios = <&gpio5 29 GPIO_ACTIVE_HIG 44 rts-gpios = <&gpio5 29 GPIO_ACTIVE_HIGH>; 45 linux,rs485-enabled-at-boot-time; 45 linux,rs485-enabled-at-boot-time; 46 status = "okay"; 46 status = "okay"; 47 }; 47 }; 48 48 49 &uart4 { 49 &uart4 { 50 status = "disabled"; 50 status = "disabled"; 51 }; 51 }; 52 52 53 &iomuxc { 53 &iomuxc { 54 pinctrl_uart2: uart2grp { 54 pinctrl_uart2: uart2grp { 55 fsl,pins = < 55 fsl,pins = < 56 MX8MM_IOMUXC_UART2_RXD 56 MX8MM_IOMUXC_UART2_RXD_UART2_DCE_RX 0x140 57 MX8MM_IOMUXC_UART2_TXD 57 MX8MM_IOMUXC_UART2_TXD_UART2_DCE_TX 0x140 58 MX8MM_IOMUXC_UART4_TXD 58 MX8MM_IOMUXC_UART4_TXD_GPIO5_IO29 0x140 59 >; 59 >; 60 }; 60 }; 61 }; 61 };
Linux® is a registered trademark of Linus Torvalds in the United States and other countries.
TOMOYO® is a registered trademark of NTT DATA CORPORATION.