# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) %YAML 1.2 --- $id: http://devicetree.org/schemas/iio/adc/adi,ad7625.yaml# $schema: http://devicetree.org/meta-schemas/core.yaml# title: Analog Devices Fast PulSAR Analog to Digital Converters maintainers: - Michael Hennerich - Nuno Sá description: | A family of single channel differential analog to digital converters. * https://www.analog.com/en/products/ad7625.html * https://www.analog.com/en/products/ad7626.html * https://www.analog.com/en/products/ad7960.html * https://www.analog.com/en/products/ad7961.html properties: compatible: enum: - adi,ad7625 - adi,ad7626 - adi,ad7960 - adi,ad7961 vdd1-supply: true vdd2-supply: true vio-supply: true ref-supply: description: Voltage regulator for the external reference voltage (REF). refin-supply: description: Voltage regulator for the reference buffer input (REFIN). clocks: description: The clock connected to the CLK pins, gated by the clk_gate PWM. maxItems: 1 pwms: items: - description: PWM connected to the CNV input on the ADC. - description: PWM that gates the clock connected to the ADC's CLK input. pwm-names: items: - const: cnv - const: clk_gate io-backends: description: The AXI ADC IP block connected to the D+/- and DCO+/- lines of the ADC. An example backend can be found at http://analogdevicesinc.github.io/hdl/projects/pulsar_lvds/index.html. maxItems: 1 adi,no-dco: $ref: /schemas/types.yaml#/definitions/flag description: Indicates the wiring of the DCO+/- lines. If true, then they are grounded and the device is in self-clocked mode. If this is not present, then the device is in echoed clock mode. adi,en0-always-on: $ref: /schemas/types.yaml#/definitions/flag description: Indicates if EN0 is hard-wired to the high state. If neither this nor en0-gpios are present, then EN0 is hard-wired low. adi,en1-always-on: $ref: /schemas/types.yaml#/definitions/flag description: Indicates if EN1 is hard-wired to the high state. If neither this nor en1-gpios are present, then EN1 is hard-wired low. adi,en2-always-on: $ref: /schemas/types.yaml#/definitions/flag description: Indicates if EN2 is hard-wired to the high state. If neither this nor en2-gpios are present, then EN2 is hard-wired low. adi,en3-always-on: $ref: /schemas/types.yaml#/definitions/flag description: Indicates if EN3 is hard-wired to the high state. If neither this nor en3-gpios are present, then EN3 is hard-wired low. en0-gpios: description: Configurable EN0 pin. en1-gpios: description: Configurable EN1 pin. en2-gpios: description: Configurable EN2 pin. en3-gpios: description: Configurable EN3 pin. required: - compatible - vdd1-supply - vdd2-supply - vio-supply - clocks - pwms - pwm-names - io-backends allOf: - if: required: - ref-supply then: properties: refin-supply: false - if: required: - refin-supply then: properties: ref-supply: false - if: properties: compatible: contains: enum: - adi,ad7625 - adi,ad7626 then: properties: en2-gpios: false en3-gpios: false adi,en2-always-on: false adi,en3-always-on: false - if: properties: compatible: contains: enum: - adi,ad7960 - adi,ad7961 then: # ad796x parts must have one of the two supplies oneOf: - required: [ref-supply] - required: [refin-supply] additionalProperties: false examples: - | #include adc { compatible = "adi,ad7625"; vdd1-supply = <&supply_5V>; vdd2-supply = <&supply_2_5V>; vio-supply = <&supply_2_5V>; io-backends = <&axi_adc>; clocks = <&ref_clk>; pwms = <&axi_pwm_gen 0 0>, <&axi_pwm_gen 1 0>; pwm-names = "cnv", "clk_gate"; en0-gpios = <&gpio0 86 GPIO_ACTIVE_HIGH>; en1-gpios = <&gpio0 87 GPIO_ACTIVE_HIGH>; };