blob: c04165fa9259bbf1450d693720741caf4d5cb156 [file] [log] [blame]
Tom Rini53633a82024-02-29 12:33:36 -05001# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)
2%YAML 1.2
3---
4$id: http://devicetree.org/schemas/iio/dac/adi,ad5064.yaml#
5$schema: http://devicetree.org/meta-schemas/core.yaml#
6
7title: Analog Devices AD5064 and similar DACs
8
9maintainers:
10 - Lars-Peter Clausen <lars@metafoo.de>
11 - Jonathan Cameron <jic23@kernel.org>
12
13description: |
14 A range of similar DAC devices with between 1 and 12 channels. Some parts
15 have internal references, others require a single shared external reference
16 and the remainder have a separate reference pin for each DAC.
17
18properties:
19 compatible:
20 oneOf:
21 - description: I2C devics
22 enum:
23 - adi,ad5024
24 - adi,ad5025
25 - adi,ad5044
26 - adi,ad5045
27 - adi,ad5064
28 - adi,ad5064-1
29 - adi,ad5065
30 - adi,ad5628-1
31 - adi,ad5628-2
32 - adi,ad5648-1
33 - adi,ad5648-2
34 - adi,ad5666-1
35 - adi,ad5666-2
36 - adi,ad5668-1
37 - adi,ad5668-2
38 - adi,ad5668-3
39 - description: SPI devices
40 enum:
41 - adi,ad5625
42 - adi,ad5625r-1v25
43 - adi,ad5625r-2v5
44 - adi,ad5627
45 - adi,ad5627r-1v25
46 - adi,ad5627r-2v5
47 - adi,ad5629-1
48 - adi,ad5629-2
49 - adi,ad5629-3
50 - adi,ad5645r-1v25
51 - adi,ad5645r-2v5
52 - adi,ad5665
53 - adi,ad5665r-1v25
54 - adi,ad5665r-2v5
55 - adi,ad5667
56 - adi,ad5667r-1v25
57 - adi,ad5667r-2v5
58 - adi,ad5669-1
59 - adi,ad5669-2
60 - adi,ad5669-3
61 - lltc,ltc2606
62 - lltc,ltc2607
63 - lltc,ltc2609
64 - lltc,ltc2616
65 - lltc,ltc2617
66 - lltc,ltc2619
67 - lltc,ltc2626
68 - lltc,ltc2627
69 - lltc,ltc2629
70 - lltc,ltc2631-l12
71 - lltc,ltc2631-h12
72 - lltc,ltc2631-l10
73 - lltc,ltc2631-h10
74 - lltc,ltc2631-l8
75 - lltc,ltc2631-h8
76 - lltc,ltc2633-l12
77 - lltc,ltc2633-h12
78 - lltc,ltc2633-l10
79 - lltc,ltc2633-h10
80 - lltc,ltc2633-l8
81 - lltc,ltc2633-h8
82 - lltc,ltc2635-l12
83 - lltc,ltc2635-h12
84 - lltc,ltc2635-l10
85 - lltc,ltc2635-h10
86 - lltc,ltc2635-l8
87 - lltc,ltc2635-h8
88
89 reg:
90 maxItems: 1
91
92 vrefA-supply: true
93 vrefB-supply: true
94 vrefC-supply: true
95 vrefD-supply: true
96 vref-supply: true
97
98required:
99 - compatible
100 - reg
101
102allOf:
103 - $ref: /schemas/spi/spi-peripheral-props.yaml#
104 - # Shared external vref, no internal reference
105 if:
106 properties:
107 compatible:
108 contains:
109 enum:
110 - adi,ad5064-1
111 - adi,ad5625
112 - adi,ad5627
113 - adi,ad5665
114 - adi,ad5667
115 - lltc,ltc2606
116 - lltc,ltc2607
117 - lltc,ltc2616
118 - lltc,ltc2617
119 - lltc,ltc2626
120 - lltc,ltc2627
121 then:
122 properties:
123 vref-supply: true
124 vrefA-supply: false
125 vrefB-supply: false
126 vrefC-supply: false
127 vrefD-supply: false
128 required:
129 - vref-supply
130 - # Shared external vref, internal reference available
131 if:
132 properties:
133 compatible:
134 contains:
135 enum:
136 - adi,ad5625r-1v25
137 - adi,ad5625r-2v5
138 - adi,ad5627r-1v25
139 - adi,ad5627r-2v5
140 - adi,ad5628-1
141 - adi,ad5628-2
142 - adi,ad5629-1
143 - adi,ad5629-2
144 - adi,ad5629-3
145 - adi,ad5645r-1v25
146 - adi,ad5645r-2v5
147 - adi,ad5647r-1v25
148 - adi,ad5647r-2v5
149 - adi,ad5648-1
150 - adi,ad5648-2
151 - adi,ad5665r-1v25
152 - adi,ad5665r-2v5
153 - adi,ad5666-1
154 - adi,ad5666-2
155 - adi,ad5667r-1v25
156 - adi,ad5667r-2v5
157 - adi,ad5668-1
158 - adi,ad5668-2
159 - adi,ad5668-3
160 - adi,ad5669-1
161 - adi,ad5669-2
162 - adi,ad5669-3
163 - lltc,ltc2631-l12
164 - lltc,ltc2631-h12
165 - lltc,ltc2631-l10
166 - lltc,ltc2631-h10
167 - lltc,ltc2631-l8
168 - lltc,ltc2631-h8
169 - lltc,ltc2633-l12
170 - lltc,ltc2633-h12
171 - lltc,ltc2633-l10
172 - lltc,ltc2633-h10
173 - lltc,ltc2633-l8
174 - lltc,ltc2633-h8
175 - lltc,ltc2635-l12
176 - lltc,ltc2635-h12
177 - lltc,ltc2635-l10
178 - lltc,ltc2635-h10
179 - lltc,ltc2635-l8
180 - lltc,ltc2635-h8
181 then:
182 properties:
183 vref-supply: true
184 vrefA-supply: false
185 vrefB-supply: false
186 vrefC-supply: false
187 vrefD-supply: false
188 - # 4 input devices, separate vrefs, no internal reference
189 if:
190 properties:
191 compatible:
192 contains:
193 enum:
194 - adi,ad5024
195 - adi,ad5044
196 - adi,ad5064
197 - lltc,ltc2609
198 - lltc,ltc2619
199 - lltc,ltc2629
200 then:
201 properties:
202 vrefA-supply: true
203 vrefB-supply: true
204 vrefC-supply: true
205 vrefD-supply: true
206 vref-supply: false
207 required:
208 - vrefA-supply
209 - vrefB-supply
210 - vrefC-supply
211 - vrefD-supply
212 - # 2 input devices, separate vrefs, no internal reference
213 if:
214 properties:
215 compatible:
216 contains:
217 enum:
218 - adi,ad5025
219 - adi,ad5045
220 - adi,ad5065
221 then:
222 properties:
223 vrefA-supply: true
224 vrefB-supply: true
225 vrefC-supply: false
226 vrefD-supply: false
227 vref-supply: false
228 required:
229 - vrefA-supply
230 - vrefB-supply
231
232unevaluatedProperties: false
233
234examples:
235 - |
236 spi {
237 #address-cells = <1>;
238 #size-cells = <0>;
239 dac@0 {
240 reg = <0>;
241 compatible = "adi,ad5625";
242 vref-supply = <&dac_vref>;
243 };
244 };
245 - |
246 spi {
247 #address-cells = <1>;
248 #size-cells = <0>;
249 dac@0 {
250 reg = <0>;
251 compatible = "adi,ad5625r-1v25";
252 };
253 };
254 - |
255 i2c {
256 #address-cells = <1>;
257 #size-cells = <0>;
258 dac@42 {
259 reg = <0x42>;
260 compatible = "adi,ad5024";
261 vrefA-supply = <&dac_vref>;
262 vrefB-supply = <&dac_vref>;
263 vrefC-supply = <&dac_vref2>;
264 vrefD-supply = <&dac_vref2>;
265 };
266 };
267...