Skip to content

Commit be16b08

Browse files
kseerpnunojsa
authored andcommitted
dt-bindings: iio: dac: Add adi,ltc2664.yaml
Add documentation for ltc2664. Reviewed-by: Conor Dooley <conor.dooley@microchip.com> Co-developed-by: Michael Hennerich <michael.hennerich@analog.com> Signed-off-by: Michael Hennerich <michael.hennerich@analog.com> Signed-off-by: Kim Seer Paller <kimseer.paller@analog.com> Link: https://patch.msgid.link/20240718051834.32270-5-kimseer.paller@analog.com Signed-off-by: Jonathan Cameron <Jonathan.Cameron@huawei.com>
1 parent e50116e commit be16b08

File tree

2 files changed

+189
-0
lines changed

2 files changed

+189
-0
lines changed
Lines changed: 181 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,181 @@
1+
# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
2+
%YAML 1.2
3+
---
4+
$id: http://devicetree.org/schemas/iio/dac/adi,ltc2664.yaml#
5+
$schema: http://devicetree.org/meta-schemas/core.yaml#
6+
7+
title: Analog Devices LTC2664 DAC
8+
9+
maintainers:
10+
- Michael Hennerich <michael.hennerich@analog.com>
11+
- Kim Seer Paller <kimseer.paller@analog.com>
12+
13+
description: |
14+
Analog Devices LTC2664 4 channel, 12-/16-Bit, +-10V DAC
15+
https://www.analog.com/media/en/technical-documentation/data-sheets/2664fa.pdf
16+
17+
properties:
18+
compatible:
19+
enum:
20+
- adi,ltc2664
21+
22+
reg:
23+
maxItems: 1
24+
25+
spi-max-frequency:
26+
maximum: 50000000
27+
28+
vcc-supply:
29+
description: Analog Supply Voltage Input.
30+
31+
v-pos-supply:
32+
description: Positive Supply Voltage Input.
33+
34+
v-neg-supply:
35+
description: Negative Supply Voltage Input.
36+
37+
iovcc-supply:
38+
description: Digital Input/Output Supply Voltage.
39+
40+
ref-supply:
41+
description:
42+
Reference Input/Output. The voltage at the REF pin sets the full-scale
43+
range of all channels. If not provided the internal reference is used and
44+
also provided on the VREF pin.
45+
46+
reset-gpios:
47+
description:
48+
Active-low Asynchronous Clear Input. A logic low at this level-triggered
49+
input clears the part to the reset code and range determined by the
50+
hardwired option chosen using the MSPAN pins. The control registers are
51+
cleared to zero.
52+
maxItems: 1
53+
54+
adi,manual-span-operation-config:
55+
description:
56+
This property must mimic the MSPAN pin configurations. By tying the MSPAN
57+
pins (MSP2, MSP1 and MSP0) to GND and/or VCC, any output range can be
58+
hardware-configured with different mid-scale or zero-scale reset options.
59+
The hardware configuration is latched during power on reset for proper
60+
operation.
61+
0 - MPS2=GND, MPS1=GND, MSP0=GND (+-10V, reset to 0V)
62+
1 - MPS2=GND, MPS1=GND, MSP0=VCC (+-5V, reset to 0V)
63+
2 - MPS2=GND, MPS1=VCC, MSP0=GND (+-2.5V, reset to 0V)
64+
3 - MPS2=GND, MPS1=VCC, MSP0=VCC (0V to 10, reset to 0V)
65+
4 - MPS2=VCC, MPS1=GND, MSP0=GND (0V to 10V, reset to 5V)
66+
5 - MPS2=VCC, MPS1=GND, MSP0=VCC (0V to 5V, reset to 0V)
67+
6 - MPS2=VCC, MPS1=VCC, MSP0=GND (0V to 5V, reset to 2.5V)
68+
7 - MPS2=VCC, MPS1=VCC, MSP0=VCC (0V to 5V, reset to 0V, enables SoftSpan)
69+
$ref: /schemas/types.yaml#/definitions/uint32
70+
enum: [0, 1, 2, 3, 4, 5, 6, 7]
71+
default: 7
72+
73+
io-channels:
74+
description:
75+
ADC channel to monitor voltages and temperature at the MUXOUT pin.
76+
maxItems: 1
77+
78+
'#address-cells':
79+
const: 1
80+
81+
'#size-cells':
82+
const: 0
83+
84+
patternProperties:
85+
"^channel@[0-3]$":
86+
$ref: dac.yaml
87+
type: object
88+
additionalProperties: false
89+
90+
properties:
91+
reg:
92+
description: The channel number representing the DAC output channel.
93+
maximum: 3
94+
95+
adi,toggle-mode:
96+
description:
97+
Set the channel as a toggle enabled channel. Toggle operation enables
98+
fast switching of a DAC output between two different DAC codes without
99+
any SPI transaction.
100+
type: boolean
101+
102+
output-range-microvolt:
103+
description:
104+
This property is only allowed when SoftSpan is enabled. If not present,
105+
[0, 5000000] is the default output range.
106+
oneOf:
107+
- items:
108+
- const: 0
109+
- enum: [5000000, 10000000]
110+
- items:
111+
- const: -5000000
112+
- const: 5000000
113+
- items:
114+
- const: -10000000
115+
- const: 10000000
116+
- items:
117+
- const: -2500000
118+
- const: 2500000
119+
120+
required:
121+
- reg
122+
123+
allOf:
124+
- if:
125+
not:
126+
properties:
127+
adi,manual-span-operation-config:
128+
const: 7
129+
then:
130+
patternProperties:
131+
"^channel@[0-3]$":
132+
properties:
133+
output-range-microvolt: false
134+
135+
required:
136+
- compatible
137+
- reg
138+
- spi-max-frequency
139+
- vcc-supply
140+
- iovcc-supply
141+
- v-pos-supply
142+
- v-neg-supply
143+
144+
allOf:
145+
- $ref: /schemas/spi/spi-peripheral-props.yaml#
146+
147+
additionalProperties: false
148+
149+
examples:
150+
- |
151+
spi {
152+
#address-cells = <1>;
153+
#size-cells = <0>;
154+
dac@0 {
155+
compatible = "adi,ltc2664";
156+
reg = <0>;
157+
spi-max-frequency = <10000000>;
158+
159+
vcc-supply = <&vcc>;
160+
iovcc-supply = <&vcc>;
161+
ref-supply = <&vref>;
162+
v-pos-supply = <&vpos>;
163+
v-neg-supply = <&vneg>;
164+
165+
io-channels = <&adc 0>;
166+
167+
#address-cells = <1>;
168+
#size-cells = <0>;
169+
channel@0 {
170+
reg = <0>;
171+
adi,toggle-mode;
172+
output-range-microvolt = <(-10000000) 10000000>;
173+
};
174+
175+
channel@1 {
176+
reg = <1>;
177+
output-range-microvolt= <0 10000000>;
178+
};
179+
};
180+
};
181+
...

MAINTAINERS

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -12182,6 +12182,14 @@ W: http://ez.analog.com/community/linux-device-drivers
1218212182
F: Documentation/devicetree/bindings/iio/adc/lltc,ltc2387.yaml
1218312183
F: drivers/iio/adc/ltc2387.c
1218412184

12185+
LTC2664 IIO DAC DRIVER
12186+
M: Michael Hennerich <michael.hennerich@analog.com>
12187+
M: Kim Seer Paller <kimseer.paller@analog.com>
12188+
L: linux-iio@vger.kernel.org
12189+
S: Supported
12190+
W: https://ez.analog.com/linux-software-drivers
12191+
F: Documentation/devicetree/bindings/iio/dac/adi,ltc2664.yaml
12192+
1218512193
LTC2688 IIO DAC DRIVER
1218612194
M: Nuno Sá <nuno.sa@analog.com>
1218712195
L: linux-iio@vger.kernel.org

0 commit comments

Comments
 (0)