Hi,
I am currently testing UART_E (uart3 in colibri imx6ull data sheet) on our custom carrier board. I have modified imx6ull-colibri.dtsi to use uart3 for RS485:
pinctrl_uart3: uart3-grp {
fsl,pins = <
MX6UL_PAD_UART3_TX_DATA__UART3_DTE_RX 0x1b0b1 /* SODIMM 135 */
MX6UL_PAD_UART3_RX_DATA__UART3_DTE_TX 0x1b0b1 /* SODIMM 77 */
>;
};
...
&uart3 {
pinctrl-names = "default";
pinctrl-0 = <&pinctrl_uart3 &pinctrl_uart3_ctrl3>;
rts-gpios = <&gpio5 6 GPIO_ACTIVE_HIGH>;
};
And imx6ull-colibri-aster.dtsi (for testing I did not create our own *.dtsi for our carrier board, I have just modified the imx6ull-colibri-aster.dtsi):
&uart3 {
status = "okay";
};
When I send something to RS485 transceiver, the data are sent through UART_E_RX (SODIMM pin135, uart3.tx in colibri imx6ull data sheet). I have checked it with oscilloscope. But the data should be sent through UART_E_TX (SODIMM pin77, uart3.rx in colibri imx6ull data sheet), right?
I have tested UART_D for comparison. On the UART_D data are sent through UART_D_TX (SODIMM pin96, uart6.rx in imx6ull colibri data sheet) as expected.
device tree changes on imx6ull-colibri.dtsi:
pinctrl_uart6: uart6-grp {
fsl,pins = <
MX6UL_PAD_CSI_MCLK__UART6_DTE_RX 0x1b0b1 /* SODIMM 75 */
MX6UL_PAD_CSI_PIXCLK__UART6_DTE_TX 0x1b0b1 /* SODIMM 96 */
MX6UL_PAD_ENET1_TX_EN__UART6_DTE_CTS 0x1b0b1 /* SODIMM 30 */
MX6UL_PAD_ENET1_TX_DATA1__UART6_DTE_RTS 0x1b0b1 /* SODIMM 73 */
>;
};
...
&uart6 {
pinctrl-names = "default";
pinctrl-0 = <&pinctrl_uart6>;
fsl,uart-has-rtscts;
fsl,dte-mode;
};
So one of this UARTs has wrong description in data sheet? or I have made a mistake somewhere?
Best regards,
Taras