AnsweredAssumed Answered

imx6DL: No signal on UART2 TX/RX pins

Question asked by Stas Gil on Jan 23, 2018
Latest reply on Jan 24, 2018 by Stas Gil

Hi,

 

    We are using imx6 Dual Lite with kernel 4.1.15, with custom yocto meta layer and on a custom board, that was prototyped from the imx6 wandboard. 

    We have a direct UART to USB connection for UART1 debug output which works fine.

    On the board we also have UART2 connected to MAX3232 UART to RS232 transceiver, and RS232 connects to the lap top USB. (I need to make this output default console output)

    I have configured the UART2 in the device tree as follows:

 

pinctrl_uart2: uart2grp {
   fsl,pins = <
      MX6QDL_PAD_EIM_D26__UART2_TX_DATA 0x1b0b1
      MX6QDL_PAD_EIM_D27__UART2_RX_DATA 0x1b0b1
      MX6QDL_PAD_EIM_D29__UART2_RTS_B 0x1b0b1
      MX6QDL_PAD_EIM_D28__UART2_CTS_B 0x1b0b1
      >;
}

 

&uart2 {
   pintctrl-names = "default";
   pinctrl-0 = <&pinctrl_uart2>;
   fsl,uart-has-rtscts;
   fsl,dte-mode;
   status = "okay";
};

 

when i boot i see the serial driver registers the ttymxc1 port.

 

From linux, i can see /dev/ttymxc1

However any attempt to write to it (echo -ne 'ASDFG' > /dev/ttymxc1) doesn't result in anything. 

I have connected oscilloscope to RTS/CTS/RX/TX pins and nothing happens when i try writing to the ttymxc1 port, they just stay in 'high' state.

 

I have repeated steps above with following configuration (without any flow control) as well, but i get same results

pinctrl_uart2: uart2grp {
   fsl,pins = <
      MX6QDL_PAD_EIM_D26__UART2_TX_DATA 0x1b0b1
      MX6QDL_PAD_EIM_D27__UART2_RX_DATA 0x1b0b1
      >;
}

 

&uart2 {
   pintctrl-names = "default";
   pinctrl-0 = <&pinctrl_uart2>;
   status = "okay";
};

 

From the questions i have already browsed here, people seem to have a problem with CTS/RTS lines swapped, but since i've disabled them it shouldn't make any difference. 

 

I feel like i probably missed some serial port configuration step in Linux, any pointers ?

 

Thanks !

Outcomes