Skip to content

Commit b0a96c5

Browse files
Mihail Chindrisjic23
authored andcommitted
dt-bindings: iio: dac: Add adi,ad3552r.yaml
Add documentation for ad3552r and ad3542r Signed-off-by: Mihail Chindris <[email protected]> Reviewed-by: Rob Herring <[email protected]> Signed-off-by: Jonathan Cameron <[email protected]>
1 parent bf92d87 commit b0a96c5

File tree

1 file changed

+217
-0
lines changed

1 file changed

+217
-0
lines changed
Lines changed: 217 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,217 @@
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+
- Mihail Chindris <[email protected]>
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+
...

0 commit comments

Comments
 (0)