Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

dt-bindings:iio:xilinx-xadc: Add Xilinx System Management Wizard binding docs

Add binding documentation for the Xilinx System Management Wizard. The
Xilinx System Management Wizard is a AXI frontend for the Xilinx System
Monitor found in the UltraScale and UltraScale+ FPGAs.

The System Monitor is the equivalent to the Xilinx XADC found in their
previous generation of FPGAs and their external and internal interfaces are
very similar. For this reason the share the same binding documentation. But
since they are not 100% compatible and software will have to know about the
differences they use a different compatible string.

Signed-off-by: Lars-Peter Clausen <lars@metafoo.de>
Link: https://lore.kernel.org/r/20200922134624.13191-1-lars@metafoo.de
Signed-off-by: Jonathan Cameron <Jonathan.Cameron@huawei.com>

authored by

Lars-Peter Clausen and committed by
Jonathan Cameron
d0dc4c80 d61adf60

+39 -10
+39 -10
Documentation/devicetree/bindings/iio/adc/xilinx-xadc.txt
··· 1 1 Xilinx XADC device driver 2 2 3 - This binding document describes the bindings for both of them since the 4 - bindings are very similar. The Xilinx XADC is a ADC that can be found in the 5 - series 7 FPGAs from Xilinx. The XADC has a DRP interface for communication. 6 - Currently two different frontends for the DRP interface exist. One that is only 7 - available on the ZYNQ family as a hardmacro in the SoC portion of the ZYNQ. The 8 - other one is available on all series 7 platforms and is a softmacro with a AXI 9 - interface. This binding document describes the bindings for both of them since 10 - the bindings are very similar. 3 + This binding document describes the bindings for the Xilinx 7 Series XADC as well 4 + as the UltraScale/UltraScale+ System Monitor. 5 + 6 + The Xilinx XADC is an ADC that can be found in the Series 7 FPGAs from Xilinx. 7 + The XADC has a DRP interface for communication. Currently two different 8 + frontends for the DRP interface exist. One that is only available on the ZYNQ 9 + family as a hardmacro in the SoC portion of the ZYNQ. The other one is available 10 + on all series 7 platforms and is a softmacro with a AXI interface. This binding 11 + document describes the bindings for both of them since the bindings are very 12 + similar. 13 + 14 + The Xilinx System Monitor is an ADC that is found in the UltraScale and 15 + UltraScale+ FPGAs from Xilinx. The System Monitor provides a DRP interface for 16 + communication. Xilinx provides a standard IP core that can be used to access the 17 + System Monitor through an AXI interface in the FPGA fabric. This IP core is 18 + called the Xilinx System Management Wizard. This document describes the bindings 19 + for this IP. 11 20 12 21 Required properties: 13 22 - compatible: Should be one of ··· 24 15 configuration interface to interface to the XADC hardmacro. 25 16 * "xlnx,axi-xadc-1.00.a": When using the axi-xadc pcore to 26 17 interface to the XADC hardmacro. 18 + * "xlnx,system-management-wiz-1.3": When using the 19 + Xilinx System Management Wizard fabric IP core to access the 20 + UltraScale and UltraScale+ System Monitor. 27 21 - reg: Address and length of the register set for the device 28 22 - interrupts: Interrupt for the XADC control interface. 29 23 - clocks: When using the ZYNQ this must be the ZYNQ PCAP clock, 30 - when using the AXI-XADC pcore this must be the clock that provides the 31 - clock to the AXI bus interface of the core. 24 + when using the axi-xadc or the axi-system-management-wizard this must be 25 + the clock that provides the clock to the AXI bus interface of the core. 32 26 33 27 Optional properties: 34 28 - xlnx,external-mux: ··· 110 98 compatible = "xlnx,axi-xadc-1.00.a"; 111 99 reg = <0x43200000 0x1000>; 112 100 interrupts = <0 53 4>; 101 + interrupt-parent = <&gic>; 102 + clocks = <&fpga1_clk>; 103 + 104 + xlnx,channels { 105 + #address-cells = <1>; 106 + #size-cells = <0>; 107 + channel@0 { 108 + reg = <0>; 109 + xlnx,bipolar; 110 + }; 111 + }; 112 + }; 113 + 114 + adc@80000000 { 115 + compatible = "xlnx,system-management-wiz-1.3"; 116 + reg = <0x80000000 0x1000>; 117 + interrupts = <0 81 4>; 113 118 interrupt-parent = <&gic>; 114 119 clocks = <&fpga1_clk>; 115 120