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
8title: Analog Devices AD5770R DAC device driver
9
10maintainers:
11  - Alexandru Tachici <alexandru.tachici@analog.com>
12
13description: |
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
18properties:
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
117patternProperties:
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
134required:
135  - reg
136  - channel@0
137  - channel@1
138  - channel@2
139  - channel@3
140  - channel@4
141  - channel@5
142
143allOf:
144  - $ref: /schemas/spi/spi-peripheral-props.yaml#
145
146unevaluatedProperties: false
147
148examples:
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...
196