mirror_qemu/hw/misc
Guenter Roeck 74fcbd22d2 hw/misc: Add support for ADC controller in Xilinx Zynq 7000
Add support for the Xilinx XADC core used in Zynq 7000.

References:
- Zynq-7000 All Programmable SoC Technical Reference Manual
- 7 Series FPGAs and Zynq-7000 All Programmable SoC XADC
  Dual 12-Bit 1 MSPS Analog-to-Digital Converter

Tested with Linux using QEMU machine xilinx-zynq-a9 with devicetree
files zynq-zc702.dtb and zynq-zc706.dtb, and kernel configuration
multi_v7_defconfig.

Reviewed-by: Alistair Francis <alistair.francis@xilinx.com>
Signed-off-by: Guenter Roeck <linux@roeck-us.net>
[ PC changes:
  * Changed macro names to match TRM where possible
  * Made programmers model macro scheme consistent
  * Dropped XADC_ZYNQ_ prefix on local macros
  * Fix ALM field width
  * Update threshold-comparison interrupts in _update_ints()
  * factored out DFIFO pushes into helper. Renamed to "push/pop"
  * Changed xadc_reg to 10 bits and added OOB check.
  * Reduced scope of MCTL reset to just stop channel coms.
  * Added dummy read data to write commands
  * Changed _ to - seperators in string names and filenames
  * Dropped ------------ in header comment
  * Catchall'ed _update_ints() in _write handler.
  * Minor whitespace changes.
  * Use ZYNQ_XADC_FIFO_DEPTH instead of ARRAY_SIZE()
]
Signed-off-by: Peter Crosthwaite <crosthwaite.peter@gmail.com>
Tested-by: Guenter Roeck <linux@roeck-us.net>
Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
2015-11-12 21:30:42 +00:00
..
macio cuda.c: add delay to setting of SR_INT bit 2015-11-12 13:15:55 +11:00
Makefile.objs hw/misc: Add support for ADC controller in Xilinx Zynq 7000 2015-11-12 21:30:42 +00:00
a9scu.c a9mpcore: Embed A9SCUState 2013-11-05 17:47:29 +01:00
applesmc.c pc: export applesmc IO port/len 2015-03-01 12:33:22 +01:00
arm11scu.c arm11mpcore: Split off SCU device 2013-11-05 17:47:30 +01:00
arm_integrator_debug.c hw: do not pass NULL to memory_region_init from instance_init 2015-10-09 15:25:56 +02:00
arm_l2x0.c sysbus: Set cannot_instantiate_with_device_add_yet 2013-12-23 00:27:22 +01:00
arm_sysctl.c hw/misc/arm_sysctl: Fix bad boundary check on mb clock accesses 2014-02-26 17:19:57 +00:00
cbus.c hw: Fix qemu_allocate_irqs() leaks 2014-06-30 21:13:30 +02:00
debugexit.c qdev: Remove hex8/32/64 property types 2014-02-14 21:12:04 +01:00
eccmemctl.c savevm: Remove all the unneeded version_minimum_id_old (rest) 2014-05-14 15:24:51 +02:00
edu.c misc: Fix new collection of typos 2015-04-30 16:05:48 +03:00
exynos4210_pmu.c savevm: Remove all the unneeded version_minimum_id_old (arm) 2014-05-13 16:09:35 +01:00
imx_ccm.c i.MX: Standardize i.MX CCM debug 2015-10-27 15:59:46 +00:00
ivshmem.c ivshmem: use little-endian int64_t for the protocol 2015-10-26 10:19:53 +01:00
max111x.c savevm: Remove all the unneeded version_minimum_id_old (arm) 2014-05-13 16:09:35 +01:00
milkymist-hpdmc.c savevm: Remove all the unneeded version_minimum_id_old (rest) 2014-05-14 15:24:51 +02:00
milkymist-pfpu.c milkymist-pfpu: fix GCC 5.0.0 aggressive-loop-optimizations warning 2015-03-10 08:15:34 +03:00
mst_fpga.c savevm: Remove all the unneeded version_minimum_id_old (arm) 2014-05-13 16:09:35 +01:00
omap_clk.c arm: Use g_new() & friends where that makes obvious sense 2015-09-07 10:39:27 +01:00
omap_gpmc.c arm: Use g_new() & friends where that makes obvious sense 2015-09-07 10:39:27 +01:00
omap_l4.c omap: Fix warnings from Sparse 2015-03-19 11:11:55 +03:00
omap_sdrc.c arm: Use g_new() & friends where that makes obvious sense 2015-09-07 10:39:27 +01:00
omap_tap.c omap: Fix warnings from Sparse 2015-03-19 11:11:55 +03:00
pc-testdev.c devices: Associate devices to their logical category 2013-07-29 10:37:09 -05:00
pci-testdev.c pci: Trivial device model conversions to realize 2015-02-26 12:42:16 +01:00
puv3_pm.c puv3_pm: QOM cast cleanup 2013-07-29 21:06:59 +02:00
pvpanic.c Added generic panic handler qemu_system_guest_panicked() 2015-09-07 18:14:03 +02:00
sga.c devices: Associate devices to their logical category 2013-07-29 10:37:09 -05:00
slavio_misc.c sun4m: fix slavio sysctrl and led register sizes 2015-04-27 18:24:18 +02:00
stm32f2xx_syscfg.c stm32f2xx_SYSCFG: Add the stm32f2xx SYSCFG 2015-03-11 13:21:05 +00:00
tmp105.c savevm: Remove all the unneeded version_minimum_id_old (arm) 2014-05-13 16:09:35 +01:00
tmp105.h hw: move private headers to hw/ subdirectories. 2013-04-08 18:13:16 +02:00
vmport.c isa: Clean up use of cannot_instantiate_with_device_add_yet 2013-12-23 00:27:23 +01:00
zynq-xadc.c hw/misc: Add support for ADC controller in Xilinx Zynq 7000 2015-11-12 21:30:42 +00:00
zynq_slcr.c misc: zynq_slcr: Fix MMIO writes 2015-10-16 13:13:47 +01:00