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