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,ad3552r.yaml#
6 $schema: http://devicetree.org/meta-schemas/core.yaml#
7
8 title: Analog Devices AD2552R DAC device driver
9
10 maintainers:
11 - Nuno Sá <nuno.sa@analog.com>
12
13 description: |
14 Bindings for the Analog Devices AD3552R DAC device and similar.
15 Datasheet can be found here:
16 https://www.analog.com/media/en/technical-documentation/data-sheets/ad3542r.pdf
17 https://www.analog.com/media/en/technical-documentation/data-sheets/ad3552r.pdf
18
19 properties:
20 compatible:
21 enum:
22 - adi,ad3542r
23 - adi,ad3552r
24
25 reg:
26 maxItems: 1
27
28 spi-max-frequency:
29 maximum: 30000000
30
31 reset-gpios:
32 maxItems: 1
33
34 ldac-gpios:
35 description: |
36 LDAC pin to be used as a hardware trigger to update the DAC channels.
37 maxItems: 1
38
39 vref-supply:
40 description:
41 The regulator to use as an external reference. If it does not exists the
42 internal reference will be used. External reference must be 2.5V
43
44 adi,vref-out-en:
45 description: Vref I/O driven by internal vref to 2.5V. If not set, Vref pin
46 will be floating.
47 type: boolean
48
49 adi,sdo-drive-strength:
50 description: |
51 Configure SDIO0 and SDIO1 strength levels:
52 - 0: low SDO drive strength.
53 - 1: medium low SDO drive strength.
54 - 2: medium high SDO drive strength.
55 - 3: high SDO drive strength
56 $ref: /schemas/types.yaml#/definitions/uint32
57 enum: [0, 1, 2, 3]
58
59 '#address-cells':
60 const: 1
61
62 '#size-cells':
63 const: 0
64
65 patternProperties:
66 "^channel@([0-1])$":
67 type: object
68 description: Configurations of the DAC Channels
69
70 additionalProperties: false
71
72 properties:
73 reg:
74 description: Channel number
75 enum: [0, 1]
76
77 adi,output-range-microvolt: true
78
79 custom-output-range-config:
80 type: object
81 description: Configuration of custom range when
82 adi,output-range-microvolt is not present.
83 The formulas for calculation the output voltages are
84 Vout_fs = 2.5 + [(GainN + Offset/1024) * 2.5 * Rfbx * 1.03]
85 Vout_zs = 2.5 - [(GainP + Offset/1024) * 2.5 * Rfbx * 1.03]
86
87 properties:
88 adi,gain-offset:
89 description: Gain offset used in the above formula
90 $ref: /schemas/types.yaml#/definitions/int32
91 maximum: 511
92 minimum: -511
93
94 adi,gain-scaling-p-inv-log2:
95 description: GainP = 1 / ( 2 ^ adi,gain-scaling-p-inv-log2)
96 $ref: /schemas/types.yaml#/definitions/uint32
97 enum: [0, 1, 2, 3]
98
99 adi,gain-scaling-n-inv-log2:
100 description: GainN = 1 / ( 2 ^ adi,gain-scaling-n-inv-log2)
101 $ref: /schemas/types.yaml#/definitions/uint32
102 enum: [0, 1, 2, 3]
103
104 adi,rfb-ohms:
105 description: Feedback Resistor
106
107 required:
108 - adi,gain-offset
109 - adi,gain-scaling-p-inv-log2
110 - adi,gain-scaling-n-inv-log2
111 - adi,rfb-ohms
112
113 required:
114 - reg
115
116 oneOf:
117 # If adi,output-range-microvolt is missing,
118 # custom-output-range-config must be used
119 - required:
120 - adi,output-range-microvolt
121
122 - required:
123 - custom-output-range-config
124
125 allOf:
126 - if:
127 properties:
128 compatible:
129 contains:
130 const: adi,ad3542r
131 then:
132 patternProperties:
133 "^channel@([0-1])$":
134 type: object
135 properties:
136 adi,output-range-microvolt:
137 description: |
138 Voltage output range of the channel as <minimum, maximum>
139 Required connections:
140 Rfb1x for: 0 to 2.5 V; 0 to 3V; 0 to 5 V;
141 Rfb2x for: 0 to 10 V; 2.5 to 7.5V; -5 to 5 V;
142 oneOf:
143 - items:
144 - const: 0
145 - enum: [2500000, 3000000, 5000000, 10000000]
146 - items:
147 - const: -2500000
148 - const: 7500000
149 - items:
150 - const: -5000000
151 - const: 5000000
152
153 required:
154 - adi,output-range-microvolt
155
156 - if:
157 properties:
158 compatible:
159 contains:
160 const: adi,ad3552r
161 then:
162 patternProperties:
163 "^channel@([0-1])$":
164 type: object
165 properties:
166 adi,output-range-microvolt:
167 description: |
168 Voltage output range of the channel as <minimum, maximum>
169 Required connections:
170 Rfb1x for: 0 to 2.5 V; 0 to 5 V;
171 Rfb2x for: 0 to 10 V; -5 to 5 V;
172 Rfb4x for: -10 to 10V
173 oneOf:
174 - items:
175 - const: 0
176 - enum: [2500000, 5000000, 10000000]
177 - items:
178 - const: -5000000
179 - const: 5000000
180 - items:
181 - const: -10000000
182 - const: 10000000
183
184 required:
185 - compatible
186 - reg
187 - spi-max-frequency
188
189 additionalProperties: false
190
191 examples:
192 - |
193 spi {
194 #address-cells = <1>;
195 #size-cells = <0>;
196 ad3552r@0 {
197 compatible = "adi,ad3552r";
198 reg = <0>;
199 spi-max-frequency = <20000000>;
200 #address-cells = <1>;
201 #size-cells = <0>;
202 channel@0 {
203 reg = <0>;
204 adi,output-range-microvolt = <0 10000000>;
205 };
206 channel@1 {
207 reg = <1>;
208 custom-output-range-config {
209 adi,gain-offset = <5>;
210 adi,gain-scaling-p-inv-log2 = <1>;
211 adi,gain-scaling-n-inv-log2 = <2>;
212 adi,rfb-ohms = <1>;
213 };
214 };
215 };
216 };
217 ...
Cache object: 0810a1453560c006725955932c03e7b4
|