I’m hoping someone can help explain something about the i.MX6 pinmux for me.
We have a project where we trying to use the following configuration for UART5:
UART5 TXD --> pad KEY_COL1 (ALT4)
UART5 RXD --> pad KEY_ROW1 (ALT4)
These both are involved in Daisy Chain, which is where things get a bit confusing.
Pad Mux Register IOMUXC_SW_MUX_CTL_PAD_KEY_COL1, and Pad Mux Register IOMUXC_SW_MUX_CTL_PAD_KEY_ROW1 contain a note saying to configure IOMUXC_UART5_UART_RX_DATA_SELECT_INPUT for mode ALT4.
The options for IOMUXC_UART5_UART_RX_DATA_SELECT_INPUT are:
- 00 KEY_COL1_ALT4 – Selecting ALT4 mode of pad KEY_COL1 for UART5_TX_DATA
- 01 KEY_ROW1_ALT4 – Selecting ALT4 mode of pad KEY_ROW1 for UART5_RX_DATA
- 10 CSI0_DATA14_ALT3 – Selecting ALT3 mode of pad CSI0_DAT14 for UART5_TX_DATA
- 11 CSI0_DATA15_ALT3 – Selecting ALT3 mode of pad CSI0_DAT15 for UART5_RX_DATA
The daisy config options appear to be in conflict with each other. I can only set one value, but appear to need to set two conflicting values to match the pinmux configuration.
There does not appear to be a daisy chain register for the TX signal, only for the RX signal (and the RTS signal).
How can I configure these properly.
I am using the QNX RTOS, not Linux. We have a BSP that was based on the QNX BSP for the Sabre Smart Devices board. I've seen some comments suggesting that there are/were mistakes in the Linux BSP definitions for the mux configurations, it is highlypossible that the original QNX BSP was ported from the Linux BSP and would have duplicated the same mistakes.