dcgong2917 opened a new pull request, #19780:
URL: https://github.com/apache/nuttx/pull/19780
## Summary
Adds a shared NuttX I2C master lower-half for the Realtek Ameba I2C
controllers (I2C0/I2C1) under arch/arm/src/common/ameba, driven through
the SDK fwlib DesignWare block in polling mode. Per-chip wiring
(controller count, non-secure register bases, APB clock masks, crossbar
pad-mux codes and the fwlib I2C_InitTypeDef layout) is isolated in a
per-chip ameba_i2c_chip.h, so each SoC only supplies a same-named header.
Two commits:
- arch/arm/rtl8721dx: add shared Ameba I2C driver — introduces the common
driver + RTL8721Dx chip header + pke8721daf board glue + `i2c` defconfig.
- arch/arm/rtl8721f: add I2C master driver support — wires the same shared
driver into the RTL8721F (amebagreen2) build via its chip header + EVB
board glue + `i2c` defconfig (no change to the shared driver).
Each controller registers at /dev/i2cN and is exercised with the
system/i2c i2ctool.
## Impact
New optional feature (CONFIG_AMEBA_I2C, default n); no impact when
disabled. Touches only arch/arm/src/common/ameba, arch/arm/src/rtl8721dx,
arch/arm/src/rtl8721f, their boards, and one nxstyle whitelist entry.
## Testing
Verified end-to-end on RTL8721F EVB hardware against a second Ameba board
acting as an I2C slave: 7-bit address ACK, register write and read-back
over repeated-START, and full bus scan all pass on I2C0 (PA22/PA23).
Also validated on RTL8721Dx (pke8721daf): SS/FS 100k/400k, 8/16-bit
register access, both I2C0 and I2C1. checkpatch (`tools/checkpatch.sh -g`)
passes clean on both commits.
--
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]