[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [RFC PATCH 0/6] Introduce GPIO transmitter and connect to NPCM7xx
From: |
Philippe Mathieu-Daudé |
Subject: |
Re: [RFC PATCH 0/6] Introduce GPIO transmitter and connect to NPCM7xx |
Date: |
Thu, 16 Dec 2021 10:24:17 +0100 |
User-agent: |
Mozilla/5.0 (X11; Linux x86_64; rv:91.0) Gecko/20100101 Thunderbird/91.3.0 |
+Marc-André (chardev) & Dave
On 12/16/21 02:54, Joe Komlodi wrote:
> Hi all,
>
> This series introduces a GPIO transmitter, which allows the transmission
> of GPIO controller pin state over chardev, and attaches it to the NPCM7xx
> GPIO controller.
>
> The GPIO transmitter takes in a GPIO controller number and a bitfield
> containing the GPIO state of that controller, then formats a packet and
> sends it via chardev to whomever is listening for it.
> The purpose of this is for external software to receive the packet and
> interpret it so it can do any actions it needs to, based on GPIO state.
>
> For example, in our use case, we have a VM manager managing an x86 guest
> and an ARM (NPCM7xx) guest. On real hardware, the ARM SoC is a BMC which
> has some power control over the x86 SoC.
> Because of this, we need to relay GPIO power events from the BMC to the
> x86 machine (i.e. reset, power off, etc), so we have software read in
> the GPIO transmitter packets, keep track of what power state the x86
> machine is in based on the GPIO state of the BMC, and notify the VM
> manager of any important changes.
> The VM manager can then power up/down and reset the x86 machine as
> needed.
>
> Thanks!
> Joe
>
> Joe Komlodi (6):
> hw/gpio/gpio_transmitter: Add Device
> hw/gpio/gpio_transmitter: Add allowlist
> hw/gpio/npcm7xx: Number controllers
> hw/arm/npcm7xx: gpio: Add GPIO transmitter
> hw/gpio/npcm7xx: init GPIO transmitter allowlist
> qtests/gpio_transmitter: Add test
>
> hw/arm/Kconfig | 1 +
> hw/arm/npcm7xx.c | 8 +
> hw/gpio/Kconfig | 3 +
> hw/gpio/google_gpio_transmitter.c | 249 ++++++++++++++++++++++
> hw/gpio/meson.build | 1 +
> hw/gpio/npcm7xx_gpio.c | 25 +++
> include/hw/arm/npcm7xx.h | 2 +
> include/hw/gpio/google_gpio_transmitter.h | 66 ++++++
> include/hw/gpio/npcm7xx_gpio.h | 4 +
> tests/qtest/google_gpio_tx-test.c | 216 +++++++++++++++++++
> tests/qtest/meson.build | 1 +
> 11 files changed, 576 insertions(+)
> create mode 100644 hw/gpio/google_gpio_transmitter.c
> create mode 100644 include/hw/gpio/google_gpio_transmitter.h
> create mode 100644 tests/qtest/google_gpio_tx-test.c
>
- [RFC PATCH 0/6] Introduce GPIO transmitter and connect to NPCM7xx, Joe Komlodi, 2021/12/15
- [RFC PATCH 2/6] hw/gpio/gpio_transmitter: Add allowlist, Joe Komlodi, 2021/12/15
- [RFC PATCH 6/6] qtests/gpio_transmitter: Add test, Joe Komlodi, 2021/12/15
- [RFC PATCH 4/6] hw/arm/npcm7xx: gpio: Add GPIO transmitter, Joe Komlodi, 2021/12/15
- [RFC PATCH 5/6] hw/gpio/npcm7xx: init GPIO transmitter allowlist, Joe Komlodi, 2021/12/15
- [RFC PATCH 1/6] hw/gpio/gpio_transmitter: Add Device, Joe Komlodi, 2021/12/15
- [RFC PATCH 3/6] hw/gpio/npcm7xx: Number controllers, Joe Komlodi, 2021/12/15
- Re: [RFC PATCH 0/6] Introduce GPIO transmitter and connect to NPCM7xx,
Philippe Mathieu-Daudé <=