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
-
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