xref: /linux/Documentation/devicetree/bindings/iio/dac/adi,ltc2672.yaml (revision c532de5a67a70f8533d495f8f2aaa9a0491c3ad0)
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,ltc2672.yaml#
5$schema: http://devicetree.org/meta-schemas/core.yaml#
6
7title: Analog Devices LTC2672 DAC
8
9maintainers:
10  - Michael Hennerich <michael.hennerich@analog.com>
11  - Kim Seer Paller <kimseer.paller@analog.com>
12
13description: |
14  Analog Devices LTC2672 5 channel, 12-/16-Bit, 300mA DAC
15  https://www.analog.com/media/en/technical-documentation/data-sheets/ltc2672.pdf
16
17properties:
18  compatible:
19    enum:
20      - adi,ltc2672
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-neg-supply:
32    description: Negative Supply Voltage Input.
33
34  vdd0-supply:
35    description: Positive Supply Voltage Input for DAC OUT0.
36
37  vdd1-supply:
38    description: Positive Supply Voltage Input for DAC OUT1.
39
40  vdd2-supply:
41    description: Positive Supply Voltage Input for DAC OUT2.
42
43  vdd3-supply:
44    description: Positive Supply Voltage Input for DAC OUT3.
45
46  vdd4-supply:
47    description: Positive Supply Voltage Input for DAC OUT4.
48
49  iovcc-supply:
50    description: Digital Input/Output Supply Voltage.
51
52  ref-supply:
53    description:
54      Reference Input/Output. The voltage at the REF pin sets the full-scale
55      range of all channels. If not provided the internal reference is used and
56      also provided on the VREF pin.
57
58  reset-gpios:
59    description:
60      Active Low Asynchronous Clear Input. A logic low at this level triggered
61      input clears the device to the default reset code and output range, which
62      is zero-scale with the outputs off. The control registers are cleared to
63      zero.
64    maxItems: 1
65
66  adi,rfsadj-ohms:
67    description:
68      If FSADJ is tied to VCC, an internal RFSADJ (20 kΩ) is selected, which
69      results in nominal output ranges. When an external resistor of 19 kΩ to
70      41 kΩ can be used instead by connecting the resistor between FSADJ and GND
71      it controls the scaling of the ranges, and the internal resistor is
72      automatically disconnected.
73    minimum: 19000
74    maximum: 41000
75    default: 20000
76
77  io-channels:
78    description:
79      ADC channel to monitor voltages and currents at the MUX pin.
80    maxItems: 1
81
82  '#address-cells':
83    const: 1
84
85  '#size-cells':
86    const: 0
87
88patternProperties:
89  "^channel@[0-4]$":
90    $ref: dac.yaml
91    type: object
92    additionalProperties: false
93
94    properties:
95      reg:
96        description: The channel number representing the DAC output channel.
97        maximum: 4
98
99      adi,toggle-mode:
100        description:
101          Set the channel as a toggle enabled channel. Toggle operation enables
102          fast switching of a DAC output between two different DAC codes without
103          any SPI transaction.
104        type: boolean
105
106      output-range-microamp:
107        items:
108          - const: 0
109          - enum: [3125000, 6250000, 12500000, 25000000, 50000000, 100000000,
110                   200000000, 300000000]
111
112    required:
113      - reg
114      - output-range-microamp
115
116required:
117  - compatible
118  - reg
119  - spi-max-frequency
120  - vcc-supply
121  - iovcc-supply
122  - v-neg-supply
123
124allOf:
125  - $ref: /schemas/spi/spi-peripheral-props.yaml#
126
127additionalProperties: false
128
129examples:
130  - |
131    spi {
132        #address-cells = <1>;
133        #size-cells = <0>;
134        dac@0 {
135            compatible = "adi,ltc2672";
136            reg = <0>;
137            spi-max-frequency = <10000000>;
138
139            vcc-supply = <&vcc>;
140            iovcc-supply = <&vcc>;
141            ref-supply = <&vref>;
142            v-neg-supply = <&vneg>;
143
144            io-channels = <&adc 0>;
145
146            #address-cells = <1>;
147            #size-cells = <0>;
148            channel@0 {
149                reg = <0>;
150                adi,toggle-mode;
151                output-range-microamp = <0 3125000>;
152            };
153
154            channel@1 {
155                reg = <1>;
156                output-range-microamp = <0 6250000>;
157            };
158        };
159    };
160...
161