xref: /linux/Documentation/devicetree/bindings/iio/adc/adi,ad7625.yaml (revision 7f71507851fc7764b36a3221839607d3a45c2025)
1# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
2%YAML 1.2
3---
4$id: http://devicetree.org/schemas/iio/adc/adi,ad7625.yaml#
5$schema: http://devicetree.org/meta-schemas/core.yaml#
6
7title: Analog Devices Fast PulSAR Analog to Digital Converters
8
9maintainers:
10  - Michael Hennerich <Michael.Hennerich@analog.com>
11  - Nuno Sá <nuno.sa@analog.com>
12
13description: |
14  A family of single channel differential analog to digital converters.
15
16  * https://www.analog.com/en/products/ad7625.html
17  * https://www.analog.com/en/products/ad7626.html
18  * https://www.analog.com/en/products/ad7960.html
19  * https://www.analog.com/en/products/ad7961.html
20
21properties:
22  compatible:
23    enum:
24      - adi,ad7625
25      - adi,ad7626
26      - adi,ad7960
27      - adi,ad7961
28
29  vdd1-supply: true
30  vdd2-supply: true
31  vio-supply: true
32
33  ref-supply:
34    description:
35      Voltage regulator for the external reference voltage (REF).
36
37  refin-supply:
38    description:
39      Voltage regulator for the reference buffer input (REFIN).
40
41  clocks:
42    description:
43      The clock connected to the CLK pins, gated by the clk_gate PWM.
44    maxItems: 1
45
46  pwms:
47    items:
48      - description: PWM connected to the CNV input on the ADC.
49      - description: PWM that gates the clock connected to the ADC's CLK input.
50
51  pwm-names:
52    items:
53      - const: cnv
54      - const: clk_gate
55
56  io-backends:
57    description:
58      The AXI ADC IP block connected to the D+/- and DCO+/- lines of the
59      ADC. An example backend can be found at
60      http://analogdevicesinc.github.io/hdl/projects/pulsar_lvds/index.html.
61    maxItems: 1
62
63  adi,no-dco:
64    $ref: /schemas/types.yaml#/definitions/flag
65    description:
66      Indicates the wiring of the DCO+/- lines. If true, then they are
67      grounded and the device is in self-clocked mode. If this is not
68      present, then the device is in echoed clock mode.
69
70  adi,en0-always-on:
71    $ref: /schemas/types.yaml#/definitions/flag
72    description:
73      Indicates if EN0 is hard-wired to the high state. If neither this
74      nor en0-gpios are present, then EN0 is hard-wired low.
75
76  adi,en1-always-on:
77    $ref: /schemas/types.yaml#/definitions/flag
78    description:
79      Indicates if EN1 is hard-wired to the high state. If neither this
80      nor en1-gpios are present, then EN1 is hard-wired low.
81
82  adi,en2-always-on:
83    $ref: /schemas/types.yaml#/definitions/flag
84    description:
85      Indicates if EN2 is hard-wired to the high state. If neither this
86      nor en2-gpios are present, then EN2 is hard-wired low.
87
88  adi,en3-always-on:
89    $ref: /schemas/types.yaml#/definitions/flag
90    description:
91      Indicates if EN3 is hard-wired to the high state. If neither this
92      nor en3-gpios are present, then EN3 is hard-wired low.
93
94  en0-gpios:
95    description:
96      Configurable EN0 pin.
97
98  en1-gpios:
99    description:
100      Configurable EN1 pin.
101
102  en2-gpios:
103    description:
104      Configurable EN2 pin.
105
106  en3-gpios:
107    description:
108      Configurable EN3 pin.
109
110required:
111  - compatible
112  - vdd1-supply
113  - vdd2-supply
114  - vio-supply
115  - clocks
116  - pwms
117  - pwm-names
118  - io-backends
119
120allOf:
121  - if:
122      required:
123        - ref-supply
124    then:
125      properties:
126        refin-supply: false
127  - if:
128      required:
129        - refin-supply
130    then:
131      properties:
132        ref-supply: false
133  - if:
134      properties:
135        compatible:
136          contains:
137            enum:
138              - adi,ad7625
139              - adi,ad7626
140    then:
141      properties:
142        en2-gpios: false
143        en3-gpios: false
144        adi,en2-always-on: false
145        adi,en3-always-on: false
146
147  - if:
148      properties:
149        compatible:
150          contains:
151            enum:
152              - adi,ad7960
153              - adi,ad7961
154    then:
155      # ad796x parts must have one of the two supplies
156      oneOf:
157        - required: [ref-supply]
158        - required: [refin-supply]
159
160additionalProperties: false
161
162examples:
163  - |
164    #include <dt-bindings/gpio/gpio.h>
165    adc {
166        compatible = "adi,ad7625";
167        vdd1-supply = <&supply_5V>;
168        vdd2-supply = <&supply_2_5V>;
169        vio-supply = <&supply_2_5V>;
170        io-backends = <&axi_adc>;
171        clocks = <&ref_clk>;
172        pwms = <&axi_pwm_gen 0 0>, <&axi_pwm_gen 1 0>;
173        pwm-names = "cnv", "clk_gate";
174        en0-gpios = <&gpio0 86 GPIO_ACTIVE_HIGH>;
175        en1-gpios = <&gpio0 87 GPIO_ACTIVE_HIGH>;
176    };
177