qemu/hw/misc
Philippe Mathieu-Daudé b989b89f67 hw/misc/pca9552: Trace GPIO High/Low events
Add a trivial representation of the PCA9552 GPIOs.

Example booting obmc-phosphor-image:

  $ qemu-system-arm -M witherspoon-bmc -trace pca955x_gpio_status
  1592689902.327837:pca955x_gpio_status pca-unspecified GPIOs 0-15 [*...............]
  1592689902.329934:pca955x_gpio_status pca-unspecified GPIOs 0-15 [**..............]
  1592689902.330717:pca955x_gpio_status pca-unspecified GPIOs 0-15 [***.............]
  1592689902.331431:pca955x_gpio_status pca-unspecified GPIOs 0-15 [****............]
  1592689902.332163:pca955x_gpio_status pca-unspecified GPIOs 0-15 [****.........*..]
  1592689902.332888:pca955x_gpio_status pca-unspecified GPIOs 0-15 [****.........**.]
  1592689902.333629:pca955x_gpio_status pca-unspecified GPIOs 0-15 [****.........***]
  1592690032.793289:pca955x_gpio_status pca-unspecified GPIOs 0-15 [****.........*.*]
  1592690033.303163:pca955x_gpio_status pca-unspecified GPIOs 0-15 [****.........***]
  1592690033.812962:pca955x_gpio_status pca-unspecified GPIOs 0-15 [****.........*.*]
  1592690034.323234:pca955x_gpio_status pca-unspecified GPIOs 0-15 [****.........***]
  1592690034.832922:pca955x_gpio_status pca-unspecified GPIOs 0-15 [****.........*.*]

We notice the GPIO #14 (front-power LED) starts to blink.

This LED is described in the witherspoon device-tree [*]:

  front-power {
      retain-state-shutdown;
      default-state = "keep";
      gpios = <&pca0 14 GPIO_ACTIVE_LOW>;
  };

[*] https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/tree/arch/arm/boot/dts/aspeed-bmc-opp-witherspoon.dts?id=b1f9be9392f0#n140

