qemu-patch-raspberry4/include/hw/misc
Andrew Jeffery 1c8a2388aa hw/misc: Add a model for the ASPEED System Control Unit
The SCU is a collection of chip-level control registers that manage the
various functions supported by ASPEED SoCs. Typically the bits control
interactions with clocks, external hardware or reset behaviour, and we
can largly take a hands-off approach to reads and writes.

Firmware makes heavy use of the state to determine how to boot, but the
reset values vary from SoC to SoC (eg AST2400 vs AST2500). A qdev
property is exposed so that the integrating SoC model can configure the
silicon revision, which in-turn selects the appropriate reset values.
Further qdev properties are exposed so the board model can configure the
board-dependent hardware strapping.

Almost all provided AST2400 reset values are specified by the datasheet.
The notable exception is SOC_SCRATCH1, where we mark the DRAM as
successfully initialised to avoid unnecessary dark corners in the SoC's
u-boot support.

Signed-off-by: Andrew Jeffery <andrew@aj.id.au>
Message-id: 1466744305-23163-2-git-send-email-andrew@aj.id.au
Reviewed-by: Peter Maydell <peter.maydell@linaro.org>
[PMM: drop unnecessary inttypes.h include]
Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
2016-06-27 15:37:33 +01:00
..
a9scu.h a9mpcore: Embed A9SCUState 2013-11-05 17:47:29 +01:00
arm11scu.h arm11mpcore: Split off SCU device 2013-11-05 17:47:30 +01:00
arm_integrator_debug.h integrator: fix Linux boot failure by emulating dbg region 2013-10-31 14:00:16 +01:00
aspeed_scu.h hw/misc: Add a model for the ASPEED System Control Unit 2016-06-27 15:37:33 +01:00
aux.h introduce aux-bus 2016-06-14 15:59:15 +01:00
bcm2835_mbox.h bcm2835_mbox: add BCM2835 mailboxes 2016-02-03 14:56:32 +00:00
bcm2835_mbox_defs.h bcm2835_mbox: add BCM2835 mailboxes 2016-02-03 14:56:32 +00:00
bcm2835_property.h bcm2835_property: implement framebuffer control/configuration properties 2016-03-16 17:42:18 +00: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
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: Add the CLK_IPG_HIGH clock 2016-03-16 17:42:18 +00:00
ivshmem.h ivshmem: add check on protocol version in QEMU 2015-10-24 18:03:18 +02:00
mips_cmgcr.h hw/mips/cps: create CPC block inside CPS 2016-03-30 09:13:59 +01:00
mips_cpc.h hw/mips: add initial Cluster Power Controller support 2016-03-30 09:13:59 +01:00
mips_itu.h hw/mips: implement ITC Configuration Tags and Storage Cells 2016-03-30 09:14:00 +01:00
stm32f2xx_syscfg.h stm32f2xx_SYSCFG: Add the stm32f2xx SYSCFG 2015-03-11 13:21:05 +00:00
tmp105_regs.h hw: move headers to include/ 2013-04-08 18:13:10 +02:00
zynq-xadc.h hw/misc: Add support for ADC controller in Xilinx Zynq 7000 2015-11-12 21:30:42 +00:00