dcgong2917 opened a new pull request, #19588:
URL: https://github.com/apache/nuttx/pull/19588
## Summary
Expose the RTL8721F general-purpose UARTs through the shared Ameba serial
driver in `arch/arm/src/common/ameba`. Only chip-specific glue is added:
- `arch/arm/src/rtl8721f/ameba_uart_chip.h` — rtl8721F register bases,
IRQs,
clock masks and UART TX/RX pin-mux function codes consumed by the common
driver.
- Build wiring in `Make.defs`, `ameba_board.mk` and `CMakeLists.txt` (both
make and cmake paths), guarded by `CONFIG_AMEBA_UART`, adding the common
`ameba_uart.c` and the fwlib RAM register-layer source.
- A board port table (`rtl8721f_uart.c`) registering UART0 at `/dev/ttyS1`
on PA24/PA25. The LOG-UART keeps the console and `/dev/ttyS0`.
- A new `uart` board config enabling the driver with the `serialrx` /
`serialblaster` examples and runtime TERMIOS support, plus docs.
The common serial layer is reused unchanged. This mirrors the GPIO port
(#19582) pattern for this IC.
## Impact
- New feature for RTL8721F only; gated by `CONFIG_AMEBA_UART` (default n).
- No change to the shared `common/ameba` sources or to other boards/ICs.
- UART3 is shared with Bluetooth and is intentionally not exposed.
## Testing
Built and flashed on the RTL8721F EVB (make and cmake both build a clean
`nuttx.bin`; checkpatch and nxstyle pass; defconfig is canonical).
Hardware-verified via a PA24/PA25 loopback:
- `serialrx`/`serialblaster` single-message echo (`hello_uart`) — pass.
- 2600-byte throughput, zero loss — pass.
- TERMIOS reconfiguration: CS7 data-bit truncation (0xa5 -> 0x25), parity
and stop-bit ioctl round-trip, and 9600-baud reprogramming — all pass.
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: [email protected]
For queries about this service, please contact Infrastructure at:
[email protected]