blob: 82b0eed6a7b7567e9dd83b885ba26db2b234fff5 [file] [log] [blame]
Tom Rini53633a82024-02-29 12:33:36 -05001# 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...