qemu-devel
[Top][All Lists]
Advanced

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




reply via email to

[Prev in Thread] Current Thread [Next in Thread]