UART2 in i.MX8M Plus using DCE/DTE pin can not cross RX / TX as input or output.

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

UART2 in i.MX8M Plus using DCE/DTE pin can not cross RX / TX as input or output.

Jump to solution
2,690 Views
Charlie_Owz
Contributor II

Hi good morning Community,

 

We have UART2 multiplexed to the SAI3 pins. Pinmux tool allows to have SAI3_TXC as RX (input) and SAI3_TXFS as TX (output).

 

Charlie_Owz_0-1631521624004.png

 

 

Charlie_Owz_1-1631521623997.png

 

 

When we try the different configuration options, it always uses SAI3_TXC as output.

 

We have crossed externally the signals and it works with the configuration:

MX8MP_IOMUXC_SAI3_TXC__UART2_DCE_TX        0x00000140

MX8MP_IOMUXC_SAI3_TXFS__UART2_DCE_RX       0x00000140

 

But we are not able to configure it to use SAI3_TXC as RX (input) and SAI3_TXFS as TX (output).

 

Charlie_Owz_2-1631521624021.png

 

 

Charlie_Owz_3-1631521624033.png

 

Is it possible to use the configuration we have in the pinmux? Using SAI3_TXC as input and SAI3_TXFS as output? From the pinmux we understand that yes, from the reference manual we understand that no, but maybe we are missing something...

 

The options we have to configure are:

1: 

#define MX8MP_IOMUXC_SAI3_TXC__UART2_DCE_TX 0x1C8 0x428 0x000 0x4 0x0 

#define MX8MP_IOMUXC_SAI3_TXFS__UART2_DCE_RX 0x1C4 0x424 0x5F0 0x4 0x4 

2:

#define MX8MP_IOMUXC_SAI3_TXC__UART2_DTE_RX 0x1C8 0x428 0x5F0 0x4 0x5

#define MX8MP_IOMUXC_SAI3_TXFS__UART2_DTE_TX 0x1C4 0x424 0x000 0x4 0x0 

 

Many thanks in advance!

Labels (1)
0 Kudos
Reply
1 Solution
2,685 Views
BiyongSUN
NXP Employee
NXP Employee

where is the reference manual say no for dte/dce swap?

无标题1.png

 

everything you need is already there. 

lf-5.10.35-2.0.0 as example

 

1. the pin has definition and the definition already includes the  daisy input

linux/arch/arm64/boot/dts/freescale/imx8mp-pinfunc.h

 

无标题.png

2. the binding guide for uart 

linux/Documentation/devicetree/bindings/serial/fsl-imx-uart.yaml

  fsl,dte-mode:
    $ref: /schemas/types.yaml#/definitions/flag
    description: |
      Indicate the uart works in DTE mode. The uart works in DCE mode by default.

 

View solution in original post

2 Replies
2,686 Views
BiyongSUN
NXP Employee
NXP Employee

where is the reference manual say no for dte/dce swap?

无标题1.png

 

everything you need is already there. 

lf-5.10.35-2.0.0 as example

 

1. the pin has definition and the definition already includes the  daisy input

linux/arch/arm64/boot/dts/freescale/imx8mp-pinfunc.h

 

无标题.png

2. the binding guide for uart 

linux/Documentation/devicetree/bindings/serial/fsl-imx-uart.yaml

  fsl,dte-mode:
    $ref: /schemas/types.yaml#/definitions/flag
    description: |
      Indicate the uart works in DTE mode. The uart works in DCE mode by default.

 

2,651 Views
Charlie_Owz
Contributor II

That's right!

We misunderstood that part:

fsl,dte-mode:

 

Thanks again for your quick answer and your help!

0 Kudos
Reply