Merge tag 'lkdtm-next' of https://git.kernel.org/pub/scm/linux/kernel/git/kees/linux...
[linux-2.6-microblaze.git] / Documentation / devicetree / bindings / iio / adc / adi,ad7476.yaml
1 # SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)
2 # Copyright 2019 Analog Devices Inc.
3 %YAML 1.2
4 ---
5 $id: http://devicetree.org/schemas/iio/adc/adi,ad7476.yaml#
6 $schema: http://devicetree.org/meta-schemas/core.yaml#
7
8 title: AD7476 and similar simple SPI ADCs from multiple manufacturers.
9
10 maintainers:
11   - Michael Hennerich <michael.hennerich@analog.com>
12
13 description: |
14   A lot of simple SPI ADCs have very straight forward interfaces.
15   They typically don't provide a MOSI pin, simply reading out data
16   on MISO when the clock toggles.
17
18 properties:
19   compatible:
20     enum:
21       - adi,ad7091
22       - adi,ad7091r
23       - adi,ad7273
24       - adi,ad7274
25       - adi,ad7276
26       - adi,ad7277
27       - adi,ad7278
28       - adi,ad7466
29       - adi,ad7467
30       - adi,ad7468
31       - adi,ad7475
32       - adi,ad7476
33       - adi,ad7476a
34       - adi,ad7477
35       - adi,ad7477a
36       - adi,ad7478
37       - adi,ad7478a
38       - adi,ad7495
39       - adi,ad7910
40       - adi,ad7920
41       - adi,ad7940
42       - ti,adc081s
43       - ti,adc101s
44       - ti,adc121s
45       - ti,ads7866
46       - ti,ads7867
47       - ti,ads7868
48       - lltc,ltc2314-14
49
50   reg:
51     maxItems: 1
52
53   vcc-supply:
54     description:
55       Main powersupply voltage for the chips, sometimes referred to as VDD on
56       datasheets.  If there is no separate vref-supply, then this is needed
57       to establish channel scaling.
58
59   vdrive-supply:
60     description:
61       Some devices have separate supply for their digital control side.
62
63   vref-supply:
64     description:
65       Some devices have a specific reference voltage supplied on a different pin
66       to the other supplies. Needed to be able to establish channel scaling
67       unless there is also an internal reference available (e.g. ad7091r)
68
69   spi-max-frequency: true
70
71   adi,conversion-start-gpios:
72     description: A GPIO used to trigger the start of a conversion
73     maxItems: 1
74
75 required:
76   - compatible
77   - reg
78
79 additionalProperties: false
80
81 allOf:
82   # Devices where reference is vcc
83   - if:
84       properties:
85         compatible:
86           contains:
87             enum:
88               - adi,ad7091
89               - adi,ad7276
90               - adi,ad7277
91               - adi,ad7278
92               - adi,ad7466
93               - adi,ad7467
94               - adi,ad7468
95               - adi,ad7940
96               - ti,adc081s
97               - ti,adc101s
98               - ti,adc121s
99               - ti,ads7866
100               - ti,ads7868
101     then:
102       required:
103         - vcc-supply
104   # Devices with a vref
105   - if:
106       properties:
107         compatible:
108           contains:
109             enum:
110               - adi,ad7091r
111               - adi,ad7273
112               - adi,ad7274
113               - adi,ad7475
114               - lltc,ltc2314-14
115     then:
116       properties:
117         vref-supply: true
118     else:
119       properties:
120         vref-supply: false
121   # Devices with a vref where it is not optional
122   - if:
123       properties:
124         compatible:
125           contains:
126             enum:
127               - adi,ad7273
128               - adi,ad7274
129               - adi,ad7475
130               - lltc,ltc2314-14
131     then:
132       required:
133         - vref-supply
134   - if:
135       properties:
136         compatible:
137           contains:
138             enum:
139               - adi,ad7475
140               - adi,ad7495
141     then:
142       properties:
143         vdrive-supply: true
144     else:
145       properties:
146         vdrive-supply: false
147   - if:
148       properties:
149         compatible:
150           contains:
151             enum:
152               - adi,ad7091
153               - adi,ad7091r
154     then:
155       properties:
156         adi,conversion-start-gpios: true
157     else:
158       properties:
159         adi,conversion-start-gpios: false
160
161 examples:
162   - |
163     spi {
164       #address-cells = <1>;
165       #size-cells = <0>;
166
167       adc@0 {
168         compatible = "adi,ad7091r";
169         reg = <0>;
170         spi-max-frequency = <5000000>;
171         vcc-supply = <&adc_vcc>;
172         vref-supply = <&adc_vref>;
173       };
174     };
175 ...