ns16550 RX port clear on configure is causing SLVERR on DesignWare instance #73876
texas-chris
started this conversation in
RFC
Replies: 0 comments
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Uh oh!
There was an error while loading. Please reload this page.
-
The current ns16550 attempts to clear the RX port in the
uart_ns16550_configure
function. On Synopsys DesignWare IP that has the PSLVERR_RESP_EN parameter enabled, if the RX FIFO is empty and a read is performed a SLVERR will be generated. This assumes no data arrives before the register read/write timeout occurs. On ARM this generates a 'Data Abort' and halts the OS from booting.Is there any reason this isn't wrapped with a check LSR bit RXRDY? This would eliminate the potential SLVERR and also drain the entire RXFIFO, instead of just one byte.
Thoughts?
Potential fix:
Beta Was this translation helpful? Give feedback.
All reactions