blob: d00690a8d3fbd92ad1c46353b75a26fe88ef2402 [file] [log] [blame]
Tom Rini53633a82024-02-29 12:33:36 -05001# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)
2# Copyright 2022 Analog Devices Inc.
3%YAML 1.2
4---
5$id: http://devicetree.org/schemas/iio/adc/adi,ad4130.yaml#
6$schema: http://devicetree.org/meta-schemas/core.yaml#
7
8title: Analog Devices AD4130 ADC device driver
9
10maintainers:
11 - Cosmin Tanislav <cosmin.tanislav@analog.com>
12
13description: |
14 Bindings for the Analog Devices AD4130 ADC. Datasheet can be found here:
15 https://www.analog.com/media/en/technical-documentation/data-sheets/AD4130-8.pdf
16
17properties:
18 compatible:
19 enum:
20 - adi,ad4130
21
22 reg:
23 maxItems: 1
24
25 clocks:
26 maxItems: 1
27 description: phandle to the master clock (mclk)
28
29 clock-names:
30 items:
31 - const: mclk
32
33 interrupts:
34 maxItems: 1
35
36 interrupt-names:
37 description: |
38 Specify which interrupt pin should be configured as Data Ready / FIFO
39 interrupt.
40 Default if not supplied is int.
41 enum:
42 - int
43 - clk
44 - p2
45 - dout
46
47 '#address-cells':
48 const: 1
49
50 '#size-cells':
51 const: 0
52
53 '#clock-cells':
54 const: 0
55
56 clock-output-names:
57 maxItems: 1
58
59 refin1-supply:
60 description: refin1 supply. Can be used as reference for conversion.
61
62 refin2-supply:
63 description: refin2 supply. Can be used as reference for conversion.
64
65 avdd-supply:
66 description: AVDD voltage supply. Can be used as reference for conversion.
67
68 iovdd-supply:
69 description: IOVDD voltage supply. Used for the chip interface.
70
71 spi-max-frequency:
72 maximum: 5000000
73
74 adi,ext-clk-freq-hz:
75 description: Specify the frequency of the external clock.
76 enum: [76800, 153600]
77 default: 76800
78
79 adi,bipolar:
80 description: Specify if the device should be used in bipolar mode.
81 type: boolean
82
83 adi,vbias-pins:
84 description: Analog inputs to apply a voltage bias of (AVDD − AVSS) / 2 to.
85 $ref: /schemas/types.yaml#/definitions/uint32-array
86 minItems: 1
87 maxItems: 16
88 items:
89 minimum: 0
90 maximum: 15
91
92required:
93 - compatible
94 - reg
95 - interrupts
96
97patternProperties:
98 "^channel@([0-9a-f])$":
99 type: object
100 $ref: adc.yaml
101 unevaluatedProperties: false
102
103 properties:
104 reg:
105 description: The channel number.
106 minimum: 0
107 maximum: 15
108
109 diff-channels:
110 description: |
111 Besides the analog inputs available, internal inputs can be used.
112 16: Internal temperature sensor.
113 17: AVSS
114 18: Internal reference
115 19: DGND
116 20: (AVDD − AVSS)/6+
117 21: (AVDD − AVSS)/6-
118 22: (IOVDD − DGND)/6+
119 23: (IOVDD − DGND)/6-
120 24: (ALDO − AVSS)/6+
121 25: (ALDO − AVSS)/6-
122 26: (DLDO − DGND)/6+
123 27: (DLDO − DGND)/6-
124 28: V_MV_P
125 29: V_MV_M
126 items:
127 minimum: 0
128 maximum: 29
129
130 adi,reference-select:
131 description: |
132 Select the reference source to use when converting on the
133 specific channel. Valid values are:
134 0: REFIN1(+)/REFIN1(−)
135 1: REFIN2(+)/REFIN2(−)
136 2: REFOUT/AVSS (Internal reference)
137 3: AVDD/AVSS
138 If not specified, REFIN1 is used.
139 $ref: /schemas/types.yaml#/definitions/uint32
140 enum: [0, 1, 2, 3]
141 default: 0
142
143 adi,excitation-pin-0:
144 description: |
145 Analog input to apply excitation current to while the channel
146 is active.
147 $ref: /schemas/types.yaml#/definitions/uint32
148 minimum: 0
149 maximum: 15
150 default: 0
151
152 adi,excitation-pin-1:
153 description: |
154 Analog input to apply excitation current to while this channel
155 is active.
156 $ref: /schemas/types.yaml#/definitions/uint32
157 minimum: 0
158 maximum: 15
159 default: 0
160
161 adi,excitation-current-0-nanoamp:
162 description: |
163 Excitation current in nanoamps to be applied to pin specified in
164 adi,excitation-pin-0 while this channel is active.
165 enum: [0, 100, 10000, 20000, 50000, 100000, 150000, 200000]
166 default: 0
167
168 adi,excitation-current-1-nanoamp:
169 description: |
170 Excitation current in nanoamps to be applied to pin specified in
171 adi,excitation-pin-1 while this channel is active.
172 enum: [0, 100, 10000, 20000, 50000, 100000, 150000, 200000]
173 default: 0
174
175 adi,burnout-current-nanoamp:
176 description: |
177 Burnout current in nanoamps to be applied for this channel.
178 enum: [0, 500, 2000, 4000]
179 default: 0
180
181 adi,buffered-positive:
182 description: Enable buffered mode for positive input.
183 type: boolean
184
185 adi,buffered-negative:
186 description: Enable buffered mode for negative input.
187 type: boolean
188
189 required:
190 - reg
191 - diff-channels
192
193allOf:
194 - $ref: /schemas/spi/spi-peripheral-props.yaml#
195
196unevaluatedProperties: false
197
198examples:
199 - |
200 #include <dt-bindings/interrupt-controller/irq.h>
201
202 spi {
203 #address-cells = <1>;
204 #size-cells = <0>;
205
206 adc@0 {
207 compatible = "adi,ad4130";
208 reg = <0>;
209
210 #address-cells = <1>;
211 #size-cells = <0>;
212
213 spi-max-frequency = <5000000>;
214 interrupts = <27 IRQ_TYPE_EDGE_FALLING>;
215 interrupt-parent = <&gpio>;
216
217 channel@0 {
218 reg = <0>;
219
220 adi,reference-select = <2>;
221
222 /* AIN8, AIN9 */
223 diff-channels = <8 9>;
224 };
225
226 channel@1 {
227 reg = <1>;
228
229 adi,reference-select = <2>;
230
231 /* AIN10, AIN11 */
232 diff-channels = <10 11>;
233 };
234
235 channel@2 {
236 reg = <2>;
237
238 adi,reference-select = <2>;
239
240 /* Temperature Sensor, DGND */
241 diff-channels = <16 19>;
242 };
243
244 channel@3 {
245 reg = <3>;
246
247 adi,reference-select = <2>;
248
249 /* Internal reference, DGND */
250 diff-channels = <18 19>;
251 };
252
253 channel@4 {
254 reg = <4>;
255
256 adi,reference-select = <2>;
257
258 /* DGND, DGND */
259 diff-channels = <19 19>;
260 };
261 };
262 };