Suggested-by: Cédric Le Goater <clg@kaod.org>
Reviewed-by: Cédric Le Goater <clg@kaod.org>
Signed-off-by: Philippe Mathieu-Daudé <f4bug@amsat.org>
Tested-by: Cédric Le Goater <clg@kaod.org>
Message-id: 20200623072723.6324-7-f4bug@amsat.org
Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
2020-06-26 14:30:28 +01:00
..
macio pmu: add adb_autopoll_block() and adb_autopoll_unblock() functions 2020-06-26 10:13:52 +01:00
a9scu.c qdev: set properties with device_class_set_props() 2020-01-24 20:59:15 +01:00
allwinner-cpucfg.c hw/arm/allwinner: add CPU Configuration module 2020-03-12 16:27:33 +00:00
allwinner-h3-ccu.c hw/arm/allwinner-h3: add Clock Control Unit 2020-03-12 16:27:33 +00:00
allwinner-h3-dramc.c hw/misc/allwinner-h3-dramc: enforce 64-bit multiply when calculating row mirror address 2020-03-30 13:18:58 +01:00
allwinner-h3-sysctrl.c hw/arm/allwinner-h3: add System Control module 2020-03-12 16:27:33 +00:00
allwinner-sid.c hw/arm/allwinner: add Security Identifier device 2020-03-12 16:27:33 +00:00
applesmc.c qdev: set properties with device_class_set_props() 2020-01-24 20:59:15 +01:00
arm11scu.c qdev: set properties with device_class_set_props() 2020-01-24 20:59:15 +01:00
arm_integrator_debug.c
arm_l2x0.c qdev: set properties with device_class_set_props() 2020-01-24 20:59:15 +01:00
arm_sysctl.c qdev: set properties with device_class_set_props() 2020-01-24 20:59:15 +01:00
armsse-cpuid.c qdev: set properties with device_class_set_props() 2020-01-24 20:59:15 +01:00
armsse-mhu.c
aspeed_scu.c aspeed: Support AST2600A1 silicon revision 2020-05-11 11:00:26 +01:00
aspeed_sdmc.c qom: Drop parameter @errp of object_property_add() & friends 2020-05-15 07:07:58 +02:00
aspeed_xdma.c
auxbus.c auxbus: Eliminate aux_create_slave() 2020-06-15 22:05:28 +02:00
bcm2835_mbox.c hw/arm/bcm283x: Correct the license text 2020-03-23 17:22:30 +00:00
bcm2835_mphi.c raspi: add BCM2835 SOC MPHI emulation 2020-06-05 17:23:09 +01:00
bcm2835_property.c hw/arm/bcm283x: Correct the license text 2020-03-23 17:22:30 +00:00
bcm2835_rng.c
bcm2835_thermal.c hw/misc/bcm2835_thermal: Add a dummy BCM2835 thermal sensor 2019-10-25 13:09:27 +01:00
cbus.c
debugexit.c qdev: set properties with device_class_set_props() 2020-01-24 20:59:15 +01:00
eccmemctl.c qdev: set properties with device_class_set_props() 2020-01-24 20:59:15 +01:00
edu.c qom: Drop parameter @errp of object_property_add() & friends 2020-05-15 07:07:58 +02:00
empty_slot.c sysbus: Convert to sysbus_realize() etc. with Coccinelle 2020-06-15 22:05:28 +02:00
exynos4210_clk.c
exynos4210_pmu.c
exynos4210_rng.c
grlib_ahb_apb_pnp.c hw/misc/grlib_ahb_apb_pnp: Add trace events on read accesses 2020-06-09 09:21:10 +02:00
imx6_ccm.c
imx6_src.c
imx6ul_ccm.c hw/misc/imx6ul_ccm: Implement non writable bits in CCM registers 2020-06-16 10:32:28 +01:00
imx7_ccm.c
imx7_gpr.c
imx7_snvs.c
imx25_ccm.c
imx31_ccm.c
imx_ccm.c
imx_rngc.c i.MX: add an emulation for RNGC 2020-01-17 14:27:16 +00:00
iotkit-secctl.c hw/misc/iotkit-secctl: Fix writing to 'PPC Interrupt Clear' register 2020-02-21 16:07:00 +00:00
iotkit-sysctl.c qdev: set properties with device_class_set_props() 2020-01-24 20:59:15 +01:00
iotkit-sysinfo.c qdev: set properties with device_class_set_props() 2020-01-24 20:59:15 +01:00
ivshmem.c hw/misc/ivshmem: Use one Error * variable instead of two 2020-03-17 16:05:49 +01:00
Kconfig hw/misc: Add the STM32F4xx EXTI device 2020-01-17 14:09:29 +00:00
mac_via.c adb: only call autopoll callbacks when autopoll is not blocked 2020-06-26 10:13:52 +01:00
Makefile.objs hw/misc/empty_slot: Move the 'hw/misc' and cover in MAINTAINERS 2020-06-09 06:59:44 +02:00
max111x.c migration: Define VMSTATE_INSTANCE_ID_ANY 2020-01-20 09:10:23 +01:00
milkymist-hpdmc.c
milkymist-pfpu.c
mips_cmgcr.c qdev: set properties with device_class_set_props() 2020-01-24 20:59:15 +01:00
mips_cpc.c qdev: set properties with device_class_set_props() 2020-01-24 20:59:15 +01:00
mips_itu.c qdev: set properties with device_class_set_props() 2020-01-24 20:59:15 +01:00
mos6522.c qdev: set properties with device_class_set_props() 2020-01-24 20:59:15 +01:00
mps2-fpgaio.c qdev: set properties with device_class_set_props() 2020-01-24 20:59:15 +01:00
mps2-scc.c qdev: set properties with device_class_set_props() 2020-01-24 20:59:15 +01:00
msf2-sysreg.c qdev: set properties with device_class_set_props() 2020-01-24 20:59:15 +01:00
mst_fpga.c
nrf51_rng.c qdev: set properties with device_class_set_props() 2020-01-24 20:59:15 +01:00
omap_clk.c
omap_gpmc.c
omap_l4.c misc: Replace zero-length arrays with flexible array member (automatic) 2020-03-16 22:07:42 +01:00
omap_sdrc.c
omap_tap.c
pc-testdev.c Let cpu_[physical]_memory() calls pass a boolean 'is_write' argument 2020-02-20 14:47:08 +01:00
pca9552.c hw/misc/pca9552: Trace GPIO High/Low events 2020-06-26 14:30:28 +01:00
pci-testdev.c qdev: set properties with device_class_set_props() 2020-01-24 20:59:15 +01:00
puv3_pm.c hw/unicore32/puv3: Use qemu_log_mask(ERROR) instead of debug printf() 2020-06-09 19:01:56 +02:00
pvpanic.c qdev: set properties with device_class_set_props() 2020-01-24 20:59:15 +01:00
sga.c
slavio_misc.c
stm32f2xx_syscfg.c
stm32f4xx_exti.c hw/misc: Add the STM32F4xx EXTI device 2020-01-17 14:09:29 +00:00
stm32f4xx_syscfg.c hw/misc/stm32f4xx_syscfg: Fix copy/paste error 2020-01-23 15:34:04 +00:00
tmp105.c qom: Drop parameter @errp of object_property_add() & friends 2020-05-15 07:07:58 +02:00
tmp105.h
tmp421.c qom: Drop parameter @errp of object_property_add() & friends 2020-05-15 07:07:58 +02:00
trace-events hw/misc/pca9552: Trace GPIO High/Low events 2020-06-26 14:30:28 +01:00
tz-mpc.c qdev: set properties with device_class_set_props() 2020-01-24 20:59:15 +01:00
tz-msc.c qdev: set properties with device_class_set_props() 2020-01-24 20:59:15 +01:00
tz-ppc.c qdev: set properties with device_class_set_props() 2020-01-24 20:59:15 +01:00
unimp.c qdev: set properties with device_class_set_props() 2020-01-24 20:59:15 +01:00
vmcoreinfo.c hw/misc/vmcoreinfo: Add comment about reset handler 2019-10-15 18:18:08 -03:00
zynq_slcr.c hw/misc/zynq_slcr: add clock generation for uarts 2020-04-30 15:35:41 +01:00
zynq-xadc.c