dcgong2917 opened a new pull request, #19517:
URL: https://github.com/apache/nuttx/pull/19517
## Summary
Add a shared NuttX serial lower-half driver for the Realtek Ameba
high-speed UARTs, living in the IC-agnostic tree at
`arch/arm/src/common/ameba/ameba_uart.c` and driven by a per-chip
instance table (`arch/arm/src/rtl8721dx/ameba_uart_chip.h`). The driver
sits on the SDK fwlib UART API (all resolving to the on-chip ROM symbol
table) and registers the general-purpose UARTs from board bring-up.
On the pke8721daf, UART0/UART1 are exposed as `/dev/ttyS1` and up (the
LOG-UART keeps the console on `/dev/ttyS0`). TERMIOS is supported behind
`ARCH_HAVE_SERIAL_TERMIOS` (baud, data bits, parity, stop bits).
Also included:
- `tools/nxstyle.c`: whitelist the vendor symbol prefixes `PAD_`,
`Pinmux_` and `UART_` used by the fwlib UART/pin API (same mechanism
as the existing `GPIO_`/`RCC_` entries).
- `arch/arm/src/common/ameba/ameba_gpio.h`: guard the
`ameba_gpio_register()` prototype with `CONFIG_DEV_GPIO`. This UART
driver is the first to include the header from a build without
`CONFIG_DEV_GPIO`, which exposed a reference to `enum gpio_pintype_e`
that only exists under that option.
## Impact
- New optional driver, gated by `CONFIG_AMEBA_UART`; no effect when
disabled.
- Only the rtl8721dx / pke8721daf board is wired up; other Ameba chips
are unaffected.
- No change to existing GPIO behaviour (header change is prototype
visibility only).
## Testing
Built for `pke8721daf:uart` and verified on hardware (PKE8721DAF):
- Pinmux routing plus TX/RX and the interrupt path on PB18/PB19.
- External loopback (PB18↔PB19): data echoed correctly.
- TERMIOS ioctl path verified over the same loopback (baud/format
changes take effect).
- `tools/checkpatch.sh -f` clean on all new/changed sources; full build
produces `nuttx.bin` with no new warnings.
--
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]