Star64 JH7110 and NuttX RTOS: RISC-V PLIC Interrupts and Serial I/O
lupyuen.codeberg.page
lupyuen.codeberg.page
When trying to write the UART's LCR (line control register) when the UART is busy, a BUSY interrupt is generated. If this is not handled, the UART will continue to generate an interrupt storm.
The Allwinner D1 RISC V SoC (and several other ARM-based Allwinner chip) also uses the DesignWare UART and suffers from the same problem.
See the Linux driver source for a workaround:
https://elixir.bootlin.com/linux/latest/source/drivers/tty/s...
I'm sorry that Codeberg is having problems, here's the backup link for the article: https://lupyuen.github.io/articles/plic