| 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>; |
| }; |
| }; |