LS1046A - Random hangs in Linux when UART is unconnected

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

LS1046A - Random hangs in Linux when UART is unconnected

754 Views
ferdinandgrossm
Contributor III

Hello everyone,

we're developing a CPU board for one of our customers based on the LS1046A. We use UART1 as the primary system console in U-Boot and Linux and have an FTDI FT234XD (Full Speed USB to Basic UART, powered over USB) on board.

This has worked pretty good so far, but our customer has one board where Linux randomly hangs when changing the Linux runlevel and USB is not connected to the FTDI.

I've tested this to the point that I'm pretty sure that the issue occurs not when the UART1_SIN signal is high (3.3V from either on-board or off-board FTDI) before the CPU is powered up.
When connecting the signal directly to ground or to the CPU 3.3V the system randomly hangs.

Does anyone have an idea on what might cause this strange effect and how to prevent it?

Thanks!

Regards
Ferdinand

Labels (1)
0 Kudos
3 Replies

738 Views
bpe
NXP Employee
NXP Employee

AN5252 Table 10 requires that UART1_SIN is pulled to DVdd via a 2..10 kOhm resistor. The pin may have undocumented functionality for Factory testing.  Follow the Design Checklist recommendations to avoid unexpected behaviour.

 

Have a great day

Platon

0 Kudos

733 Views
ferdinandgrossm
Contributor III

Hello Platon,

thanks for the info.

Looking at AN5252 one can see that the pull-up is only mentioned in case the pin is not used. So technically we are following the recommendations from the design checklist.

Regardless, I experienced the issue even with a pull-up resistor on the signal.

Regards,
Ferdinand

0 Kudos

710 Views
ferdinandgrossm
Contributor III

Hello,

I actually spoke too soon - a simple pull-up connected to the CPU I/O voltage rail remedies the issue.

In the register description I found the bits to clear the FIFOs but nothing to clear/reset the shift register. Is there a way to completely reset the UART module or the I/O registers?

Thanks

Regards
Ferdinand

0 Kudos