nuttx/arch/arm/src
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
am67 drivers/vhost: Add vhost-net, a device-role virtio network driver. 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
arm !arch/arm: Use r9 as the PIC base register. 2026-08-06 01:38:23 +08:00
armv6-m !arch/arm: Use r9 as the PIC base register. 2026-08-06 01:38:23 +08:00
armv7-a nuttx/atomic: replace atomic_fetch_xxx with atomic_xxx just like zephyr 2026-08-24 13:20:45 +08:00
armv7-m !arch/arm: Use r9 as the PIC base register. 2026-08-06 01:38:23 +08:00
armv7-r !arch/arm: Use r9 as the PIC base register. 2026-08-06 01:38:23 +08:00
armv8-m !arch/arm: Use r9 as the PIC base register. 2026-08-06 01:38:23 +08:00
armv8-r !arch/arm: Use r9 as the PIC base register. 2026-08-06 01:38:23 +08:00
at32 {arm,xtensa}/otg: indent switch bodies per the coding standard. 2026-08-25 16:07:35 +08:00
c5471 drivers/efuse/efuse: Drivers Registered With World Write Permissions(Part 1) 2026-07-13 12:08:01 +02:00
cmake arch/arm: Say which linker is missing when FDPIC has none. 2026-09-09 10:21:21 +08:00
common arch/arm/rtl8730e: add UART character driver support 2026-09-24 21:24:35 +08:00
csk6
cxd32xx
cxd56xx arch/atomic: remove up_testset in spinlock 2026-09-08 08:58:54 +08:00
dm320
efm32 {arm,xtensa}/otg: indent switch bodies per the coding standard. 2026-08-25 16:07:35 +08:00
eoss3
fvp-v8r-aarch32
gd32f4 arch/arm/gd32f4: fix missing CTL selector bits in up_disableusartint. 2026-06-11 09:18:15 -03:00
goldfish
ht32f491x3
imx1
imx6
imx9 arch/arm/imx9, arch/arm64/imx9: Release eDMA lock before callbacks 2026-09-15 08:41:58 -03:00
imxrt arch/arm/src/imxrt/hardware/imxrt_gpio.h: Small fix for imxrt118x 2026-09-23 11:24:44 +08:00
kinetis net, arch: Fix nxstyle errors in files the CAN ioctl merge touches. 2026-09-01 17:40:47 +08:00
kl
lc823450 arch/atomic: remove up_testset in spinlock 2026-09-08 08:58:54 +08:00
lpc17xx_40xx
lpc31xx
lpc43xx
lpc54xx
lpc214x arch/lpc214x: Fix LPC214x to work again 2026-07-01 03:00:43 +08:00
lpc2378 arch/arm: Fix LPC2378 to work again 2026-06-30 03:28:12 +08:00
max326xx
mcx-nxxx
moxart
mps
mx8mp
n32h7 arch/arm/n32h7: Add N32H762IIL7 BSP 2026-09-17 09:39:41 -03:00
nrf52 cmake: Use NUTTX(_DIR/_BIN_DIR) instead CMAKE(_SRC_DIR/_BIN_DIR) 2026-08-09 11:13:08 -03:00
nrf53 arch/arm/nrf53: enable the application core flash cache 2026-09-04 13:50:15 -03:00
nrf54l arm/nrf54l: add initial nrf54l support 2026-09-24 11:10:46 +08:00
nrf91 cmake: Use NUTTX(_DIR/_BIN_DIR) instead CMAKE(_SRC_DIR/_BIN_DIR) 2026-08-09 11:13:08 -03:00
nuc1xx
phy62xx drivers/efuse/efuse: Drivers Registered With World Write Permissions(Part 1) 2026-07-13 12:08:01 +02:00
qemu
ra4
rp23xx arch/atomic: remove up_testset in spinlock 2026-09-08 08:58:54 +08:00
rp2040 arch/arm/rp2040: fix IN endpoint DPSRAM index for bare-eplog callers 2026-09-08 08:22:37 -03:00
rtl8720c nuttx/atomic: replace atomic_fetch_xxx with atomic_xxx just like zephyr 2026-08-24 13:20:45 +08:00
rtl8720f arch/arm/rtl8720f: add timer driver support 2026-09-01 17:41:14 +08:00
rtl8721dx arch/arm/rtl8721dx: add shared Ameba timer driver 2026-09-01 17:41:14 +08:00
rtl8721f arch/arm/rtl8721f: add timer driver support 2026-09-01 17:41:14 +08:00
rtl8730e arch/arm/rtl8730e: add UART character driver support 2026-09-24 21:24:35 +08:00
s32k1xx arch/atomic: remove up_testset in spinlock 2026-09-08 08:58:54 +08:00
s32k3xx arch/atomic: remove up_testset in spinlock 2026-09-08 08:58:54 +08:00
sam34
sama5 drivers/efuse/efuse: Drivers Registered With World Write Permissions(Part 1) 2026-07-13 12:08:01 +02:00
samd2l2
samd5e5
samv7 arch/arm/src/samv7/sam_mcan.c: fix coding style issues 2026-09-23 11:28:27 +08:00
stm32c0 arch/arm/stm32c0: Add USB device support 2026-09-14 18:32:23 -03:00
stm32c5 arch/arm/stm32c5: Add STM32C562 architecture 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 !arch/stm32: unify and commonize stm32_uid for all STM32 families. 2026-07-04 18:47:45 +08:00
stm32f2 !arch/stm32: unify and commonize stm32_uid for all STM32 families. 2026-07-04 18:47:45 +08:00
stm32f3 !arch/stm32: unify and commonize stm32_uid for all STM32 families. 2026-07-04 18:47:45 +08:00
stm32f4 arch/arm/stm32f4: add STM32F412CG chip selection 2026-09-01 17:40:30 +08:00
stm32f7 arch/arm/stm32: fix compare-match race and zero-period hang in tickless 2026-09-18 09:30:22 +08:00
stm32g0 arch/arm/stm32: Add USBDEV_M0_V2 IP flag 2026-09-14 18:32:23 -03:00
stm32g4 arch/arm/src/stm32: add G4 RNG base address 2026-07-09 09:59:02 -04:00
stm32h5 arch/arm/stm32h5: fail the PHY initialization when the reset times out. 2026-09-23 08:21:59 +02:00
stm32h7 arch/arm/stm32h7: do not log the frames of packet sockets as unknown. 2026-09-23 08:21:59 +02:00
stm32l0 boards/nucleo-l073rz: Add USB device support and a CDC/ACM configuration. 2026-08-22 01:23:12 +08:00
stm32l1 !arch/stm32: unify and commonize stm32_uid for all STM32 families. 2026-07-04 18:47:45 +08:00
stm32l4 {arm,xtensa}/otg: indent switch bodies per the coding standard. 2026-08-25 16:07:35 +08:00
stm32l5 stm32l5: Fix nxstyle errors in drivers and board LEDs 2026-09-22 09:21:35 -03:00
stm32n6 arch/stm32/serial: simplify ifdefs in ioctl 2026-07-07 01:57:51 +08:00
stm32u0 arch/arm: add stm32u0 support 2026-08-18 15:00:15 +02:00
stm32u3 arch/arm/stm32: Unify Cortex-M33 RCC include names 2026-08-27 01:07:10 +08:00
stm32u5 arch/arm/stm32: Unify Cortex-M33 RCC include names 2026-08-27 01:07:10 +08:00
stm32wb arch/arm/stm32: fix compare-match race and zero-period hang in tickless 2026-09-18 09:30:22 +08:00
stm32wl5 arch/arm/stm32: use common SYSTICK_HCLKd8 symbol 2026-08-18 09:34:58 +08:00
str71x
tiva arch/arm/src/at32/at32_can: Division by Zero in CAN Bit Timing Commands 2026-06-17 09:01:52 -03:00
tlsr82 !arch/arm: Use r9 as the PIC base register. 2026-08-06 01:38:23 +08:00
tms570
xmc4 arch/arm: xmc4: fix VADC index bounds checks 2026-07-06 07:47:17 +02:00
.gitignore
CMakeLists.txt
Makefile tools: fix stale archive members surviving a Kconfig-driven CSRCS change 2026-07-28 21:26:03 -03:00