qemu/include/hw/misc
Mark Cave-Ayland 975fcedd31 mac_via: rework ADB state machine to be compatible with both MacOS and Linux
The existing ADB state machine is designed to work with Linux which has a different
interpretation of the state machine detailed in "Guide to the Macintosh Family
Hardware". In particular the current Linux implementation includes an extra change
to IDLE state when switching the VIA between send and receive modes which does not
occur in MacOS, and omitting this transition causes the current mac_via ADB state
machine to fail.

Rework the ADB state machine accordingly so that it can enumerate and autopoll the
ADB under both Linux and MacOS, including the addition of the new adb_autopoll_block()
and adb_autopoll_unblock() functions.

Signed-off-by: Mark Cave-Ayland <mark.cave-ayland@ilande.co.uk>
Tested-by: Finn Thain <fthain@telegraphics.com.au>
Acked-by: Laurent Vivier <laurent@vivier.eu>
Message-Id: <20200623204936.24064-20-mark.cave-ayland@ilande.co.uk>
2020-06-26 10:13:52 +01:00
..
macio pmu: convert to use ADBBusState internal autopoll variables 2020-06-26 10:13:51 +01:00
a9scu.h a9mpcore: Embed A9SCUState 2013-11-05 17:47:29 +01:00
allwinner-cpucfg.h hw/arm/allwinner: add CPU Configuration module 2020-03-12 16:27:33 +00:00
allwinner-h3-ccu.h hw/arm/allwinner-h3: add Clock Control Unit 2020-03-12 16:27:33 +00:00
allwinner-h3-dramc.h hw/arm/allwinner-h3: add SDRAM controller device 2020-03-12 16:27:33 +00:00
allwinner-h3-sysctrl.h hw/arm/allwinner-h3: add System Control module 2020-03-12 16:27:33 +00:00
allwinner-sid.h hw/arm/allwinner: add Security Identifier device 2020-03-12 16:27:33 +00:00
arm11scu.h arm11mpcore: Split off SCU device 2013-11-05 17:47:30 +01:00
arm_integrator_debug.h Clean up header guards that don't match their file name 2016-07-12 16:19:16 +02:00
armsse-cpuid.h hw/misc/armsse-cpuid: Implement SSE-200 CPU_IDENTITY register block 2019-02-01 14:55:43 +00:00
armsse-mhu.h Clean up header guards that don't match their file name 2019-05-13 08:58:55 +02:00
aspeed_scu.h aspeed: Support AST2600A1 silicon revision 2020-05-11 11:00:26 +01:00
aspeed_sdmc.h arm/aspeed: actually check RAM size 2020-02-19 16:49:54 +00:00
aspeed_xdma.h hw/misc/aspeed_xdma: New device 2019-07-01 17:29:00 +01:00
auxbus.h auxbus: Eliminate aux_create_slave() 2020-06-15 22:05:28 +02:00
bcm2835_mbox.h hw/arm/bcm283x: Correct the license text 2020-03-23 17:22:30 +00:00
bcm2835_mbox_defs.h hw/arm/bcm283x: Correct the license text 2020-03-23 17:22:30 +00:00
bcm2835_mphi.h raspi: add BCM2835 SOC MPHI emulation 2020-06-05 17:23:09 +01:00
bcm2835_property.h hw/arm/bcm283x: Correct the license text 2020-03-23 17:22:30 +00:00
bcm2835_rng.h target-arm: Implement BCM2835 hardware RNG 2017-02-28 12:08:13 +00:00
bcm2835_thermal.h hw/misc/bcm2835_thermal: Add a dummy BCM2835 thermal sensor 2019-10-25 13:09:27 +01:00
cbus.h Include hw/irq.h a lot less 2019-08-16 13:31:52 +02:00
empty_slot.h hw/misc/empty_slot: Name the slots when created 2020-06-09 06:59:44 +02:00
grlib_ahb_apb_pnp.h leon3: introduce the plug and play mechanism 2019-05-17 09:17:11 +01:00
imx6_ccm.h i.MX: Add i.MX6 CCM and ANALOG device. 2016-03-16 17:42:18 +00:00
imx6_src.h i.MX: Add i.MX6 System Reset Controller device. 2016-05-12 13:22:28 +01:00
imx6ul_ccm.h i.MX6UL: Add i.MX6UL specific CCM device 2018-08-16 14:05:28 +01:00
imx7_ccm.h i.MX: Add code to emulate i.MX7 CCM, PMU and ANALOG IP blocks 2018-02-09 10:40:29 +00:00
imx7_gpr.h i.MX: Add implementation of i.MX7 GPR IP block 2018-02-09 10:40:30 +00:00
imx7_snvs.h i.MX: Add code to emulate i.MX7 SNVS IP-block 2018-02-09 10:40:30 +00:00
imx25_ccm.h i.MX: Add an i.MX25 specific CCM class/instance 2015-12-17 13:37:16 +00:00
imx31_ccm.h i.MX: move i.MX31 CCM object to register array 2016-01-11 15:52:18 +00:00
imx_ccm.h i.MX: split the GPT timer implementation into per SOC definitions 2016-07-07 13:47:01 +01:00
imx_rngc.h i.MX: add an emulation for RNGC 2020-01-17 14:27:16 +00:00
iotkit-secctl.h hw/misc/iotkit-secctl: Support 4 internal MPCs 2019-02-01 14:55:42 +00:00
iotkit-sysctl.h hw/arm/armsse: Unify init-svtor and cpuwait handling 2019-02-28 11:03:04 +00:00
iotkit-sysinfo.h iotkit-sysinfo: Make SYS_VERSION and SYS_CONFIG configurable 2019-02-01 14:55:42 +00:00
ivshmem.h ivshmem: add check on protocol version in QEMU 2015-10-24 18:03:18 +02:00
mac_via.h mac_via: rework ADB state machine to be compatible with both MacOS and Linux 2020-06-26 10:13:52 +01:00
mips_cmgcr.h include: Make headers more self-contained 2019-08-16 13:31:51 +02:00
mips_cpc.h include: Make headers more self-contained 2019-08-16 13:31:51 +02:00
mips_itu.h target/mips: Update ITU to utilize SAARI and SAAR CP0 registers 2019-01-18 16:53:28 +01:00
mos6522.h mos6522: remove anh register 2020-01-08 11:01:59 +11:00
mps2-fpgaio.h hw/misc/mps2-fpgaio: Implement PSCNTR and COUNTER 2018-08-24 13:17:40 +01:00
mps2-scc.h hw/misc/mps2_scc: Implement MPS2 Serial Communication Controller 2017-07-17 13:36:08 +01:00
msf2-sysreg.h msf2: Microsemi Smartfusion2 System Register block 2017-09-21 16:36:56 +01:00
nrf51_rng.h Clean up decorations and whitespace around header guards 2019-05-13 08:58:55 +02:00
pca9552.h misc: add pca9552 LED blinker model 2018-06-08 13:15:32 +01:00
pca9552_regs.h misc: add pca9552 LED blinker model 2018-06-08 13:15:32 +01:00
pvpanic.h include: Make headers more self-contained 2019-08-16 13:31:51 +02:00
stm32f2xx_syscfg.h Include hw/hw.h exactly where needed 2019-08-16 13:31:52 +02:00
stm32f4xx_exti.h hw/misc: Add the STM32F4xx EXTI device 2020-01-17 14:09:29 +00:00
stm32f4xx_syscfg.h hw/misc: Add the STM32F4xx Sysconfig device 2020-01-17 14:09:29 +00:00
tmp105_regs.h Clean up header guards that don't match their file name 2016-07-12 16:19:16 +02:00
tz-mpc.h hw/misc/tz-mpc.c: Implement registers 2018-06-22 13:28:39 +01:00
tz-msc.h hw/misc/tz-msc: Model TrustZone Master Security Controller 2018-08-24 13:17:43 +01:00
tz-ppc.h hw/misc/tz-ppc: Support having unused ports in the middle of the range 2019-02-21 18:17:46 +00:00
unimp.h sysbus: Convert to sysbus_realize() etc. with Coccinelle 2020-06-15 22:05:28 +02:00
vmcoreinfo.h Include hw/qdev-properties.h less 2019-08-16 13:31:53 +02:00
zynq-xadc.h hw/misc: Add support for ADC controller in Xilinx Zynq 7000 2015-11-12 21:30:42 +00:00