On 3 November 2015 at 04:25, Peter Crosthwaite <crosthwaitepe...@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. > > 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. > ] > Signed-off-by: Peter Crosthwaite <crosthwaite.pe...@gmail.com> > --- > 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 | 301 > ++++++++++++++++++++++++++++++++++++++++++++ > include/hw/misc/zynq-xadc.h | 46 +++++++ > 4 files changed, 354 insertions(+) > create mode 100644 hw/misc/zynq-xadc.c > create mode 100644 include/hw/misc/zynq-xadc.h
Hardfreeze next week, and this is definitely new feature rather than a bug fix, so should it really go into 2.5? (Yes, I know the original patch was on list before softfreeze began, but there's been a delay of nearly two months between v2 and v3 with the result that this would now be adding this feature late in softfreeze rather than early in it...) thanks -- PMM