GNU Linux-libre 6.1.90-gnu
[releases.git] / Documentation / devicetree / bindings / iio / dac / adi,ad5770r.yaml
1 # SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)
2 # Copyright 2020 Analog Devices Inc.
3 %YAML 1.2
4 ---
5 $id: http://devicetree.org/schemas/iio/dac/adi,ad5770r.yaml#
6 $schema: http://devicetree.org/meta-schemas/core.yaml#
7
8 title: Analog Devices AD5770R DAC device driver
9
10 maintainers:
11   - Alexandru Tachici <alexandru.tachici@analog.com>
12
13 description: |
14   Bindings for the Analog Devices AD5770R current DAC device. Datasheet can be
15   found here:
16     https://www.analog.com/media/en/technical-documentation/data-sheets/AD5770R.pdf
17
18 properties:
19   compatible:
20     enum:
21       - adi,ad5770r
22
23   reg:
24     maxItems: 1
25
26   avdd-supply:
27     description:
28       AVdd voltage supply. Represents two different supplies in the datasheet
29       that are in fact the same.
30
31   iovdd-supply:
32     description:
33       Voltage supply for the chip interface.
34
35   vref-supply:
36     description: Specify the voltage of the external reference used.
37       Available reference options are 1.25 V or 2.5 V. If no
38       external reference declared then the device will use the
39       internal reference of 1.25 V.
40
41   adi,external-resistor:
42     description: Specify if an external 2.5k ohm resistor is used. If not
43       specified the device will use an internal 2.5k ohm resistor.
44       The precision resistor is used for reference current generation.
45     type: boolean
46
47   reset-gpios:
48     description: GPIO spec for the RESET pin. If specified, it will be
49       asserted during driver probe.
50     maxItems: 1
51
52   '#address-cells':
53     const: 1
54
55   '#size-cells':
56     const: 0
57
58   channel@0:
59     description: Represents an external channel which are
60       connected to the DAC. Channel 0 can act both as a current
61       source and sink.
62     type: object
63     additionalProperties: false
64
65     properties:
66       reg:
67         description: This represents the channel number.
68         const: 0
69
70       adi,range-microamp:
71         description: Output range of the channel.
72         oneOf:
73           - items:
74               - const: 0
75               - const: 300000
76           - items:
77               - const: -60000
78               - const: 0
79           - items:
80               - const: -60000
81               - const: 300000
82
83   channel@1:
84     description: Represents an external channel which are
85       connected to the DAC.
86     type: object
87     additionalProperties: false
88
89     properties:
90       reg:
91         description: This represents the channel number.
92         const: 1
93
94       adi,range-microamp:
95         description: Output range of the channel.
96         items:
97           - const: 0
98           - enum: [140000, 250000]
99
100   channel@2:
101     description: Represents an external channel which are
102       connected to the DAC.
103     type: object
104     additionalProperties: false
105
106     properties:
107       reg:
108         description: This represents the channel number.
109         const: 2
110
111       adi,range-microamp:
112         description: Output range of the channel.
113         items:
114           - const: 0
115           - enum: [55000, 150000]
116
117 patternProperties:
118   "^channel@([3-5])$":
119     type: object
120     additionalProperties: false
121     description: Represents the external channels which are connected to the DAC.
122     properties:
123       reg:
124         description: This represents the channel number.
125         minimum: 3
126         maximum: 5
127
128       adi,range-microamp:
129         description: Output range of the channel.
130         items:
131           - const: 0
132           - enum: [45000, 100000]
133
134 required:
135   - reg
136   - channel@0
137   - channel@1
138   - channel@2
139   - channel@3
140   - channel@4
141   - channel@5
142
143 allOf:
144   - $ref: /schemas/spi/spi-peripheral-props.yaml#
145
146 unevaluatedProperties: false
147
148 examples:
149   - |
150         spi {
151                 #address-cells = <1>;
152                 #size-cells = <0>;
153
154                 ad5770r@0 {
155                         compatible = "adi,ad5770r";
156                         reg = <0>;
157                         spi-max-frequency = <1000000>;
158                         vref-supply = <&vref>;
159                         adi,external-resistor;
160                         reset-gpios = <&gpio 22 0>;
161                         #address-cells = <1>;
162                         #size-cells = <0>;
163
164                         channel@0 {
165                                 reg = <0>;
166                                 adi,range-microamp = <0 300000>;
167                         };
168
169                         channel@1 {
170                                 reg = <1>;
171                                 adi,range-microamp = <0 140000>;
172                         };
173
174                         channel@2 {
175                                 reg = <2>;
176                                 adi,range-microamp = <0 55000>;
177                         };
178
179                         channel@3 {
180                                 reg = <3>;
181                                 adi,range-microamp = <0 45000>;
182                         };
183
184                         channel@4 {
185                                 reg = <4>;
186                                 adi,range-microamp = <0 45000>;
187                         };
188
189                         channel@5 {
190                                 reg = <5>;
191                                 adi,range-microamp = <0 45000>;
192                         };
193                 };
194         };
195 ...