| # SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) |
| %YAML 1.2 |
| --- |
| $id: http://devicetree.org/schemas/iio/adc/adi,ad4695.yaml# |
| $schema: http://devicetree.org/meta-schemas/core.yaml# |
| |
| title: Analog Devices Easy Drive Multiplexed SAR Analog to Digital Converters |
| |
| maintainers: |
| - Michael Hennerich <Michael.Hennerich@analog.com> |
| - Nuno Sá <nuno.sa@analog.com> |
| |
| description: | |
| A family of similar multi-channel analog to digital converters with SPI bus. |
| |
| * https://www.analog.com/en/products/ad4695.html |
| * https://www.analog.com/en/products/ad4696.html |
| * https://www.analog.com/en/products/ad4697.html |
| * https://www.analog.com/en/products/ad4698.html |
| |
| $ref: /schemas/spi/spi-peripheral-props.yaml# |
| |
| properties: |
| compatible: |
| enum: |
| - adi,ad4695 |
| - adi,ad4696 |
| - adi,ad4697 |
| - adi,ad4698 |
| |
| reg: |
| maxItems: 1 |
| |
| spi-max-frequency: |
| maximum: 80000000 |
| |
| spi-cpol: true |
| spi-cpha: true |
| |
| spi-rx-bus-width: |
| minimum: 1 |
| maximum: 4 |
| |
| avdd-supply: |
| description: Analog power supply. |
| |
| vio-supply: |
| description: I/O pin power supply. |
| |
| ldo-in-supply: |
| description: Internal LDO Input. Mutually exclusive with vdd-supply. |
| |
| vdd-supply: |
| description: Core power supply. Mutually exclusive with ldo-in-supply. |
| |
| ref-supply: |
| description: |
| External reference voltage. Mutually exclusive with refin-supply. |
| |
| refin-supply: |
| description: |
| Internal reference buffer input. Mutually exclusive with ref-supply. |
| |
| com-supply: |
| description: Common voltage supply for pseudo-differential analog inputs. |
| |
| adi,no-ref-current-limit: |
| $ref: /schemas/types.yaml#/definitions/flag |
| description: |
| When this flag is present, the REF Overvoltage Reduced Current protection |
| is disabled. |
| |
| adi,no-ref-high-z: |
| $ref: /schemas/types.yaml#/definitions/flag |
| description: |
| Enable this flag if the ref-supply requires Reference Input High-Z Mode |
| to be disabled for proper operation. |
| |
| cnv-gpios: |
| description: The Convert Input (CNV). If omitted, CNV is tied to SPI CS. |
| maxItems: 1 |
| |
| reset-gpios: |
| description: The Reset Input (RESET). Should be configured GPIO_ACTIVE_LOW. |
| maxItems: 1 |
| |
| interrupts: |
| minItems: 1 |
| items: |
| - description: Signal coming from the BSY_ALT_GP0 pin (ALERT or BUSY). |
| - description: Signal coming from the GP2 pin (ALERT). |
| - description: Signal coming from the GP3 pin (BUSY). |
| |
| interrupt-names: |
| minItems: 1 |
| items: |
| - const: gp0 |
| - const: gp2 |
| - const: gp3 |
| |
| gpio-controller: true |
| |
| "#gpio-cells": |
| const: 2 |
| description: | |
| The first cell is the GPn number: 0 to 3. |
| The second cell takes standard GPIO flags. |
| |
| "#address-cells": |
| const: 1 |
| |
| "#size-cells": |
| const: 0 |
| |
| patternProperties: |
| "^in(?:[13579]|1[135])-supply$": |
| description: |
| Optional voltage supply for odd numbered channels when they are used as |
| the negative input for a pseudo-differential channel. |
| |
| "^channel@[0-9a-f]$": |
| type: object |
| $ref: adc.yaml |
| unevaluatedProperties: false |
| description: |
| Describes each individual channel. In addition the properties defined |
| below, bipolar from adc.yaml is also supported. |
| |
| properties: |
| reg: |
| maximum: 15 |
| |
| common-mode-channel: |
| description: |
| Describes the common mode channel for single channels. 0xFF is REFGND |
| and OxFE is COM. Macros are available for these values in |
| dt-bindings/iio/adi,ad4695.h. Values 1 to 15 correspond to INx inputs. |
| Only odd numbered INx inputs can be used as common mode channels. |
| enum: [1, 3, 5, 7, 9, 11, 13, 15, 0xFE, 0xFF] |
| default: 0xFF |
| |
| adi,no-high-z: |
| $ref: /schemas/types.yaml#/definitions/flag |
| description: |
| Enable this flag if the input pin requires the Analog Input High-Z |
| Mode to be disabled for proper operation. |
| |
| required: |
| - reg |
| |
| allOf: |
| # bipolar mode can't be used with REFGND |
| - if: |
| properties: |
| common-mode-channel: |
| const: 0xFF |
| then: |
| properties: |
| bipolar: false |
| |
| required: |
| - compatible |
| - reg |
| - avdd-supply |
| - vio-supply |
| |
| allOf: |
| - oneOf: |
| - required: |
| - ldo-in-supply |
| - required: |
| - vdd-supply |
| |
| - oneOf: |
| - required: |
| - ref-supply |
| - required: |
| - refin-supply |
| |
| # the internal reference buffer always requires high-z mode |
| - if: |
| required: |
| - refin-supply |
| then: |
| properties: |
| adi,no-ref-high-z: false |
| |
| # limit channels for 8-channel chips |
| - if: |
| properties: |
| compatible: |
| contains: |
| enum: |
| - adi,ad4697 |
| - adi,ad4698 |
| then: |
| patternProperties: |
| "^in(?:9|1[135])-supply$": false |
| "^channel@[0-7]$": |
| properties: |
| reg: |
| maximum: 7 |
| common-mode-channel: |
| enum: [1, 3, 5, 7, 0xFE, 0xFF] |
| "^channel@[8-9a-f]$": false |
| |
| unevaluatedProperties: false |
| |
| examples: |
| - | |
| #include <dt-bindings/gpio/gpio.h> |
| #include <dt-bindings/iio/adi,ad4695.h> |
| |
| spi { |
| #address-cells = <1>; |
| #size-cells = <0>; |
| |
| adc@0 { |
| compatible = "adi,ad4695"; |
| reg = <0>; |
| spi-cpol; |
| spi-cpha; |
| spi-max-frequency = <80000000>; |
| avdd-supply = <&power_supply>; |
| ldo-in-supply = <&power_supply>; |
| vio-supply = <&io_supply>; |
| refin-supply = <&supply_5V>; |
| com-supply = <&supply_2V5>; |
| in3-supply = <&supply_2V5>; |
| reset-gpios = <&gpio 1 GPIO_ACTIVE_LOW>; |
| |
| #address-cells = <1>; |
| #size-cells = <0>; |
| |
| /* Pseudo-differential channel between IN0 and REFGND. */ |
| channel@0 { |
| reg = <0>; |
| }; |
| |
| /* Pseudo-differential channel between IN1 and COM. */ |
| channel@1 { |
| reg = <1>; |
| common-mode-channel = <AD4695_COMMON_MODE_COM>; |
| bipolar; |
| }; |
| |
| /* Pseudo-differential channel between IN2 and IN3. */ |
| channel@2 { |
| reg = <2>; |
| common-mode-channel = <3>; |
| bipolar; |
| }; |
| }; |
| }; |