Because of a redesign of our custom board with a i.MX 8M Nano MIMX8MN5CVPIZAA CPU the RX and TX lines of UART1 were assigned to the SAI2_RXFS(Y13)/SAI2_RXC(AA15) pads. Previously UART1 worked without problems when assigned to the UART1_RX/UART1_TX pads.
These are the new device tree entries for UART1:
&uart1 {
fsl,dte-mode;
pinctrl-names = "default";
pinctrl-0 = <&pinctrl_uart1>;
status = "okay";
};
pinctrl_uart1: uart1grp {
fsl,pins = <
MX8MN_IOMUXC_SAI2_RXC_UART1_DTE_TX 0x140
MX8MN_IOMUXC_SAI2_RXFS_UART1_DTE_RX 0x140
>;
};
DTE mode is used, and with that we expect the following configuration:
Pad SAI2_RXC/AA15: input (DTE TX)
Pad SAI2_RXFS/Y13: output (DTE RX)
We verified that the electrical connections on the board are ok by configuring these pins as input and output GPIOs. Then we see output and input signals as expected. But when we configure these pins for UART1 operation it does not work.
It may be the case that we didn't get it right which pin is output and which pin is input in DTE mode because the documentation is somewhat confusing, but I think that we should see output activity on one of the two pins, even if we didn't understand the assignment of RX and TX correctly.
But no matter what when we send data to the UART1 tty from Linux there is no output signal on either pin.
How do we configure this correctly, and how can we troubleshoot this?
Thank you
Stephan