Analog Devices AD7124 ADC device driver Required properties for the AD7124: - compatible: Must be one of "adi,ad7124-4" or "adi,ad7124-8" - reg: SPI chip select number for the device - spi-max-frequency: Max SPI frequency to use see: Documentation/devicetree/bindings/spi/spi-bus.txt - clocks: phandle to the master clock (mclk) see: Documentation/devicetree/bindings/clock/clock-bindings.txt - clock-names: Must be "mclk". - interrupts: IRQ line for the ADC see: Documentation/devicetree/bindings/interrupt-controller/interrupts.txt Required properties: * #address-cells: Must be 1. * #size-cells: Must be 0. Subnode(s) represent the external channels which are connected to the ADC. Each subnode represents one channel and has the following properties: Required properties: * reg: The channel number. It can have up to 4 channels on ad7124-4 and 8 channels on ad7124-8, numbered from 0 to 15. * diff-channels: see: Documentation/devicetree/bindings/iio/adc/adc.txt Optional properties: * bipolar: see: Documentation/devicetree/bindings/iio/adc/adc.txt * adi,reference-select: Select the reference source to use when converting on the the specific channel. Valid values are: 0: REFIN1(+)/REFIN1(−). 1: REFIN2(+)/REFIN2(−). 3: AVDD If this field is left empty, internal reference is selected. Optional properties: - refin1-supply: refin1 supply can be used as reference for conversion. - refin2-supply: refin2 supply can be used as reference for conversion. - avdd-supply: avdd supply can be used as reference for conversion. Example: adc@0 { compatible = "adi,ad7124-4"; reg = <0>; spi-max-frequency = <5000000>; interrupts = <25 2>; interrupt-parent = <&gpio>; refin1-supply = <&adc_vref>; clocks = <&ad7124_mclk>; clock-names = "mclk"; #address-cells = <1>; #size-cells = <0>; channel@0 { reg = <0>; diff-channels = <0 1>; adi,reference-select = <0>; }; channel@1 { reg = <1>; bipolar; diff-channels = <2 3>; adi,reference-select = <0>; }; channel@2 { reg = <2>; diff-channels = <4 5>; }; channel@3 { reg = <3>; diff-channels = <6 7>; }; };