mbox series

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

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

Message

Glenn Miles Nov. 21, 2023, 7:09 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:
  - Removed two already merged patches
  - Various formatting changes
  - Capitalized "Rainier" in machine description string
  - Changed powernv10-rainier parent to MACHINE_TYPE_NAME("powernv10")


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                    |  72 +++-
 hw/ppc/pnv_i2c.c                |  15 +-
 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, 1190 insertions(+), 16 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

Comments

Cédric Le Goater Nov. 24, 2023, 8:36 a.m. UTC | #1
On 11/21/23 20:09, Glenn Miles wrote:
> 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:
>    - Removed two already merged patches
>    - Various formatting changes
>    - Capitalized "Rainier" in machine description string
>    - Changed powernv10-rainier parent to MACHINE_TYPE_NAME("powernv10")


Nick,

could this series go through the ppc-next queue ?


Thanks,

C.




> 
> 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                    |  72 +++-
>   hw/ppc/pnv_i2c.c                |  15 +-
>   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, 1190 insertions(+), 16 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
>
Nicholas Piggin Nov. 24, 2023, 10:39 a.m. UTC | #2
On Fri Nov 24, 2023 at 6:36 PM AEST, Cédric Le Goater wrote:
> On 11/21/23 20:09, Glenn Miles wrote:
> > 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:
> >    - Removed two already merged patches
> >    - Various formatting changes
> >    - Capitalized "Rainier" in machine description string
> >    - Changed powernv10-rainier parent to MACHINE_TYPE_NAME("powernv10")
>
>
> Nick,
>
> could this series go through the ppc-next queue ?

Sure, for after 8.2. I'll start gathering up patches and push out
a test tree before then.

Are patches 1/2 okay with that? Patch 1 looks a bit like a bug
fix...

Thanks,
Nick

>
>
> Thanks,
>
> C.
>
>
>
>
> > 
> > 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                    |  72 +++-
> >   hw/ppc/pnv_i2c.c                |  15 +-
> >   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, 1190 insertions(+), 16 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
> >
Cédric Le Goater Nov. 24, 2023, 11:04 a.m. UTC | #3
On 11/24/23 11:39, Nicholas Piggin wrote:
> On Fri Nov 24, 2023 at 6:36 PM AEST, Cédric Le Goater wrote:
>> On 11/21/23 20:09, Glenn Miles wrote:
>>> 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:
>>>     - Removed two already merged patches
>>>     - Various formatting changes
>>>     - Capitalized "Rainier" in machine description string
>>>     - Changed powernv10-rainier parent to MACHINE_TYPE_NAME("powernv10")
>>
>>
>> Nick,
>>
>> could this series go through the ppc-next queue ?
> 
> Sure, for after 8.2. I'll start gathering up patches and push out
> a test tree before then.
> 
> Are patches 1/2 okay with that? Patch 1 looks a bit like a bug
> fix...

yes but since they are only relevant for the subsequent patches,
it is better to keep the series as a whole I think.

Thanks,

C.