Documentation / devicetree / bindings / iio / adc / adi,ad7625.yaml


Based on kernel version 6.13. Page generated on 2025-01-21 08:20 EST.

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176
# 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 <Michael.Hennerich@analog.com>
  - Nuno Sá <nuno.sa@analog.com>

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 <dt-bindings/gpio/gpio.h>
    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>;
    };