I have a technical question on the new Colibri imx8 pinout of X1 connector, actually it’s more confusion
With imx6, imx6ULL, imx7,…etc the UART convention on TX and RX pins at the X1 connector level were consistent, they were flipped, but at least consistent. Now on the imx8 looks like the flip between Tx Rx has been removed and hence there seems to be an incompatibility, at least on “paper” See table below to better understand what I am talking about:
X1 Pin X1 name imx6 Pin/Ball imx8 Pin/Ball
19 UART_C RXD uart5.TX UART2_RX
21 UART_C TXD uart5.RX UART2_TX
33 UART_A RXD uart1.TX UART3_RX
35 UART_A TXD uart1.RX UART3_TX
36 UART_B RXD uart2.TX UART0_RX
38 UART_B TXD uart2.RX UART0_TX
Personally I have not been trusting the X1 name, and go directly to the processor UART peripheral to check for Tx or Rx pin function.
Based upon this there is discrepancy.
Please have a look here.
So the i.MX 6 has an UART which can do both DCE and DTE mode. The i.MX 6 pin TX is input, RX is output regardless of what mode is set, i.e. they got their name from the DCE mode.
The i.MX 8X has a different UART IP which works in DTE mode only. The i.MX 8 pin TX is output, RX is input.
The X1 SODIMM names also use DTE mode, so the X1 TX pin is output, RX is input.
Hope that clarifies the confusion.
With regard to the information above for the i.MX6:
Are the RTS and CTS also named with respect to DCE mode? For example, RTS is an output in DTE mode, but input in DCE mode. According to what you’re saying above, I would expect that the pin labels in the datasheet for RTS and CTS is with DCE mode set. Therefore, if I were using DTE mode, pin 34 is CTS and pin 32 is RTS. Is that correct, or does the swap only apply to RX and TX???
Sorry for the delayed answer.
Which UART Output especially are you talking about?
Colibri SOM UART B (Pins 32, 34, 36, 38) is the UART peripheral that I am referring to here.
According the Section 5.11 UART of the datasheet of Colibri iMX6 only RX and TX needs to be swapped.
The datasheet states that all pins are presented are in DTE mode. If that’s the case, then the information in the table should already be showing RX and TX as swapped. Isn’t it as shown in the image below? pin 36 is an input and receiving data and pin 38 is an output and is transmitting data?
Isn’t it as shown in the image below?
The colums ‘Colibri Signal Name’, ‘I/O’, and ‘Description’ all describe the pin’s function. I.e. the UART signals in DTE mode.
So pin 34 and 38 both are outputs, the module is providing these signals to the carrier board,
pin 32 and 36 are inputs, the carrier board provides these signals to the module.
pin 36 is an input and receiving data and pin 38 is an output and is transmitting data?
Please also consult the schematic of e.g. the Colibri Evaluation Board. The RS232 transceiver gives a clear indication on the data direction.