On 12 November 2015 at 17:54, Peter Crosthwaite <crosthwaite.pe...@gmail.com> wrote: > From: Guenter Roeck <li...@roeck-us.net> > > 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.fran...@xilinx.com> > Signed-off-by: Guenter Roeck <li...@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.pe...@gmail.com> > --- > v5: > Fix compile warning > v4: > Addressed Alistair review > Minor whitespace changes > Use ZYNQ_XADC_FIFO_DEPTH instead of ARRAY_SIZE() > v3: > See [PC changes] in commit message > v2: > Use extract32() > Merge zynq_xadc_reset() and _zynq_xadc_reset() into one function > Use "xlnx,zynq_xadc" > Move device model to include/hw/misc/zynq_xadc.h > irq -> qemu_irq > xadc_dfifo_depth -> xadc_dfifo_entries > Dropped unnecessary comments > Merged zynq_xadc_realize() into zynq_xadc_init() > > hw/arm/xilinx_zynq.c | 6 + > hw/misc/Makefile.objs | 1 + > hw/misc/zynq-xadc.c | 302 > ++++++++++++++++++++++++++++++++++++++++++++ > include/hw/misc/zynq-xadc.h | 46 +++++++ > 4 files changed, 355 insertions(+) > create mode 100644 hw/misc/zynq-xadc.c > create mode 100644 include/hw/misc/zynq-xadc.h >
Applied to master, thanks. -- PMM