nuttx/drivers/serial
Lee Lup Yuen b2c1930825 serial/uart_16550: Wait before setting Line Control Register (Synopsys DesignWare 8250)
Some UART Controllers (Synopsys DesignWare 8250) will trigger spurious interrupts when the Line Control Register (LCR) is set while the UART is busy. This patch provides the option (16550_WAIT_LCR) to wait for UART until it's not busy, before setting the LCR. (16550_WAIT_LCR is disabled by default)

This patch fixes the spurious UART interrupts for the upcoming port of NuttX to StarFive JH7110 SoC (with Synopsys DesignWare 8250 UART). [The patch is explained here](https://lupyuen.github.io/articles/plic#appendix-fix-the-spurious-uart-interrupts)

drivers/serial/uart_16550.c: If 16550_WAIT_LCR is enabled, wait until UART is not busy before setting LCR

include/nuttx/serial/uart_16550.h: Define the UART Status Register (USR) for checking if UART is busy

drivers/serial/Kconfig-16550: Added option 16550_WAIT_LCR to 16550 UART Config, disabled by default
2023-08-03 08:38:07 +02:00
..
CMakeLists.txt build: add initial cmake build system 2023-07-08 13:50:48 +08:00
Kconfig Kconfig: Simplify the conditional default statement 2023-07-16 14:39:20 -03:00
Kconfig-16550 serial/uart_16550: Wait before setting Line Control Register (Synopsys DesignWare 8250) 2023-08-03 08:38:07 +02:00
Kconfig-lpuart Add initial support for NXP S32K3 MCU family 2022-07-25 23:47:05 +08:00
Kconfig-pl011 arch/arm64: merge serial_pl011.c and qemu_serial.c 2023-05-10 09:06:59 +02:00
Kconfig-sci
Kconfig-uart
Kconfig-usart
Make.defs arch/arm64: merge serial_pl011.c and qemu_serial.c 2023-05-10 09:06:59 +02:00
ptmx.c drivers/ptmx: Fix a potential buffer overflow 2023-06-09 19:41:11 +03:00
pty.c drivers/serial/pty.c: Fix coverity issue 2023-05-17 07:44:26 +02:00
pty.h Replace nxsem API when used as a lock with nxmutex API 2022-10-17 15:59:46 +09:00
serial_dma.c tty:support tty c_cc VMIN & VTIME 2023-04-29 13:48:52 +08:00
serial_io.c tty:support tty c_cc VMIN & VTIME 2023-04-29 13:48:52 +08:00
serial_pl011.c arch/arm64: merge serial_pl011.c and qemu_serial.c 2023-05-10 09:06:59 +02:00
serial.c serial: Simplify the echo process 2023-08-01 15:59:28 -03:00
uart_16550.c serial/uart_16550: Wait before setting Line Control Register (Synopsys DesignWare 8250) 2023-08-03 08:38:07 +02:00
uart_bth4.c fs: Move mmap callback before truncate in [file|mountpt]_operations 2023-01-04 17:43:59 +02:00
uart_rpmsg.c Replace all sprintf with snprintf 2023-05-08 09:57:01 +02:00