mbox series

[v7,0/9] Add powernv10 I2C devices and tests

Message ID 20240125224818.146499-1-milesg@linux.vnet.ibm.com
Headers show
Series Add powernv10 I2C devices and tests | expand

Message

Glenn Miles Jan. 25, 2024, 10:48 p.m. UTC
This series of patches includes support, tests and fixes for
adding PCA9552 and PCA9554 I2C devices to the powernv10 chip.

The PCA9552 device is used for PCIe slot hotplug power control
and monitoring, while the PCA9554 device is used for presence
detection of IBM CableCard devices.  Both devices are required
by the Power Hypervisor Firmware on the Power10 Ranier platform.

Changes from previous version:
  - Made several changes to commit 9/9 to address comments from
    Cédric.
  - Added new PnvI2cCtlr struct to commit 9/9 for convenience in
    passing parameters.

Glenn Miles (9):
  misc/pca9552: Fix inverted input status
  misc/pca9552: Let external devices set pca9552 inputs
  ppc/pnv: New powernv10-rainier machine type
  ppc/pnv: Add pca9552 to powernv10-rainier for PCIe hotplug power
    control
  ppc/pnv: Wire up pca9552 GPIO pins for PCIe hotplug power control
  ppc/pnv: Use resettable interface to reset child I2C buses
  misc: Add a pca9554 GPIO device model
  ppc/pnv: Add a pca9554 I2C device to powernv10-rainier
  ppc/pnv: Test pnv i2c master and connected devices

 MAINTAINERS                     |  10 +-
 hw/misc/Kconfig                 |   4 +
 hw/misc/meson.build             |   1 +
 hw/misc/pca9552.c               |  58 +++-
 hw/misc/pca9554.c               | 328 +++++++++++++++++++++
 hw/ppc/Kconfig                  |   2 +
 hw/ppc/pnv.c                    |  67 ++++-
 hw/ppc/pnv_i2c.c                | 146 +---------
 include/hw/i2c/pnv_i2c_regs.h   | 143 ++++++++++
 include/hw/misc/pca9552.h       |   3 +-
 include/hw/misc/pca9554.h       |  36 +++
 include/hw/misc/pca9554_regs.h  |  19 ++
 include/hw/ppc/pnv.h            |   1 +
 tests/qtest/meson.build         |   1 +
 tests/qtest/pca9552-test.c      |   6 +-
 tests/qtest/pnv-host-i2c-test.c | 491 ++++++++++++++++++++++++++++++++
 tests/qtest/pnv-xscom-test.c    |  61 +---
 tests/qtest/pnv-xscom.h         |  80 ++++++
 18 files changed, 1251 insertions(+), 206 deletions(-)
 create mode 100644 hw/misc/pca9554.c
 create mode 100644 include/hw/i2c/pnv_i2c_regs.h
 create mode 100644 include/hw/misc/pca9554.h
 create mode 100644 include/hw/misc/pca9554_regs.h
 create mode 100644 tests/qtest/pnv-host-i2c-test.c
 create mode 100644 tests/qtest/pnv-xscom.h