nuttx/boards/arm
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
..
a1x/pcduino-a10 arch/arm: Reserve r10 via ARCHCFLAGS and hoist the PIC module flags. 2026-07-24 23:09:08 +08:00
am67/t3-gem-o1 boards/arm/am67/t3-gem-o1: Add netnsh configuration. 2026-09-21 10:40:13 -03:00
am335x boards/arm: Add support for the original BeagleBone 2026-08-19 10:11:38 +08:00
at32/at32f437-mini net/netdev: Combine the per-command CAN ioctl options into NETDEV_CAN_IOCTL 2026-09-01 17:40:47 +08:00
c5471/c5471evm arch/arm: Reserve r10 via ARCHCFLAGS and hoist the PIC module flags. 2026-07-24 23:09:08 +08:00
common/stm32 arch/arm/stm32f7: use common Kconfig symbols 2026-08-18 09:34:58 +08:00
csk6 arch/arm: Reserve r10 via ARCHCFLAGS and hoist the PIC module flags. 2026-07-24 23:09:08 +08:00
cxd56xx cmake: Use NUTTX(_DIR/_BIN_DIR) instead CMAKE(_SRC_DIR/_BIN_DIR) 2026-08-09 11:13:08 -03:00
dm320/ntosd-dm320 !arch/arm: Use r9 as the PIC base register. 2026-08-06 01:38:23 +08:00
efm32 arch/arm: Reserve r10 via ARCHCFLAGS and hoist the PIC module flags. 2026-07-24 23:09:08 +08:00
eoss3/quickfeather arch/arm: Reserve r10 via ARCHCFLAGS and hoist the PIC module flags. 2026-07-24 23:09:08 +08:00
fvp-v8r-aarch32/fvp-armv8r-aarch32 arch/arm: Reserve r10 via ARCHCFLAGS and hoist the PIC module flags. 2026-07-24 23:09:08 +08:00
gd32f4 arch/arm: Reserve r10 via ARCHCFLAGS and hoist the PIC module flags. 2026-07-24 23:09:08 +08:00
ht32f491x3/esk32 arch/arm: Reserve r10 via ARCHCFLAGS and hoist the PIC module flags. 2026-07-24 23:09:08 +08:00
imx6/sabre-6quad boards/qemu: enable line-buffered NTFC writes 2026-09-14 23:48:49 +08:00
imx9 net: move rx timestamp from d_rxtime to iob_s.io_time 2026-09-18 20:00:49 +08:00
imxrt boards/arm/imxrt: add the Holybro Pixhawk 6X-RT 2026-09-23 18:51:23 -03:00
kinetis arch/arm: Reserve r10 via ARCHCFLAGS and hoist the PIC module flags. 2026-07-24 23:09:08 +08:00
kl arch/arm: Reserve r10 via ARCHCFLAGS and hoist the PIC module flags. 2026-07-24 23:09:08 +08:00
lc823450/lc823450-xgevk arch/arm: Reserve r10 via ARCHCFLAGS and hoist the PIC module flags. 2026-07-24 23:09:08 +08:00
lpc17xx_40xx !arch/arm: Use r9 as the PIC base register. 2026-08-06 01:38:23 +08:00
lpc31xx !arch/arm: Use r9 as the PIC base register. 2026-08-06 01:38:23 +08:00
lpc43xx arch/arm: Reserve r10 via ARCHCFLAGS and hoist the PIC module flags. 2026-07-24 23:09:08 +08:00
lpc54xx/lpcxpresso-lpc54628 arch/arm: Reserve r10 via ARCHCFLAGS and hoist the PIC module flags. 2026-07-24 23:09:08 +08:00
lpc214x arch/arm: Reserve r10 via ARCHCFLAGS and hoist the PIC module flags. 2026-07-24 23:09:08 +08:00
lpc2378/olimex-lpc2378 arch/arm: Reserve r10 via ARCHCFLAGS and hoist the PIC module flags. 2026-07-24 23:09:08 +08:00
max326xx/max32660-evsys arch/arm: Reserve r10 via ARCHCFLAGS and hoist the PIC module flags. 2026-07-24 23:09:08 +08:00
mcx-nxxx/frdm-mcxn236 arch/arm: Reserve r10 via ARCHCFLAGS and hoist the PIC module flags. 2026-07-24 23:09:08 +08:00
moxart/moxa !arch/arm: Use r9 as the PIC base register. 2026-08-06 01:38:23 +08:00
mps libs/libc/elf, binfmt: Describe the GOT by base and size, not by index. 2026-09-08 16:31:16 -03:00
mx8mp/verdin-mx8mp arch/arm: Reserve r10 via ARCHCFLAGS and hoist the PIC module flags. 2026-07-24 23:09:08 +08:00
n32h7/n32h762iil7 arch/arm/n32h7: Add N32H762IIL7 BSP 2026-09-17 09:39:41 -03:00
nrf52 arch/arm: Reserve r10 via ARCHCFLAGS and hoist the PIC module flags. 2026-07-24 23:09:08 +08:00
nrf53 boards/nrf5340-dk: read the button being scanned, not BTN1 2026-08-30 10:43:20 +08:00
nrf91 boards/thingy91: add rgb led support 2026-09-24 09:59:04 +02:00
nuc1xx/nutiny-nuc120 arch/arm: Reserve r10 via ARCHCFLAGS and hoist the PIC module flags. 2026-07-24 23:09:08 +08:00
phy62xx/phy6222 arch/arm: Reserve r10 via ARCHCFLAGS and hoist the PIC module flags. 2026-07-24 23:09:08 +08:00
qemu boards/arm/qemu-armv7a: switch all nsh defconfigs to nxinit entrypoint 2026-09-02 09:14:00 +08:00
ra4 arch/arm: Reserve r10 via ARCHCFLAGS and hoist the PIC module flags. 2026-07-24 23:09:08 +08:00
rp23xx cmake: Use NUTTX(_DIR/_BIN_DIR) instead CMAKE(_SRC_DIR/_BIN_DIR) 2026-08-09 11:13:08 -03:00
rp2040 boards/rp2040: switch waveshare nsh/usbnsh configs to nxinit entrypoint 2026-09-18 08:47:09 -03:00
rtl8720f/rtl8720f_evb arch/arm/rtl8720f: add timer driver support 2026-09-01 17:41:14 +08:00
rtl8721dx/pke8721daf arch/arm/rtl8721dx: add shared Ameba timer driver 2026-09-01 17:41:14 +08:00
rtl8721f/rtl8721f_evb arch/arm/rtl8721f: add timer driver support 2026-09-01 17:41:14 +08:00
rtl8730e/rtl8730e_evb arch/arm/rtl8730e: add UART character driver support 2026-09-24 21:24:35 +08:00
s32k1xx arch/arm: Reserve r10 via ARCHCFLAGS and hoist the PIC module flags. 2026-07-24 23:09:08 +08:00
s32k3xx !arch/arm: Use r9 as the PIC base register. 2026-08-06 01:38:23 +08:00
sam34 !arch/arm: Use r9 as the PIC base register. 2026-08-06 01:38:23 +08:00
sama5 arch, boards, cmake: Build C++ ELF modules without __cxa_atexit. 2026-09-04 15:44:24 -03:00
samd2l2 arch/arm: Reserve r10 via ARCHCFLAGS and hoist the PIC module flags. 2026-07-24 23:09:08 +08:00
samd5e5 boards: fix mtd_partition() argument units in flash partition loops 2026-09-01 09:14:34 +08:00
samv7 boards/arm/samv7/same70-qmtech: disable FAT LFN in mcuboot-loader 2026-09-11 10:55:25 -03:00
stm32c0 boards/stm32c0/nucleo-c071rb: Add usb-cdc config 2026-09-14 18:32:23 -03:00
stm32c5 boards/arm/stm32c5: Add nucleo-C562re support 2026-08-27 01:07:10 +08:00
stm32f0 boards/nucleo-f072rb: Add USB device support and a CDC/ACM configuration. 2026-08-20 15:16:33 -03:00
stm32f1 boards: fix mtd_partition() argument units in flash partition loops 2026-09-01 09:14:34 +08:00
stm32f2 arch/arm: Reserve r10 via ARCHCFLAGS and hoist the PIC module flags. 2026-07-24 23:09:08 +08:00
stm32f3 boards/arm/stm32f3/nucleo-f302r8: fix qenco configuration 2026-08-07 11:17:24 +08:00
stm32f4 boards: fix mtd_partition() argument units in flash partition loops 2026-09-01 09:14:34 +08:00
stm32f7 arch/arm/stm32f7: use common Kconfig symbols 2026-08-18 09:34:58 +08:00
stm32g0 boards/nucleo-g0b1re: Add USB device configurations 2026-08-25 01:03:58 +08:00
stm32g4 boards: stm32g4: regenerate nucleo-g431kb comp defconfig 2026-09-19 22:41:17 +08:00
stm32h5 boards/arm/stm32h5/nucleo-h563zi: Configure MPU 2026-09-14 18:49:00 -03:00
stm32h7 boards/linum-stm32h753bi: Add zbus board configuration 2026-09-21 08:40:14 -03:00
stm32l0 boards/nucleo-l073rz: Add USB device support and a CDC/ACM configuration. 2026-08-22 01:23:12 +08:00
stm32l1 arch/arm: Reserve r10 via ARCHCFLAGS and hoist the PIC module flags. 2026-07-24 23:09:08 +08:00
stm32l4 arch/arm/stm32l4: use common Kconfig symbols 2026-08-18 09:34:58 +08:00
stm32l5 stm32l5: Fix nxstyle errors in drivers and board LEDs 2026-09-22 09:21:35 -03:00
stm32n6 arch/arm: Reserve r10 via ARCHCFLAGS and hoist the PIC module flags. 2026-07-24 23:09:08 +08:00
stm32u0 boards/stm32u0: add stm32u083c-dk support 2026-08-18 15:00:15 +02:00
stm32u3 boards/arm/stm32u3: Add NUCLEO-U3C5ZI-Q support 2026-08-23 11:03:03 +08:00
stm32u5 arch/arm: Reserve r10 via ARCHCFLAGS and hoist the PIC module flags. 2026-07-24 23:09:08 +08:00
stm32wb arch/arm: Reserve r10 via ARCHCFLAGS and hoist the PIC module flags. 2026-07-24 23:09:08 +08:00
stm32wl5 arch/arm: Reserve r10 via ARCHCFLAGS and hoist the PIC module flags. 2026-07-24 23:09:08 +08:00
str71x/olimex-strp711 arch/arm: Reserve r10 via ARCHCFLAGS and hoist the PIC module flags. 2026-07-24 23:09:08 +08:00
tiva boards/lm3s6965-ek: Link the protected kernel against kflash. 2026-08-14 09:49:27 +08:00
tlsr82/tlsr8278adk80d arch/arm: Reserve r10 via ARCHCFLAGS and hoist the PIC module flags. 2026-07-24 23:09:08 +08:00
tms570 arch/arm: Reserve r10 via ARCHCFLAGS and hoist the PIC module flags. 2026-07-24 23:09:08 +08:00
xmc4 arch/arm: Reserve r10 via ARCHCFLAGS and hoist the PIC module flags. 2026-07-24 23:09:08 +08:00