[PATCH v3 0/5] hw/i2c: Add NPCM7XX SMBus Device

Hao Wu via posted 5 patches 3 years, 2 months ago
Failed in applying to current master (apply log)
docs/system/arm/nuvoton.rst      |    2 +-
hw/arm/Kconfig                   |    1 +
hw/arm/npcm7xx.c                 |   68 +-
hw/arm/npcm7xx_boards.c          |   46 ++
hw/i2c/meson.build               |    1 +
hw/i2c/npcm7xx_smbus.c           | 1099 ++++++++++++++++++++++++++++++
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 ++++++++++++++
11 files changed, 1823 insertions(+), 17 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
[PATCH v3 0/5] hw/i2c: Add NPCM7XX SMBus Device
Posted by Hao Wu via 3 years, 2 months ago
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 devices
for npcm750-evb and quanta-gsj boards.

Changes since v2:
- Remove first patch (GPIO) since it's already applied to target-arm.next
- Rename NPCM7XX_SMBUS_FIFO_EN to NPCM7XX_SMBUS_VERSION_FIFO_SUPPORTED
  to indicate it's a register field of the VERSION reg.
- Add select AT24C in hw/arm/Kconfig.
- Minor additional commit messages and comments to clarify things.

Changes since v1:
- Fix errors for i2c device addresses for temperature sensors in GSJ machine
- Use at24c device to emulate GSJ EEPROM. It supports more than 256 bytes.
- Fill in VMState in npcm7xx_smbus.c
- Change commit message in patch 3 and 4
- Fix order in npcm7xx.c IRQ list
- Add a few extra comments to make things clearer

Hao Wu (5):
  hw/i2c: Implement NPCM7XX SMBus Module Single Mode
  hw/arm: Add I2C sensors for NPCM750 eval board
  hw/arm: Add I2C sensors and EEPROM for GSJ machine
  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/Kconfig                   |    1 +
 hw/arm/npcm7xx.c                 |   68 +-
 hw/arm/npcm7xx_boards.c          |   46 ++
 hw/i2c/meson.build               |    1 +
 hw/i2c/npcm7xx_smbus.c           | 1099 ++++++++++++++++++++++++++++++
 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 ++++++++++++++
 11 files changed, 1823 insertions(+), 17 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.478.g8a0d178c01-goog


Re: [PATCH v3 0/5] hw/i2c: Add NPCM7XX SMBus Device
Posted by Peter Maydell 3 years, 2 months ago
On Wed, 10 Feb 2021 at 22:04, Hao Wu <wuhaotsh@google.com> wrote:
>
> 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 devices
> for npcm750-evb and quanta-gsj boards.



Applied to target-arm.next, thanks.

-- PMM