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,ad7380.yaml#
5$schema: http://devicetree.org/meta-schemas/core.yaml#
6
7title: Analog Devices Simultaneous Sampling Analog to Digital Converters
8
9maintainers:
10  - Michael Hennerich <Michael.Hennerich@analog.com>
11  - Nuno Sá <nuno.sa@analog.com>
12
13description: |
14  * https://www.analog.com/en/products/ad7380.html
15  * https://www.analog.com/en/products/ad7381.html
16  * https://www.analog.com/en/products/ad7383.html
17  * https://www.analog.com/en/products/ad7384.html
18  * https://www.analog.com/en/products/ad7386.html
19  * https://www.analog.com/en/products/ad7387.html
20  * https://www.analog.com/en/products/ad7388.html
21  * https://www.analog.com/en/products/ad7380-4.html
22  * https://www.analog.com/en/products/ad7381-4.html
23  * https://www.analog.com/en/products/ad7383-4.html
24  * https://www.analog.com/en/products/ad7384-4.html
25  * https://www.analog.com/en/products/ad7386-4.html
26  * https://www.analog.com/en/products/ad7387-4.html
27  * https://www.analog.com/en/products/ad7388-4.html
28
29
30$ref: /schemas/spi/spi-peripheral-props.yaml#
31
32properties:
33  compatible:
34    enum:
35      - adi,ad7380
36      - adi,ad7381
37      - adi,ad7383
38      - adi,ad7384
39      - adi,ad7386
40      - adi,ad7387
41      - adi,ad7388
42      - adi,ad7380-4
43      - adi,ad7381-4
44      - adi,ad7383-4
45      - adi,ad7384-4
46      - adi,ad7386-4
47      - adi,ad7387-4
48      - adi,ad7388-4
49
50  reg:
51    maxItems: 1
52
53  spi-max-frequency:
54    maximum: 80000000
55  spi-cpol: true
56  spi-cpha: true
57
58  vcc-supply:
59    description: A 3V to 3.6V supply that powers the chip.
60
61  vlogic-supply:
62    description:
63      A 1.65V to 3.6V supply for the logic pins.
64
65  refio-supply:
66    description:
67      A 2.5V to 3.3V supply for the external reference voltage. When omitted,
68      the internal 2.5V reference is used.
69
70  refin-supply:
71    description:
72      A 2.5V to 3.3V supply for external reference voltage, for ad7380-4 only.
73
74  aina-supply:
75    description:
76      The common mode voltage supply for the AINA- pin on pseudo-differential
77      chips.
78
79  ainb-supply:
80    description:
81      The common mode voltage supply for the AINB- pin on pseudo-differential
82      chips.
83
84  ainc-supply:
85    description:
86      The common mode voltage supply for the AINC- pin on pseudo-differential
87      chips.
88
89  aind-supply:
90    description:
91      The common mode voltage supply for the AIND- pin on pseudo-differential
92      chips.
93
94  interrupts:
95    description:
96      When the device is using 1-wire mode, this property is used to optionally
97      specify the ALERT interrupt.
98    maxItems: 1
99
100required:
101  - compatible
102  - reg
103  - vcc-supply
104  - vlogic-supply
105
106unevaluatedProperties: false
107
108allOf:
109  # pseudo-differential chips require common mode voltage supplies,
110  # true differential chips don't use them
111  - if:
112      properties:
113        compatible:
114          enum:
115            - adi,ad7383
116            - adi,ad7384
117            - adi,ad7383-4
118            - adi,ad7384-4
119    then:
120      required:
121        - aina-supply
122        - ainb-supply
123    else:
124      properties:
125        aina-supply: false
126        ainb-supply: false
127  - if:
128      properties:
129        compatible:
130          enum:
131            - adi,ad7383-4
132            - adi,ad7384-4
133    then:
134      required:
135        - ainc-supply
136        - aind-supply
137    else:
138      properties:
139        ainc-supply: false
140        aind-supply: false
141
142  # ad7380-4 uses refin-supply as external reference.
143  # All other chips from ad738x family use refio as optional external reference.
144  # When refio-supply is omitted, internal reference is used.
145  - if:
146      properties:
147        compatible:
148          enum:
149            - adi,ad7380-4
150    then:
151      properties:
152        refio-supply: false
153      required:
154        - refin-supply
155    else:
156      properties:
157        refin-supply: false
158
159examples:
160  - |
161    #include <dt-bindings/interrupt-controller/irq.h>
162
163    spi {
164        #address-cells = <1>;
165        #size-cells = <0>;
166
167        adc@0 {
168            compatible = "adi,ad7380";
169            reg = <0>;
170
171            spi-cpol;
172            spi-cpha;
173            spi-max-frequency = <80000000>;
174
175            interrupts = <27 IRQ_TYPE_EDGE_FALLING>;
176            interrupt-parent = <&gpio0>;
177
178            vcc-supply = <&supply_3_3V>;
179            vlogic-supply = <&supply_3_3V>;
180            refio-supply = <&supply_2_5V>;
181        };
182    };
183