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 Power10 platforms. Changes from previous version: - Pulled in fixes/changes for pca9552 devices - Created new powernv10-rainier machine type - Adds pca9552/pca9554 devices to powernv10-rainier machine - Modified MAINTAINERS to make myself maintainer of the pca955x devices Glenn Miles (11): 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: PNV I2C engines assigned incorrect XSCOM addresses ppc/pnv: Fix PNV I2C invalid status after reset 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 | 83 +++- hw/ppc/pnv_i2c.c | 47 ++- 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 | 650 ++++++++++++++++++++++++++++++++ 15 files changed, 1212 insertions(+), 37 deletions(-) create mode 100644 hw/misc/pca9554.c 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 -- 2.31.1