How to enable FIFO on ns16550A

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

How to enable FIFO on ns16550A

Jump to solution
3,950 Views
liguangyu02
Contributor II

I'm using DUART on LS1043 to communicate with other device with 1M baudrate. However, data lost was noticed in rx direction when 1043 is busy. As the data is 22 bytes per frame and there is enough time between frames. I guess the 64 byte FIFO mentioned in RM doesn't take effect.

Bellow is the dts setting, it's the same as in LSDK2012.

duart3: serial@21d0600 {
compatible = "fsl,ns16550", "ns16550a";
reg = <0x0 0x21d0600 0x0 0x100>;
interrupts = <0 55 0x4>;
clocks = <&clockgen 4 0>;
};

Would you pelase NXP export help me on usage of the 64 Bytes FIFO?

Thanks and Best Regards!

0 Kudos
Reply
1 Solution
3,902 Views
yipingwang
NXP TechSupport
NXP TechSupport

64 Byte FIFO is supported by LS1043A.

Customer can use this

View solution in original post

0 Kudos
Reply
3 Replies
3,938 Views
yipingwang
NXP TechSupport
NXP TechSupport

FIFO is enabled for uart in linux only if compatible string is "ns16550a" in dts file.

0 Kudos
Reply
3,920 Views
liguangyu02
Contributor II

Hi Yiping,

I have checked that the FIFO has been enabled with default configuration. However, it's 16 bytes FIFO by default. I check the RM and saw 64-byte FIFOs is support. But there are some conflicted information in LS1043ARM (REV.6 07/2020):

In 1.4.7 DUART description, it's said 16-byte FIFOs are supported.

in 20.2.1 DUART feature description, it's said "providing 64-byte FIFOs".

So my question is, it's it safe to use 64-byte FIFOs in our product?

Here is my modification to enabled 64-byte FIFOs and have verified on one of our costomer board.

Please help to check if it's ok for mass production.

liguangyu02_1-1639015655673.png

Thanks!

Guangyu

0 Kudos
Reply
3,903 Views
yipingwang
NXP TechSupport
NXP TechSupport

64 Byte FIFO is supported by LS1043A.

Customer can use this

0 Kudos
Reply