This patch set implements the System manager bus (SMBus) module in NPCM7XX
SoC. Basically, it emulates the data transactions of the module, not the
SDA/SCL levels. We have also added a QTest which contains read and write
operations for both single-byte and FIFO mode, and added basic I2C device
trees for npcm750-evb and quanta-gsj boards.
We also cleaned up the unimplemented GPIO devices in npcm7xx.c since they
are already implemented.
Hao Wu (6):
hw/arm: Remove GPIO from unimplemented NPCM7XX
hw/i2c: Implement NPCM7XX SMBus Module Single Mode
hw/arm: Add I2C device tree for NPCM750 eval board
hw/arm: Add I2C device tree for Quanta GSJ
hw/i2c: Add a QTest for NPCM7XX SMBus Device
hw/i2c: Implement NPCM7XX SMBus Module FIFO Mode
docs/system/arm/nuvoton.rst | 2 +-
hw/arm/npcm7xx.c | 76 ++-
hw/arm/npcm7xx_boards.c | 32 +
hw/i2c/meson.build | 1 +
hw/i2c/npcm7xx_smbus.c | 1071 ++++++++++++++++++++++++++++++
hw/i2c/trace-events | 12 +
include/hw/arm/npcm7xx.h | 2 +
include/hw/i2c/npcm7xx_smbus.h | 113 ++++
tests/qtest/meson.build | 1 +
tests/qtest/npcm7xx_smbus-test.c | 495 ++++++++++++++
10 files changed, 1780 insertions(+), 25 deletions(-)
create mode 100644 hw/i2c/npcm7xx_smbus.c
create mode 100644 include/hw/i2c/npcm7xx_smbus.h
create mode 100644 tests/qtest/npcm7xx_smbus-test.c
--
2.30.0.365.g02bc693789-goog