mirror_qemu/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
..
macio dbdma: use DMA memory interface for memory accesses 2016-06-07 10:17:45 +10:00
Makefile.objs hw/misc: Add a model for the ASPEED System Control Unit 2016-06-27 15:37:33 +01:00
a9scu.c arm: Clean up includes 2016-01-29 15:07:23 +00:00
applesmc.c hw/misc: Clean up includes 2016-01-29 15:07:24 +00:00
arm11scu.c hw: explicitly include qemu/log.h 2016-05-19 16:42:29 +02:00
arm_integrator_debug.c hw: explicitly include qemu/log.h 2016-05-19 16:42:29 +02:00
arm_l2x0.c hw/misc: QOM'ify arm_l2x0.c 2016-06-14 15:59:14 +01:00
arm_sysctl.c hw: explicitly include qemu/log.h 2016-05-19 16:42:29 +02:00
aspeed_scu.c hw/misc: Add a model for the ASPEED System Control Unit 2016-06-27 15:37:33 +01:00
aux.c introduce aux-bus 2016-06-14 15:59:15 +01:00
bcm2835_mbox.c hw: explicitly include qemu/log.h 2016-05-19 16:42:29 +02:00
bcm2835_property.c hw: explicitly include qemu/log.h 2016-05-19 16:42:29 +02:00
cbus.c include/hw/hw.h: Don't include qemu-common.h 2016-03-22 22:20:16 +01:00
debugexit.c x86: Clean up includes 2016-01-29 15:07:22 +00:00
eccmemctl.c hw/misc: Clean up includes 2016-01-29 15:07:24 +00:00
edu.c qom: Swap 'name' next to visitor in ObjectPropertyAccessor 2016-02-08 17:29:56 +01:00
exynos4210_pmu.c hw/misc: QOM'ify exynos4210_pmu.c 2016-06-14 15:59:14 +01:00
hyperv_testdev.c hw/misc: Clean up includes 2016-01-29 15:07:24 +00:00
imx6_ccm.c hw: explicitly include qemu/log.h 2016-05-19 16:42:29 +02:00
imx6_src.c hw: explicitly include qemu/log.h 2016-05-19 16:42:29 +02:00
imx25_ccm.c hw: explicitly include qemu/log.h 2016-05-19 16:42:29 +02:00
imx31_ccm.c hw: explicitly include qemu/log.h 2016-05-19 16:42:29 +02:00
imx_ccm.c hw: explicitly include qemu/log.h 2016-05-19 16:42:29 +02:00
ivshmem.c os-posix: include sys/mman.h 2016-06-16 18:39:03 +02:00
max111x.c hw/misc: Clean up includes 2016-01-29 15:07:24 +00:00
milkymist-hpdmc.c milkymist: update specification URLs 2016-06-20 18:12:04 +02:00
milkymist-pfpu.c milkymist: update specification URLs 2016-06-20 18:12:04 +02:00
mips_cmgcr.c hw: explicitly include qemu/log.h 2016-05-19 16:42:29 +02:00
mips_cpc.c hw: explicitly include qemu/log.h 2016-05-19 16:42:29 +02:00
mips_itu.c cpu: move exec-all.h inclusion out of cpu.h 2016-05-19 16:42:29 +02:00
mst_fpga.c hw/misc: QOM'ify mst_fpga.c 2016-06-14 15:59:14 +01:00
omap_clk.c hw/misc: Clean up includes 2016-01-29 15:07:24 +00:00
omap_gpmc.c hw/misc: Clean up includes 2016-01-29 15:07:24 +00:00
omap_l4.c hw/misc: Clean up includes 2016-01-29 15:07:24 +00:00
omap_sdrc.c hw/misc: Clean up includes 2016-01-29 15:07:24 +00:00
omap_tap.c hw/misc: Clean up includes 2016-01-29 15:07:24 +00:00
pc-testdev.c os-posix: include sys/mman.h 2016-06-16 18:39:03 +02:00
pci-testdev.c dma: do not depend on kvm_enabled() 2016-05-19 16:42:28 +02:00
puv3_pm.c unicore: Clean up includes 2016-01-29 15:07:22 +00:00
pvpanic.c hw/misc: Clean up includes 2016-01-29 15:07:24 +00:00
sga.c x86: Clean up includes 2016-01-29 15:07:22 +00:00
slavio_misc.c hw/misc: Clean up includes 2016-01-29 15:07:24 +00:00
stm32f2xx_syscfg.c hw: explicitly include qemu/log.h 2016-05-19 16:42:29 +02:00
tmp105.c include/qemu/osdep.h: Don't include qapi/error.h 2016-03-22 22:20:15 +01:00
tmp105.h hw: move private headers to hw/ subdirectories. 2013-04-08 18:13:16 +02:00
trace-events hw/misc: Add a model for the ASPEED System Control Unit 2016-06-27 15:37:33 +01:00
vmport.c hw/misc: Clean up includes 2016-01-29 15:07:24 +00:00
zynq-xadc.c hw: explicitly include qemu/log.h 2016-05-19 16:42:29 +02:00
zynq_slcr.c hw: explicitly include qemu/log.h 2016-05-19 16:42:29 +02:00