# SPDX-License-Identifier: GPL-2.0 %YAML 1.2 --- $id: http://devicetree.org/schemas/iio/adc/adi,ad7768-1.yaml# $schema: http://devicetree.org/meta-schemas/core.yaml# title: Analog Devices AD7768-1 ADC family maintainers: - Michael Hennerich description: | Analog Devices AD7768-1 24-Bit Single Channel Low Power sigma-delta ADC family https://www.analog.com/media/en/technical-documentation/data-sheets/ad7768-1.pdf https://www.analog.com/media/en/technical-documentation/data-sheets/adaq7767-1.pdf https://www.analog.com/media/en/technical-documentation/data-sheets/adaq7768-1.pdf https://www.analog.com/media/en/technical-documentation/data-sheets/adaq7769-1.pdf properties: compatible: enum: - adi,ad7768-1 - adi,adaq7767-1 - adi,adaq7768-1 - adi,adaq7769-1 reg: maxItems: 1 clocks: maxItems: 1 clock-names: const: mclk trigger-sources: $ref: /schemas/types.yaml#/definitions/phandle-array minItems: 1 maxItems: 2 description: | A list of phandles referencing trigger source providers. Each entry represents a trigger source for the ADC: - First entry specifies the device responsible for driving the synchronization (SYNC_IN) pin, as an alternative to adi,sync-in-gpios. This can be a `gpio-trigger` or another `ad7768-1` device. If the device's own SYNC_OUT pin is internally connected to its SYNC_IN pin, reference the device itself or omit this property. - Second entry optionally defines a GPIO3 pin used as a START signal trigger. Use the accompanying trigger source cell to identify the type of each entry. interrupts: description: DRDY (Data Ready) pin, which signals conversion results are available. maxItems: 1 '#address-cells': const: 1 '#size-cells': const: 0 vref-supply: description: ADC reference voltage supply adi,aaf-gain-bp: description: | Specifies the gain applied by the Analog Anti-Aliasing Filter (AAF) to the ADC input in basis points (one hundredth of a percent). The hardware gain is determined by which input pin(s) the signal goes through into the AAF. The possible connections are: * For the ADAQ7767-1: Input connected to IN1±, IN2± or IN3±. * For the ADAQ7769-1: OUT_PGA pin connected to IN1_AAF+, IN2_AAF+, or IN3_AAF+. enum: [1430, 3640, 10000] default: 10000 pga-gpios: description: GAIN 0, GAIN1 and GAIN2 pins for gain selection. For devices that have PGA configuration input pins, pga-gpios must be defined. minItems: 3 maxItems: 3 adi,sync-in-gpios: maxItems: 1 description: Enables synchronization of multiple devices that require simultaneous sampling. A pulse is always required if the configuration is changed in any way, for example if the filter decimation rate changes. As the line is active low, it should be marked GPIO_ACTIVE_LOW. regulators: type: object description: list of regulators provided by this controller. properties: vcm-output: $ref: /schemas/regulator/regulator.yaml# type: object unevaluatedProperties: false additionalProperties: false reset-gpios: maxItems: 1 spi-cpol: true spi-cpha: true "#io-channel-cells": const: 1 "#trigger-source-cells": description: | Cell indicates the trigger output signal: 0 = SYNC_OUT, 1 = GPIO3, 2 = DRDY. For better readability, macros for these values are available in dt-bindings/iio/adc/adi,ad7768-1.h. const: 1 gpio-controller: true "#gpio-cells": const: 2 description: | The first cell is for the GPIO number: 0 to 3. The second cell takes standard GPIO flags. required: - compatible - reg - clocks - clock-names - vref-supply - spi-cpol - spi-cpha dependencies: adi,sync-in-gpios: not: required: - trigger-sources trigger-sources: not: required: - adi,sync-in-gpios patternProperties: "^channel@([0-9]|1[0-5])$": type: object description: | Represents the external channels which are connected to the device. properties: reg: maxItems: 1 description: | The channel number. label: description: | Unique name to identify which channel this is. required: - reg additionalProperties: false allOf: - $ref: /schemas/spi/spi-peripheral-props.yaml# # AAF Gain property only applies to ADAQ7767-1 and ADAQ7769-1 devices - if: properties: compatible: contains: enum: - adi,adaq7767-1 - adi,adaq7769-1 then: required: - adi,aaf-gain-bp else: properties: adi,aaf-gain-bp: false - if: properties: compatible: contains: enum: - adi,adaq7768-1 - adi,adaq7769-1 then: required: - pga-gpios else: properties: pga-gpios: false unevaluatedProperties: false examples: - | #include #include spi { #address-cells = <1>; #size-cells = <0>; adc@0 { compatible = "adi,ad7768-1"; reg = <0>; spi-max-frequency = <2000000>; spi-cpol; spi-cpha; gpio-controller; #gpio-cells = <2>; vref-supply = <&adc_vref>; interrupts = <25 IRQ_TYPE_EDGE_RISING>; interrupt-parent = <&gpio>; adi,sync-in-gpios = <&gpio 22 GPIO_ACTIVE_LOW>; reset-gpios = <&gpio 27 GPIO_ACTIVE_LOW>; clocks = <&ad7768_mclk>; clock-names = "mclk"; #address-cells = <1>; #size-cells = <0>; channel@0 { reg = <0>; label = "channel_0"; }; regulators { vcm_reg: vcm-output { regulator-name = "ad7768-1-vcm"; }; }; }; }; ...