xref: /openbmc/linux/Documentation/devicetree/bindings/iio/dac/adi,ad5064.yaml (revision 4f2c0a4acffbec01079c28f839422e64ddeff004)
1613c403aSJonathan Cameron# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)
2613c403aSJonathan Cameron%YAML 1.2
3613c403aSJonathan Cameron---
4613c403aSJonathan Cameron$id: http://devicetree.org/schemas/iio/dac/adi,ad5064.yaml#
5613c403aSJonathan Cameron$schema: http://devicetree.org/meta-schemas/core.yaml#
6613c403aSJonathan Cameron
7613c403aSJonathan Camerontitle: Analog Devices AD5064 and similar DACs
8613c403aSJonathan Cameron
9613c403aSJonathan Cameronmaintainers:
10613c403aSJonathan Cameron  - Lars-Peter Clausen <lars@metafoo.de>
11613c403aSJonathan Cameron  - Jonathan Cameron <jic23@kernel.org>
12613c403aSJonathan Cameron
13613c403aSJonathan Camerondescription: |
14613c403aSJonathan Cameron   A range of similar DAC devices with between 1 and 12 channels. Some parts
15613c403aSJonathan Cameron   have internal references, others require a single shared external reference
16613c403aSJonathan Cameron   and the remainder have a separate reference pin for each DAC.
17613c403aSJonathan Cameron
18613c403aSJonathan Cameronproperties:
19613c403aSJonathan Cameron  compatible:
20613c403aSJonathan Cameron    oneOf:
21613c403aSJonathan Cameron      - description: I2C devics
22613c403aSJonathan Cameron        enum:
23613c403aSJonathan Cameron          - adi,ad5024
24613c403aSJonathan Cameron          - adi,ad5025
25613c403aSJonathan Cameron          - adi,ad5044
26613c403aSJonathan Cameron          - adi,ad5045
27613c403aSJonathan Cameron          - adi,ad5064
28613c403aSJonathan Cameron          - adi,ad5064-1
29613c403aSJonathan Cameron          - adi,ad5065
30613c403aSJonathan Cameron          - adi,ad5628-1
31613c403aSJonathan Cameron          - adi,ad5628-2
32613c403aSJonathan Cameron          - adi,ad5648-1
33613c403aSJonathan Cameron          - adi,ad5648-2
34613c403aSJonathan Cameron          - adi,ad5666-1
35613c403aSJonathan Cameron          - adi,ad5666-2
36613c403aSJonathan Cameron          - adi,ad5668-1
37613c403aSJonathan Cameron          - adi,ad5668-2
38613c403aSJonathan Cameron          - adi,ad5668-3
39613c403aSJonathan Cameron      - description: SPI devices
40613c403aSJonathan Cameron        enum:
41613c403aSJonathan Cameron          - adi,ad5625
42613c403aSJonathan Cameron          - adi,ad5625r-1v25
43613c403aSJonathan Cameron          - adi,ad5625r-2v5
44613c403aSJonathan Cameron          - adi,ad5627
45613c403aSJonathan Cameron          - adi,ad5627r-1v25
46613c403aSJonathan Cameron          - adi,ad5627r-2v5
47613c403aSJonathan Cameron          - adi,ad5629-1
48613c403aSJonathan Cameron          - adi,ad5629-2
49613c403aSJonathan Cameron          - adi,ad5629-3
50613c403aSJonathan Cameron          - adi,ad5645r-1v25
51613c403aSJonathan Cameron          - adi,ad5645r-2v5
52613c403aSJonathan Cameron          - adi,ad5665
53613c403aSJonathan Cameron          - adi,ad5665r-1v25
54613c403aSJonathan Cameron          - adi,ad5665r-2v5
55613c403aSJonathan Cameron          - adi,ad5667
56613c403aSJonathan Cameron          - adi,ad5667r-1v25
57613c403aSJonathan Cameron          - adi,ad5667r-2v5
58613c403aSJonathan Cameron          - adi,ad5669-1
59613c403aSJonathan Cameron          - adi,ad5669-2
60613c403aSJonathan Cameron          - adi,ad5669-3
61613c403aSJonathan Cameron          - lltc,ltc2606
62613c403aSJonathan Cameron          - lltc,ltc2607
63613c403aSJonathan Cameron          - lltc,ltc2609
64613c403aSJonathan Cameron          - lltc,ltc2616
65613c403aSJonathan Cameron          - lltc,ltc2617
66613c403aSJonathan Cameron          - lltc,ltc2619
67613c403aSJonathan Cameron          - lltc,ltc2626
68613c403aSJonathan Cameron          - lltc,ltc2627
69613c403aSJonathan Cameron          - lltc,ltc2629
70613c403aSJonathan Cameron          - lltc,ltc2631-l12
71613c403aSJonathan Cameron          - lltc,ltc2631-h12
72613c403aSJonathan Cameron          - lltc,ltc2631-l10
73613c403aSJonathan Cameron          - lltc,ltc2631-h10
74613c403aSJonathan Cameron          - lltc,ltc2631-l8
75613c403aSJonathan Cameron          - lltc,ltc2631-h8
76613c403aSJonathan Cameron          - lltc,ltc2633-l12
77613c403aSJonathan Cameron          - lltc,ltc2633-h12
78613c403aSJonathan Cameron          - lltc,ltc2633-l10
79613c403aSJonathan Cameron          - lltc,ltc2633-h10
80613c403aSJonathan Cameron          - lltc,ltc2633-l8
81613c403aSJonathan Cameron          - lltc,ltc2633-h8
82613c403aSJonathan Cameron          - lltc,ltc2635-l12
83613c403aSJonathan Cameron          - lltc,ltc2635-h12
84613c403aSJonathan Cameron          - lltc,ltc2635-l10
85613c403aSJonathan Cameron          - lltc,ltc2635-h10
86613c403aSJonathan Cameron          - lltc,ltc2635-l8
87613c403aSJonathan Cameron          - lltc,ltc2635-h8
88613c403aSJonathan Cameron
89613c403aSJonathan Cameron  reg:
90613c403aSJonathan Cameron    maxItems: 1
91613c403aSJonathan Cameron
92613c403aSJonathan Cameron  vrefA-supply: true
93613c403aSJonathan Cameron  vrefB-supply: true
94613c403aSJonathan Cameron  vrefC-supply: true
95613c403aSJonathan Cameron  vrefD-supply: true
96613c403aSJonathan Cameron  vref-supply: true
97613c403aSJonathan Cameron
98613c403aSJonathan Cameronrequired:
99613c403aSJonathan Cameron  - compatible
100613c403aSJonathan Cameron  - reg
101613c403aSJonathan Cameron
102613c403aSJonathan CameronallOf:
103*25d04699SKrzysztof Kozlowski  - $ref: /schemas/spi/spi-peripheral-props.yaml#
104613c403aSJonathan Cameron  - # Shared external vref, no internal reference
105613c403aSJonathan Cameron    if:
106613c403aSJonathan Cameron      properties:
107613c403aSJonathan Cameron        compatible:
108613c403aSJonathan Cameron          contains:
109613c403aSJonathan Cameron            enum:
110613c403aSJonathan Cameron              - adi,ad5064-1
111613c403aSJonathan Cameron              - adi,ad5625
112613c403aSJonathan Cameron              - adi,ad5627
113613c403aSJonathan Cameron              - adi,ad5665
114613c403aSJonathan Cameron              - adi,ad5667
115613c403aSJonathan Cameron              - lltc,ltc2606
116613c403aSJonathan Cameron              - lltc,ltc2607
117613c403aSJonathan Cameron              - lltc,ltc2616
118613c403aSJonathan Cameron              - lltc,ltc2617
119613c403aSJonathan Cameron              - lltc,ltc2626
120613c403aSJonathan Cameron              - lltc,ltc2627
121613c403aSJonathan Cameron    then:
122613c403aSJonathan Cameron      properties:
123613c403aSJonathan Cameron        vref-supply: true
124613c403aSJonathan Cameron        vrefA-supply: false
125613c403aSJonathan Cameron        vrefB-supply: false
126613c403aSJonathan Cameron        vrefC-supply: false
127613c403aSJonathan Cameron        vrefD-supply: false
128613c403aSJonathan Cameron      required:
129613c403aSJonathan Cameron        - vref-supply
130613c403aSJonathan Cameron  - # Shared external vref, internal reference available
131613c403aSJonathan Cameron    if:
132613c403aSJonathan Cameron      properties:
133613c403aSJonathan Cameron        compatible:
134613c403aSJonathan Cameron          contains:
135613c403aSJonathan Cameron            enum:
136613c403aSJonathan Cameron              - adi,ad5625r-1v25
137613c403aSJonathan Cameron              - adi,ad5625r-2v5
138613c403aSJonathan Cameron              - adi,ad5627r-1v25
139613c403aSJonathan Cameron              - adi,ad5627r-2v5
140613c403aSJonathan Cameron              - adi,ad5628-1
141613c403aSJonathan Cameron              - adi,ad5628-2
142613c403aSJonathan Cameron              - adi,ad5629-1
143613c403aSJonathan Cameron              - adi,ad5629-2
144613c403aSJonathan Cameron              - adi,ad5629-3
145613c403aSJonathan Cameron              - adi,ad5645r-1v25
146613c403aSJonathan Cameron              - adi,ad5645r-2v5
147613c403aSJonathan Cameron              - adi,ad5647r-1v25
148613c403aSJonathan Cameron              - adi,ad5647r-2v5
149613c403aSJonathan Cameron              - adi,ad5648-1
150613c403aSJonathan Cameron              - adi,ad5648-2
151613c403aSJonathan Cameron              - adi,ad5665r-1v25
152613c403aSJonathan Cameron              - adi,ad5665r-2v5
153613c403aSJonathan Cameron              - adi,ad5666-1
154613c403aSJonathan Cameron              - adi,ad5666-2
155613c403aSJonathan Cameron              - adi,ad5667r-1v25
156613c403aSJonathan Cameron              - adi,ad5667r-2v5
157613c403aSJonathan Cameron              - adi,ad5668-1
158613c403aSJonathan Cameron              - adi,ad5668-2
159613c403aSJonathan Cameron              - adi,ad5668-3
160613c403aSJonathan Cameron              - adi,ad5669-1
161613c403aSJonathan Cameron              - adi,ad5669-2
162613c403aSJonathan Cameron              - adi,ad5669-3
163613c403aSJonathan Cameron              - lltc,ltc2631-l12
164613c403aSJonathan Cameron              - lltc,ltc2631-h12
165613c403aSJonathan Cameron              - lltc,ltc2631-l10
166613c403aSJonathan Cameron              - lltc,ltc2631-h10
167613c403aSJonathan Cameron              - lltc,ltc2631-l8
168613c403aSJonathan Cameron              - lltc,ltc2631-h8
169613c403aSJonathan Cameron              - lltc,ltc2633-l12
170613c403aSJonathan Cameron              - lltc,ltc2633-h12
171613c403aSJonathan Cameron              - lltc,ltc2633-l10
172613c403aSJonathan Cameron              - lltc,ltc2633-h10
173613c403aSJonathan Cameron              - lltc,ltc2633-l8
174613c403aSJonathan Cameron              - lltc,ltc2633-h8
175613c403aSJonathan Cameron              - lltc,ltc2635-l12
176613c403aSJonathan Cameron              - lltc,ltc2635-h12
177613c403aSJonathan Cameron              - lltc,ltc2635-l10
178613c403aSJonathan Cameron              - lltc,ltc2635-h10
179613c403aSJonathan Cameron              - lltc,ltc2635-l8
180613c403aSJonathan Cameron              - lltc,ltc2635-h8
181613c403aSJonathan Cameron    then:
182613c403aSJonathan Cameron      properties:
183613c403aSJonathan Cameron        vref-supply: true
184613c403aSJonathan Cameron        vrefA-supply: false
185613c403aSJonathan Cameron        vrefB-supply: false
186613c403aSJonathan Cameron        vrefC-supply: false
187613c403aSJonathan Cameron        vrefD-supply: false
188613c403aSJonathan Cameron  - # 4 input devices, separate vrefs, no internal reference
189613c403aSJonathan Cameron    if:
190613c403aSJonathan Cameron      properties:
191613c403aSJonathan Cameron        compatible:
192613c403aSJonathan Cameron          contains:
193613c403aSJonathan Cameron            enum:
194613c403aSJonathan Cameron              - adi,ad5024
195613c403aSJonathan Cameron              - adi,ad5044
196613c403aSJonathan Cameron              - adi,ad5064
197613c403aSJonathan Cameron              - lltc,ltc2609
198613c403aSJonathan Cameron              - lltc,ltc2619
199613c403aSJonathan Cameron              - lltc,ltc2629
200613c403aSJonathan Cameron    then:
201613c403aSJonathan Cameron      properties:
202613c403aSJonathan Cameron        vrefA-supply: true
203613c403aSJonathan Cameron        vrefB-supply: true
204613c403aSJonathan Cameron        vrefC-supply: true
205613c403aSJonathan Cameron        vrefD-supply: true
206613c403aSJonathan Cameron        vref-supply: false
207613c403aSJonathan Cameron      required:
208613c403aSJonathan Cameron        - vrefA-supply
209613c403aSJonathan Cameron        - vrefB-supply
210613c403aSJonathan Cameron        - vrefC-supply
211613c403aSJonathan Cameron        - vrefD-supply
212613c403aSJonathan Cameron  - # 2 input devices, separate vrefs, no internal reference
213613c403aSJonathan Cameron    if:
214613c403aSJonathan Cameron      properties:
215613c403aSJonathan Cameron        compatible:
216613c403aSJonathan Cameron          contains:
217613c403aSJonathan Cameron            enum:
218613c403aSJonathan Cameron              - adi,ad5025
219613c403aSJonathan Cameron              - adi,ad5045
220613c403aSJonathan Cameron              - adi,ad5065
221613c403aSJonathan Cameron    then:
222613c403aSJonathan Cameron      properties:
223613c403aSJonathan Cameron        vrefA-supply: true
224613c403aSJonathan Cameron        vrefB-supply: true
225613c403aSJonathan Cameron        vrefC-supply: false
226613c403aSJonathan Cameron        vrefD-supply: false
227613c403aSJonathan Cameron        vref-supply: false
228613c403aSJonathan Cameron      required:
229613c403aSJonathan Cameron        - vrefA-supply
230613c403aSJonathan Cameron        - vrefB-supply
231613c403aSJonathan Cameron
232*25d04699SKrzysztof KozlowskiunevaluatedProperties: false
233*25d04699SKrzysztof Kozlowski
234613c403aSJonathan Cameronexamples:
235613c403aSJonathan Cameron  - |
236613c403aSJonathan Cameron    spi {
237613c403aSJonathan Cameron        #address-cells = <1>;
238613c403aSJonathan Cameron        #size-cells = <0>;
239613c403aSJonathan Cameron        dac@0 {
240613c403aSJonathan Cameron            reg = <0>;
241613c403aSJonathan Cameron            compatible = "adi,ad5625";
242613c403aSJonathan Cameron            vref-supply = <&dac_vref>;
243613c403aSJonathan Cameron        };
244613c403aSJonathan Cameron    };
245613c403aSJonathan Cameron  - |
246613c403aSJonathan Cameron    spi {
247613c403aSJonathan Cameron        #address-cells = <1>;
248613c403aSJonathan Cameron        #size-cells = <0>;
249613c403aSJonathan Cameron        dac@0 {
250613c403aSJonathan Cameron            reg = <0>;
251613c403aSJonathan Cameron            compatible = "adi,ad5625r-1v25";
252613c403aSJonathan Cameron        };
253613c403aSJonathan Cameron    };
254613c403aSJonathan Cameron  - |
255613c403aSJonathan Cameron    i2c {
256613c403aSJonathan Cameron        #address-cells = <1>;
257613c403aSJonathan Cameron        #size-cells = <0>;
258613c403aSJonathan Cameron        dac@42 {
259613c403aSJonathan Cameron            reg = <0x42>;
260613c403aSJonathan Cameron            compatible = "adi,ad5024";
261613c403aSJonathan Cameron            vrefA-supply = <&dac_vref>;
262613c403aSJonathan Cameron            vrefB-supply = <&dac_vref>;
263613c403aSJonathan Cameron            vrefC-supply = <&dac_vref2>;
264613c403aSJonathan Cameron            vrefD-supply = <&dac_vref2>;
265613c403aSJonathan Cameron        };
266613c403aSJonathan Cameron    };
267613c403aSJonathan Cameron...
268