# 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 - Nuno Sá 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. items: 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: items: enum: [1, 3, 5, 7, 0xFE, 0xFF] "^channel@[8-9a-f]$": false unevaluatedProperties: false examples: - | #include #include 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 = ; bipolar; }; /* Pseudo-differential channel between IN2 and IN3. */ channel@2 { reg = <2>; common-mode-channel = <3>; bipolar; }; }; };