Thanks Tomek! Here's the backup link for the article (since Codeberg is
down): https://lupyuen.github.io/articles/plic

I found out (from Hacker News) that JH7110 uses a Synopsys DesignWare 8250
UART that has a peculiar problem with the Line Control Register (LCR)... If
we write to LCR while the UART is busy, it will trigger spurious UART
Interrupts.

The fix is to wait for the UART to be not busy before writing to LCR.
Here's my proposed patch for the NuttX 16550 UART Driver
(drivers/serial/uart_16550.c):
https://github.com/lupyuen2/wip-pinephone-nuttx/pull/36/files#diff-f208234edbfb636de240a0fef1c85f9cecb37876d5bc91ffb759f70a1e96b1d1

We're all ready to merge NuttX for JH7110! :-)

Lup

On Wed, Aug 2, 2023 at 7:19 AM Tomek CEDRO <to...@cedro.info> wrote:

> On Wed, Aug 2, 2023 at 1:14 AM Lee, Lup Yuen  wrote:
> > NuttX on Star64 JH7110 RISC-V SBC is almost ready! But we're stuck with
> > 16550 UART Controller firing too many Spurious Interrupts.
>
> Good luck Lup! IRQ storm is (was?) known problem on a desktop machines
> too! I hope you fight that beast soon :-) :-)
>
> --
> CeDeROM, SQ7MHZ, http://www.tomek.cedro.info
>

Reply via email to