Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
torvalds
GitHub Repository: torvalds/linux
Path: blob/master/Documentation/devicetree/bindings/iio/addac/adi,ad74115.yaml
26309 views
1
# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
2
%YAML 1.2
3
---
4
$id: http://devicetree.org/schemas/iio/addac/adi,ad74115.yaml#
5
$schema: http://devicetree.org/meta-schemas/core.yaml#
6
7
title: Analog Devices AD74115H device
8
9
maintainers:
10
- Cosmin Tanislav <cosmin.tanislav@analog.com>
11
12
description: |
13
The AD74115H is a single-channel software configurable input/output
14
device for industrial control applications. It contains functionality for
15
analog output, analog input, digital output, digital input, resistance
16
temperature detector, and thermocouple measurements integrated into a single
17
chip solution with an SPI interface. The device features a 16-bit ADC and a
18
14-bit DAC.
19
20
https://www.analog.com/en/products/ad74115h.html
21
22
properties:
23
compatible:
24
enum:
25
- adi,ad74115h
26
27
reg:
28
maxItems: 1
29
30
spi-max-frequency:
31
maximum: 24000000
32
33
spi-cpol: true
34
35
reset-gpios:
36
maxItems: 1
37
38
interrupts:
39
minItems: 1
40
maxItems: 2
41
42
interrupt-names:
43
minItems: 1
44
maxItems: 2
45
items:
46
enum:
47
- adc_rdy
48
- alert
49
50
avdd-supply: true
51
avcc-supply: true
52
dvcc-supply: true
53
dovdd-supply: true
54
refin-supply: true
55
56
adi,ch-func:
57
$ref: /schemas/types.yaml#/definitions/uint32
58
description: |
59
Channel function.
60
0 - High impedance
61
1 - Voltage output
62
2 - Current output
63
3 - Voltage input
64
4 - Current input, externally-powered
65
5 - Current input, loop-powered
66
6 - Resistance input
67
7 - RTD measure
68
8 - Digital input logic
69
9 - Digital input, loop-powered
70
10 - Current output with HART
71
11 - Current input, externally-powered, with HART
72
12 - Current input, loop-powered, with HART
73
minimum: 0
74
maximum: 12
75
default: 0
76
77
adi,conv2-mux:
78
$ref: /schemas/types.yaml#/definitions/uint32
79
description: |
80
Input node for ADC conversion 2.
81
0 - SENSE_EXT1 to AGND_SENSE
82
1 - SENSE_EXT2 to AGND_SENSE
83
2 - SENSE_EXT2 to SENSE_EXT1
84
3 - AGND to AGND
85
minimum: 0
86
maximum: 3
87
default: 0
88
89
adi,conv2-range-microvolt:
90
description: Conversion range for ADC conversion 2.
91
oneOf:
92
- items:
93
- enum: [-2500000, 0]
94
- const: 2500000
95
- items:
96
- enum: [-12000000, 0]
97
- const: 12000000
98
- items:
99
- const: -2500000
100
- const: 0
101
- items:
102
- const: -104000
103
- const: 104000
104
- items:
105
- const: 0
106
- const: 625000
107
108
adi,sense-agnd-buffer-low-power:
109
type: boolean
110
description:
111
Whether to enable low-power buffered mode for the AGND sense pin.
112
113
adi,lf-buffer-low-power:
114
type: boolean
115
description:
116
Whether to enable low-power buffered mode for the low-side filtered
117
sense pin.
118
119
adi,hf-buffer-low-power:
120
type: boolean
121
description:
122
Whether to enable low-power buffered mode for the high-side filtered
123
sense pin.
124
125
adi,ext2-buffer-low-power:
126
type: boolean
127
description: Whether to enable low-power buffered mode for the EXT2 pin.
128
129
adi,ext1-buffer-low-power:
130
type: boolean
131
description: Whether to enable low-power buffered mode for the EXT1 pin.
132
133
adi,comparator-invert:
134
type: boolean
135
description: Whether to invert the comparator output.
136
137
adi,digital-input-sink-range-high:
138
$ref: /schemas/types.yaml#/definitions/uint32
139
description: |
140
When not present, the digital input range is from 0 to 3700uA in steps
141
of 120uA, with a ~2k series resistance.
142
When present, the digital input range is from 0 to 7400uA in steps
143
of 240uA, with a ~1k series resistance.
144
145
adi,digital-input-sink-microamp:
146
description: Sink current in digital input mode.
147
minimum: 0
148
maximum: 3700
149
default: 0
150
151
adi,digital-input-debounce-mode-counter-reset:
152
type: boolean
153
description: |
154
When not present, a counter increments when the signal is asserted
155
and decrements when the signal is de-asserted.
156
When present, a counter increments while the signal is asserted and
157
resets when the signal de-asserts
158
159
adi,digital-input-unbuffered:
160
type: boolean
161
description: Whether to buffer digital input signals.
162
163
adi,digital-input-short-circuit-detection:
164
type: boolean
165
description: Whether to detect digital input short circuits.
166
167
adi,digital-input-open-circuit-detection:
168
type: boolean
169
description: Whether to detect digital input open circuits.
170
171
adi,digital-input-threshold-mode-fixed:
172
type: boolean
173
description: |
174
When not present, the digital input threshold range is -0.96 * AVDD
175
to AVDD.
176
When present, the threshold range is fixed from -19V to 30V.
177
178
adi,dac-bipolar:
179
type: boolean
180
description: |
181
When not present, the DAC operates in the 0V to 12V range.
182
When present, the DAC operates in the -12V to 12V range.
183
184
adi,charge-pump:
185
type: boolean
186
description: Whether to enable the internal charge pump.
187
188
adi,dac-hart-slew:
189
type: boolean
190
description: Whether to use a HART-compatible slew rate.
191
192
adi,dac-current-limit-low:
193
type: boolean
194
description: |
195
When not present, the DAC short-circuit current limit is 32mA in
196
either source or sink for VOUT and 4mA sink for IOUT.
197
When present, the limit is 16mA in either source or sink for VOUT,
198
1mA sink for IOUT.
199
200
adi,4-wire-rtd:
201
type: boolean
202
description: |
203
When not present, the ADC should be used for measuring 3-wire RTDs.
204
When present, the ADC should be used for measuring 4-wire RTDs.
205
206
adi,3-wire-rtd-excitation-swap:
207
type: boolean
208
description: Whether to swap the excitation for 3-wire RTD.
209
210
adi,rtd-excitation-current-microamp:
211
description: Excitation current to apply to RTD.
212
enum: [250, 500, 750, 1000]
213
default: 250
214
215
adi,ext1-burnout:
216
type: boolean
217
description: Whether to enable burnout current for EXT1.
218
219
adi,ext1-burnout-current-nanoamp:
220
description:
221
Burnout current in nanoamps to be applied to EXT1.
222
enum: [0, 50, 500, 1000, 10000]
223
default: 0
224
225
adi,ext1-burnout-current-polarity-sourcing:
226
type: boolean
227
description: |
228
When not present, the burnout current polarity for EXT1 is sinking.
229
When present, the burnout current polarity for EXT1 is sourcing.
230
231
adi,ext2-burnout:
232
type: boolean
233
description: Whether to enable burnout current for EXT2.
234
235
adi,ext2-burnout-current-nanoamp:
236
description: Burnout current in nanoamps to be applied to EXT2.
237
enum: [0, 50, 500, 1000, 10000]
238
default: 0
239
240
adi,ext2-burnout-current-polarity-sourcing:
241
type: boolean
242
description: |
243
When not present, the burnout current polarity for EXT2 is sinking.
244
When present, the burnout current polarity for EXT2 is sourcing.
245
246
adi,viout-burnout:
247
type: boolean
248
description: Whether to enable burnout current for VIOUT.
249
250
adi,viout-burnout-current-nanoamp:
251
description: Burnout current in nanoamps to be applied to VIOUT.
252
enum: [0, 1000, 10000]
253
default: 0
254
255
adi,viout-burnout-current-polarity-sourcing:
256
type: boolean
257
description: |
258
When not present, the burnout current polarity for VIOUT is sinking.
259
When present, the burnout current polarity for VIOUT is sourcing.
260
261
adi,gpio0-mode:
262
$ref: /schemas/types.yaml#/definitions/uint32
263
description: |
264
GPIO functions.
265
0 - Disabled
266
1 - Logic I/O
267
2 - Comparator output
268
3 - Control HART CD
269
4 - Monitor HART CD
270
5 - Monitor HART EOM status
271
minimum: 0
272
maximum: 5
273
default: 0
274
275
adi,gpio1-mode:
276
$ref: /schemas/types.yaml#/definitions/uint32
277
description: |
278
GPIO functions.
279
0 - Disabled
280
1 - Logic I/O
281
2 - Drive external digital output FET
282
3 - Control HART RXD
283
4 - Monitor HART RXD
284
5 - Monitor HART SOM status
285
minimum: 0
286
maximum: 5
287
default: 0
288
289
adi,gpio2-mode:
290
$ref: /schemas/types.yaml#/definitions/uint32
291
description: |
292
GPIO functions.
293
0 - Disabled
294
1 - Logic I/O
295
2 - Drive internal digital output FET
296
3 - Control HART TXD
297
4 - Monitor HART TXD
298
5 - Monitor HART TX complete status
299
minimum: 0
300
maximum: 5
301
default: 0
302
303
adi,gpio3-mode:
304
$ref: /schemas/types.yaml#/definitions/uint32
305
description: |
306
GPIO functions.
307
0 - Disabled
308
1 - Logic I/O
309
2 - High impedance
310
3 - Control HART RTS
311
4 - Monitor HART RTS
312
5 - Monitor HART CD complete status
313
minimum: 0
314
maximum: 5
315
default: 0
316
317
required:
318
- compatible
319
- reg
320
- spi-cpol
321
- avdd-supply
322
323
allOf:
324
- $ref: /schemas/spi/spi-peripheral-props.yaml#
325
- if:
326
required:
327
- adi,digital-input-sink-range-high
328
then:
329
properties:
330
adi,digital-input-sink-microamp:
331
maximum: 7400
332
333
unevaluatedProperties: false
334
335
examples:
336
- |
337
#include <dt-bindings/gpio/gpio.h>
338
#include <dt-bindings/interrupt-controller/irq.h>
339
340
spi {
341
#address-cells = <1>;
342
#size-cells = <0>;
343
344
addac@0 {
345
compatible = "adi,ad74115h";
346
reg = <0>;
347
348
spi-max-frequency = <12000000>;
349
spi-cpol;
350
351
reset-gpios = <&gpio 27 GPIO_ACTIVE_LOW>;
352
353
interrupt-parent = <&gpio>;
354
interrupts = <26 IRQ_TYPE_EDGE_FALLING>;
355
interrupt-names = "adc_rdy";
356
357
avdd-supply = <&ad74115_avdd>;
358
359
adi,ch-func = <1>;
360
adi,conv2-mux = <2>;
361
adi,conv2-range-microvolt = <(-12000000) 12000000>;
362
363
adi,gpio0-mode = <1>;
364
adi,gpio1-mode = <1>;
365
adi,gpio2-mode = <1>;
366
adi,gpio3-mode = <1>;
367
368
adi,dac-bipolar;
369
};
370
};
371
...
372
373