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
--
2.31.1