nuttx/Documentation/platforms
dechao_gong e2ff8be900 arch/arm/rtl8721dx: add shared Ameba GPIO driver.
Add a board-agnostic GPIO driver for Realtek Ameba chips, exposing pins
through the NuttX GPIO (ioexpander) upper half at /dev/gpioN.

- arch/arm/src/common/ameba/ameba_gpio.{c,h}: the shared driver, sitting
  directly on the SDK fwlib register layer.  The fwlib GPIO API it calls
  resolves at link time from the on-chip ROM symbol table, except
  GPIO_INTStatusGet/ClearEdge which are not in ROM and are compiled in
  from fwlib ram_common/ameba_gpio.c (that object also carries GPIO_Init,
  harmlessly overriding the equivalent ROM copy).  Pin interrupts are
  dispatched NuttX-natively: the port's NVIC vector is owned by NuttX
  via irq_attach, and the ISR reads and clears status through the fwlib
  GPIO_INTStatus* helpers.
- The driver keeps nothing IC-specific: the port count, the per-port
  NVIC vectors and the RCC gate bits come from a per-chip
  <ameba_gpio_chip.h> resolved on the include path, so bringing up a new
  Ameba chip only adds that header, not a change to the shared driver.
- arch/arm/src/common/ameba/Kconfig: a shared "Ameba Peripheral Support"
  menu with the AMEBA_GPIO option, sourced by each Ameba chip's Kconfig so
  it is reused across ICs (RTL8721Dx, RTL8720F, ...).
- arch/arm/src/rtl8721dx: provide ameba_gpio_chip.h, wire the driver into
  both the Make/Kconfig and CMake builds, and compile the fwlib
  ameba_gpio.c register layer into libameba_fwlib for the RTL8721Dx.
- boards/arm/rtl8721dx/pke8721daf: board pin table (rtl8721dx_gpio.c),
  bring-up registration, and a standalone gpio defconfig.
- Documentation: describe the gpio configuration and pin encoding.

tools/nxstyle: whitelist the Ameba "GPIO_" SDK ROM symbol prefix (alongside
the existing FLASH_/IPC_/... Ameba prefixes) so the vendor GPIO API's mixed-case
identifiers do not trip nxstyle, matching how the other Ameba SDK prefixes are
handled.

Assisted-by: Claude Code:claude-opus-4-8
Signed-off-by: dechao_gong <dechao_gong@realsil.com.cn>
2026-07-21 08:34:05 +02:00
..
arm arch/arm/rtl8721dx: add shared Ameba GPIO driver. 2026-07-21 08:34:05 +02:00
arm64 docs/raspberrypi-4b: Document baromonitor configuration 2026-07-20 21:00:46 -03:00
avr arch/avr/src/avrdx/avrdx_delay: add custom up_udelay function 2026-06-12 09:55:11 -04:00
ceva
hc docs/m9s12/demo9s12ne64: Migrate README.txt to RST 2026-02-12 10:43:53 +01:00
mips boards/mips: Add networking support to CI20 board 2026-07-17 16:14:14 -03:00
misco misco/lm32/boards/misoc: Migrate README.txt to RST 2025-05-08 03:04:04 +02:00
or1k docs/or1k: Migrate README.txt to RST format 2026-02-06 08:54:28 -03:00
renesas boards: add CI ROMFS passwd credentials and refresh docs 2026-07-09 22:41:11 +08:00
risc-v boards/esp32c3-devkit: Remove Dropbear SSH server support 2026-07-20 15:28:14 -03:00
sim docs/sim: Document new baromonitor configuration 2026-07-20 21:00:46 -03:00
sparc
tricore arch/tricore: support tc4evb board. 2026-03-10 10:38:19 +01:00
x86 doc/qemu-i486: Add documentation about qemu-i486:vga_fb 2026-04-30 11:56:49 +08:00
x86_64 Documentation: add notes about TAP configuration for qemu 2025-12-18 11:39:54 -03:00
xtensa boards/stm32h7/linum-stm32h753bi: enable USB FS host, add lvglterm_kbda 2026-07-08 14:08:16 -04:00
z16
z80 style: Fix "the the" typo across the codebase. 2026-03-23 11:07:49 +01:00
index.rst docs: Fix duplicate toctree references causing build warnings 2026-06-03 15:02:22 +08:00