i.mx6: question

cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

i.mx6: question

Jump to solution
2,033 Views
jfsimon
Contributor III

Hi,

On our i.mx6DL based design, we have the following IOMUX settings for UART2:

UART2_RX ----> goes to PAD SD4_DAT4

UART2_TX ----> goes to PAD SD4_DAT7

The routing from signal to pad is easy...just set the following MUX registers:

37.3.208 Pad Mux Register (IOMUXC_SW_MUX_CTL_PAD_SD4_DATA4)  ---> ALT2

and

37.3.211 Pad Mux Register (IOMUXC_SW_MUX_CTL_PAD_SD4_DATA7) --->. ALT2

So far so good.

Now, since these two signals  (UART2_RX and UART2_TX) can be driven by different PADs, we need to use a select input register. The problem is that there is a UNIQUE input register for the two signals. Specifically:

IOMUXC_UART2_UART_RX_DATA_SELECT_INPUT (section 37.3.572 in the user manual)   (See picture)

So how can we correctly select the input for these two signals?

Thanks a lot

-jf simon

0 Kudos
1 Solution
971 Views
YS
Contributor IV

Refer to iMX6 Reference Manual 35.2.3 "Daisy Chain". IOMUX_INPUT register is used to select a particular source for a function module input. In this case, RXD of UART2. It is confusing that IOMUX_INPUT provides selection to choose TXD as input source. This is only used for loop-back test. So in your case, configure 110 to select SD4_DAT4 as UART2 RXD input will work fine.

It is more confusing for RTS/CTS, because iMX6 (and iMX5) defines RTS as input and CTS as output, which is usually used in opposite way (in fact iMX28 defines RTS as output, CTS as input).

View solution in original post

0 Kudos
2 Replies
972 Views
YS
Contributor IV

Refer to iMX6 Reference Manual 35.2.3 "Daisy Chain". IOMUX_INPUT register is used to select a particular source for a function module input. In this case, RXD of UART2. It is confusing that IOMUX_INPUT provides selection to choose TXD as input source. This is only used for loop-back test. So in your case, configure 110 to select SD4_DAT4 as UART2 RXD input will work fine.

It is more confusing for RTS/CTS, because iMX6 (and iMX5) defines RTS as input and CTS as output, which is usually used in opposite way (in fact iMX28 defines RTS as output, CTS as input).

0 Kudos
971 Views
jfsimon
Contributor III

Hi Yuji,

Thanks a lot for y answer

-jfs

0 Kudos