nuttx/arch/arm/src/rtl8730e
dechao_gong ec7ee53f6f arch/arm/rtl8730e: add UART character driver support
Expose the RTL8730E general-purpose UARTs through the shared Ameba
serial driver (arch/arm/src/common/ameba/ameba_uart.c) by adding the
chip-specific glue, build wiring and a board port table.  The change is
gated by CONFIG_AMEBA_UART (default disabled); the LOG-UART keeps the
console and /dev/ttyS0.

Chip glue (ameba_uart_chip.h) supplies the three UART controller
register bases, GIC IRQ numbers (SPI 50/51/52 -> NuttX IRQ 82/83/84),
APB clock masks and pin-mux codes.  The board registers UART0-2 as
/dev/ttyS1-3 at 115200 8N1; UART3 is reserved for Bluetooth.  Pads are
picked from the EVB break-out (the UART crossbar maps each controller to
many pads, so this is purely a board choice).

Also fix an RX-timeout interrupt storm in the shared driver: the
RX-timeout status (LSR bit9) is latched and is not cleared by draining
the RX FIFO, so on a level-triggered GIC (RTL8730E) the ISR must
explicitly write TOICF, matching the vendor SDK serial_api.c.  The
extra register write is harmless on the NVIC-based M33 Ameba parts and
was regression-tested on them.

Signed-off-by: dechao_gong <dechao_gong@realsil.com.cn>
Assisted-by: Claude <noreply@anthropic.com>
2026-09-24 21:24:35 +08:00
..
hardware arch/arm/ameba: fix nxstyle and cmake-format issues in RTL8730E port 2026-09-21 18:43:22 +08:00
ameba_board.mk arch/arm/rtl8730e: add UART character driver support 2026-09-24 21:24:35 +08:00
ameba_gpio_chip.h arch/arm/ameba: add GPIO driver for RTL8730E (AmebaSmart CA32) 2026-09-22 09:18:16 -03:00
ameba_uart_chip.h arch/arm/rtl8730e: add UART character driver support 2026-09-24 21:24:35 +08:00
chip.h
CMakeLists.txt arch/arm/rtl8730e: add UART character driver support 2026-09-24 21:24:35 +08:00
Kconfig arch/arm/ameba: add GPIO driver for RTL8730E (AmebaSmart CA32) 2026-09-22 09:18:16 -03:00
Make.defs arch/arm/rtl8730e: add UART character driver support 2026-09-24 21:24:35 +08:00
rtl8730e_allocateheap.c
rtl8730e_boot.c
rtl8730e_cpuboot.c
rtl8730e_flash_stubs.c arch/arm/ameba: add GPIO driver for RTL8730E (AmebaSmart CA32) 2026-09-22 09:18:16 -03:00
rtl8730e_idle.c
rtl8730e_irq.c
rtl8730e_irq.h
rtl8730e_memorymap.c
rtl8730e_memorymap.h arch/arm/ameba: fix nxstyle and cmake-format issues in RTL8730E port 2026-09-21 18:43:22 +08:00
rtl8730e_pgalloc.c
rtl8730e_serial.c arch/arm/ameba: fix nxstyle and cmake-format issues in RTL8730E port 2026-09-21 18:43:22 +08:00
rtl8730e_timer.c
rtl8730e_userspace.c
rtl8730e_userspace.h
rtl8730e_wifi_init.c
rtl8730e_wifi_stubs.c arch/arm/ameba: fix nxstyle and cmake-format issues in RTL8730E port 2026-09-21 18:43:22 +08:00