| # SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause) |
| # Copyright 2019 Analog Devices Inc. |
| %YAML 1.2 |
| --- |
| $id: http://devicetree.org/schemas/iio/adc/adi,ad7124.yaml# |
| $schema: http://devicetree.org/meta-schemas/core.yaml# |
| |
| title: Analog Devices AD7124 ADC device driver |
| |
| maintainers: |
| - Stefan Popa <stefan.popa@analog.com> |
| |
| description: | |
| Bindings for the Analog Devices AD7124 ADC device. Datasheet can be |
| found here: |
| https://www.analog.com/media/en/technical-documentation/data-sheets/AD7124-8.pdf |
| |
| properties: |
| compatible: |
| enum: |
| - adi,ad7124-4 |
| - adi,ad7124-8 |
| |
| reg: |
| description: SPI chip select number for the device |
| maxItems: 1 |
| |
| clocks: |
| maxItems: 1 |
| description: phandle to the master clock (mclk) |
| |
| clock-names: |
| items: |
| - const: mclk |
| |
| interrupts: |
| description: IRQ line for the ADC |
| maxItems: 1 |
| |
| '#address-cells': |
| const: 1 |
| |
| '#size-cells': |
| const: 0 |
| |
| refin1-supply: |
| description: refin1 supply can be used as reference for conversion. |
| |
| refin2-supply: |
| description: refin2 supply can be used as reference for conversion. |
| |
| avdd-supply: |
| description: avdd supply can be used as reference for conversion. |
| |
| spi-max-frequency: true |
| |
| required: |
| - compatible |
| - reg |
| - clocks |
| - clock-names |
| - interrupts |
| |
| patternProperties: |
| "^channel@([0-9]|1[0-5])$": |
| type: object |
| description: | |
| Represents the external channels which are connected to the ADC. |
| See Documentation/devicetree/bindings/iio/adc/adc.txt. |
| |
| properties: |
| reg: |
| description: | |
| The channel number. It can have up to 8 channels on ad7124-4 |
| and 16 channels on ad7124-8, numbered from 0 to 15. |
| items: |
| minimum: 0 |
| maximum: 15 |
| |
| adi,reference-select: |
| description: | |
| Select the reference source to use when converting on |
| the specific channel. Valid values are: |
| 0: REFIN1(+)/REFIN1(−). |
| 1: REFIN2(+)/REFIN2(−). |
| 3: AVDD |
| If this field is left empty, internal reference is selected. |
| $ref: /schemas/types.yaml#/definitions/uint32 |
| enum: [0, 1, 3] |
| |
| diff-channels: |
| description: see Documentation/devicetree/bindings/iio/adc/adc.txt |
| items: |
| minimum: 0 |
| maximum: 15 |
| |
| bipolar: |
| description: see Documentation/devicetree/bindings/iio/adc/adc.txt |
| type: boolean |
| |
| adi,buffered-positive: |
| description: Enable buffered mode for positive input. |
| type: boolean |
| |
| adi,buffered-negative: |
| description: Enable buffered mode for negative input. |
| type: boolean |
| |
| required: |
| - reg |
| - diff-channels |
| |
| additionalProperties: false |
| |
| examples: |
| - | |
| spi { |
| #address-cells = <1>; |
| #size-cells = <0>; |
| |
| 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>; |
| adi,buffered-positive; |
| }; |
| |
| channel@1 { |
| reg = <1>; |
| bipolar; |
| diff-channels = <2 3>; |
| adi,reference-select = <0>; |
| adi,buffered-positive; |
| adi,buffered-negative; |
| }; |
| |
| channel@2 { |
| reg = <2>; |
| diff-channels = <4 5>; |
| }; |
| |
| channel@3 { |
| reg = <3>; |
| diff-channels = <6 7>; |
| }; |
| }; |
| }; |