UART DTE Mode is not working

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

UART DTE Mode is not working

1,568 Views
sanketparekh
Contributor II

Hi,

We are working on the IMX6DL processor to bring up one of the UART interfaces in DTE mode. (As the UART TX/RX was reversed by mistake in our hardware, basically we want to have EIM_D24 ==> RX and EIM_D25 ==> processor's TX).

We have done the following device tree configuration.

Device Tree node details:

pinctrl_uart3: uart3grp {
 fsl,pins = <
 MX6QDL_PAD_EIM_D25__UART3_RX_DATA 0x1b0b1
 MX6QDL_PAD_EIM_D24__UART3_TX_DATA 0x1b0b1
 >;
 };

&uart3 {
 pinctrl-names = "default";
 pinctrl-0 = <&pinctrl_uart3>;
 fsl,dte-mode;
 status = "okay";
};

We have taken reference from the following UART configuration registers.

Debugging further I have also checked the UART3_UFCR register for DTE mode configuration.

UART3_UFCR results:

root@mainboard-sbs:~# devmem2 0x21EC090
/dev/mem opened.
Memory mapped at address 0x76f85000.
Read at address 0x021EC090 (0x76f85090): 0x00002349 

The above register configuration looks proper according to the datasheet.

We have gone through this link reference as well: https://community.nxp.com/docs/DOC-97509 However this does not seem working for us.

1) Kindly help us to understand where we are missing anything.

2) Please correct our device tree settings if we have made any mistake in device tree pinmux configuration in the above device tree.

Regards.

Labels (1)
Tags (3)
0 Kudos
4 Replies

1,393 Views
sanketparekh
Contributor II

Gentle Reminder.

0 Kudos

1,394 Views
igorpadykov
NXP Employee
NXP Employee

please test using baremetal uart example, it will help to narrow down issue

rt-thread/bsp/imx6sx/iMX6_Platform_SDK/sdk/drivers/uart at master · RT-Thread/rt-thread · GitHub 

 

Best regards
igor

0 Kudos

1,394 Views
sanketparekh
Contributor II

Hi,

I have configured the UART DTE mode.

Below is the configuration of the UART in DTE mode.

Device Tree node details:

 

pinctrl_uart3: uart3grp {
fsl,pins = <
MX6QDL_PAD_EIM_D25__UART3_RX_DATA 0x1b0b1
MX6QDL_PAD_EIM_D24__UART3_TX_DATA 0x1b0b1
>;
};

&uart3 {
pinctrl-names = "default";
pinctrl-0 = <&pinctrl_uart3>;
fsl,dte-mode;
status = "okay";
};

I have written one application, that sends the 10 bytes of data on the UART.

I have observed the same behavior using CRO.

So, At the same time, the data is transmitted from both the pins(i.e. RX and TX).

Is the above-observed behavior is correct for UART DTE mode?

1) Kindly help us to understand where we are missing anything.

2) Please correct our device tree settings if we have made any mistake in device tree pinmux configuration in the above device tree.

 

Regards.

0 Kudos

1,394 Views
igorpadykov
NXP Employee
NXP Employee

Hi Sanket

first may be useful to check uart signals usage in

Table 86. UART I/O Configuration vs. Mode i.MX 6Solo/6DualLite Applications Processors for Consumer Products

then test it using baremetal uart example

rt-thread/bsp/imx6sx/iMX6_Platform_SDK/sdk/drivers/uart at master · RT-Thread/rt-thread · GitHub 

Best regards
igor
-----------------------------------------------------------------------------------------------------------------------
Note: If this post answers your question, please click the Correct Answer button. Thank you!
-----------------------------------------------------------------------------------------------------------------------

0 Kudos