mirror of
https://github.com/apache/nuttx.git
synced 2026-10-03 12:18:06 +00:00
Wire the shared ameba_gpio driver to the RTL8730E CA32 core. The CA32 replaces the vendor CA32 OS as BL33; the SDK startup that normally initialises GPIO_PORTx[] never runs under NuttX. The three GPIO port base addresses are patched at runtime inside rtl8730e_gpio_initialize() before any ROM GPIO function is called. GPIO_INTStatusGet and GPIO_INTStatusClearEdge are absent from the RTL8730E ROM and are provided as static inline helpers in the new ameba_gpio_chip.h. Key changes: - ameba_gpio_chip.h (new): chip parameters, split AMEBA_APBPERIPH_GPIO / AMEBA_APBPERIPH_GPIO_CLK bits, inline INTStatus helpers - ameba_gpio.c: add AMEBA_APBPERIPH_GPIO_CLK fallback macro so chips with separate periph/clock enable bits work without driver changes - Make.defs: enable ameba_gpio.c + rtl8730e_flash_stubs.c + lib_rom.a under CONFIG_AMEBA_GPIO; consolidate flash_stubs into GPIO||FLASH_FS - ameba_board.mk: remove duplicate lib_rom.a (Make.defs is authoritative) - rtl8730e_flash_stubs.c: make _strcmp weak; delegate Pinmux_Config to lib_rom.a's _Pinmux_Config so GPIO pad mux is configured correctly - Kconfig: source common/ameba/Kconfig to expose CONFIG_AMEBA_GPIO - dramboot.ld: include .sramdram.only.data in .data so GPIO_PORTx[] is copied to RAM by the normal arm_data_initialize() path - scripts/Make.defs: extend --no-warn-mismatch to GPIO and WiFi configs - rtl8730e_gpio.c (new): pin table (PB19 output /dev/gpio0, PB20 input /dev/gpio1, PB11 falling-edge interrupt /dev/gpio2) + GPIO_PORTx patch - configs/gpio/ (new): defconfig for GPIO example verification - nxstyle.c: add _Pinmux_ to mixed-case whitelist (ROM symbol) Hardware verified on RTL8730E CA32: - PB19 output write 0/1, readback matches - PB20 input reads PB19-driven level - PB11 falling-edge interrupt triggers correctly Signed-off-by: dechao_gong <dechao_gong@realsil.com.cn> Assisted-by: Claude <noreply@anthropic.com> |
||
|---|---|---|
| .. | ||
| arm | ||
| arm64 | ||
| avr | ||
| ceva | ||
| dummy | ||
| hc | ||
| mips | ||
| misoc | ||
| or1k | ||
| renesas | ||
| risc-v | ||
| sim | ||
| sparc | ||
| tricore | ||
| x86 | ||
| x86_64 | ||
| xtensa | ||
| z16 | ||
| z80 | ||
| CMakeLists.txt | ||
| Kconfig | ||