Unexpected UART_RTS_B interrupt on i.MX6UL

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

Unexpected UART_RTS_B interrupt on i.MX6UL

Jump to solution
736 Views
yuuki
Senior Contributor II

Dear all,

We have a problem that RTS_B interrupt occurs though UART6 is not used.

CPU is i.MX6UL.

BSP is L3.14.52_1.1.0-ga

In IOMUX, the UART6_RTS_B signal is assigned to CSI_VSYNC pin(ALT8) and ENET1_TX_EN pin(ALT1).

However, CSI_VSYNC pin is used as ALT1:USDHC2_CLK and ENET_TX_EN pin is used as ALT0:ENET_TX_EN.

<Register Seting>

- IOMUXC_SW_MUX_CTL_PAD_ENET1_TX_EN 0x020E00D8  0x00000000

- IOMUXC_SW_MUX_CTL_PAD_CSI_VSYNC   0x020E01DC  0x00000001

When a clock is input into CSI_VSINC pin, an interrupt of UART_RTS_B occurs.

It seems that a signal from CSI_VSYNC pin is entered in RTS of UART port.

IOMUXC_UART6_RTS_B_SELECT_INPUT register remains a default value

(0x00000000 :CSI_VSYNC_ALT8 => UART6_RTS_B)

Would you tell me the method to disable RTS_B interrupt?

Best Regards,

Yuuki

Labels (1)
0 Kudos
1 Solution
531 Views
gusarambula
NXP TechSupport
NXP TechSupport

Hello Yuuki,

My apologized for the delay. Internal architecture do require you to disable the RTSDEN bit in order to avoid an interrupt input on this pin.

Regards,

View solution in original post

0 Kudos
3 Replies
531 Views
gusarambula
NXP TechSupport
NXP TechSupport

Hello Yuuki,

Are you still having this issue?

I would recommend looking for more instances on the Device Tree where there could be a conflict on the function of the pin. Especially make sure that the UART module status is set to disable since it won’t be used.

Regards,

0 Kudos
531 Views
yuuki
Senior Contributor II

Dear gusarambula-san,

Thank you for your response.

We still have this problem

I'm sorry, We use UART6. However, We do not use RTS and CTS function.

Now, the RTSDEN bit of the UART6_UCR1 register is set in "1: RTS Delta Interrupt Enable".

In Linux BSP "drivers/tty/serial/imx.c" , this is set by default. (We do not make any modifications.)

According to the explanation of RTSDEN bit, "The current status of the RTS_B pin is read in the RTSS bit."

When the register setting related to the RTS_B pin is as follows,

Is a status of CSI_VSYNC pin read as a RTS_B status ?

<Register setting related to the RTS_B pin>

- The IOMUXC_UART6_RTS_B_SELECT_INPUT register is a default state, too

   00:CSI_VSYNC_ALT8

- And, the IOMUXC_SW_MUX_CTL_PAD_CSI_VSYNC register is set in ALT1:USDHC_CLK

   The CSI_VSYNC pad is assigned to USDHC_CLK.

UART6_RTS_B.png

In order to avoid unexpected UART_RTS_B interrupt, should RTSDEN bit be set to Disable?

May I have advice?

Best Regards,

Yuuki

0 Kudos
532 Views
gusarambula
NXP TechSupport
NXP TechSupport

Hello Yuuki,

My apologized for the delay. Internal architecture do require you to disable the RTSDEN bit in order to avoid an interrupt input on this pin.

Regards,

0 Kudos