1 # SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
4 $id: http://devicetree.org/schemas/iio/addac/adi,ad74115.yaml#
5 $schema: http://devicetree.org/meta-schemas/core.yaml#
7 title: Analog Devices AD74115H device
10 - Cosmin Tanislav <cosmin.tanislav@analog.com>
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
20 https://www.analog.com/en/products/ad74115h.html
57 $ref: /schemas/types.yaml#/definitions/uint32
64 4 - Current input, externally-powered
65 5 - Current input, loop-powered
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
78 $ref: /schemas/types.yaml#/definitions/uint32
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
89 adi,conv2-range-microvolt:
90 description: Conversion range for ADC conversion 2.
96 - enum: [-12000000, 0]
108 adi,sense-agnd-buffer-low-power:
111 Whether to enable low-power buffered mode for the AGND sense pin.
113 adi,lf-buffer-low-power:
116 Whether to enable low-power buffered mode for the low-side filtered
119 adi,hf-buffer-low-power:
122 Whether to enable low-power buffered mode for the high-side filtered
125 adi,ext2-buffer-low-power:
127 description: Whether to enable low-power buffered mode for the EXT2 pin.
129 adi,ext1-buffer-low-power:
131 description: Whether to enable low-power buffered mode for the EXT1 pin.
133 adi,comparator-invert:
135 description: Whether to invert the comparator output.
137 adi,digital-input-sink-range-high:
138 $ref: /schemas/types.yaml#/definitions/uint32
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.
145 adi,digital-input-sink-microamp:
146 description: Sink current in digital input mode.
151 adi,digital-input-debounce-mode-counter-reset:
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
159 adi,digital-input-unbuffered:
161 description: Whether to buffer digital input signals.
163 adi,digital-input-short-circuit-detection:
165 description: Whether to detect digital input short circuits.
167 adi,digital-input-open-circuit-detection:
169 description: Whether to detect digital input open circuits.
171 adi,digital-input-threshold-mode-fixed:
174 When not present, the digital input threshold range is -0.96 * AVDD
176 When present, the threshold range is fixed from -19V to 30V.
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.
186 description: Whether to enable the internal charge pump.
190 description: Whether to use a HART-compatible slew rate.
192 adi,dac-current-limit-low:
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,
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.
206 adi,3-wire-rtd-excitation-swap:
208 description: Whether to swap the excitation for 3-wire RTD.
210 adi,rtd-excitation-current-microamp:
211 description: Excitation current to apply to RTD.
212 enum: [250, 500, 750, 1000]
217 description: Whether to enable burnout current for EXT1.
219 adi,ext1-burnout-current-nanoamp:
221 Burnout current in nanoamps to be applied to EXT1.
222 enum: [0, 50, 500, 1000, 10000]
225 adi,ext1-burnout-current-polarity-sourcing:
228 When not present, the burnout current polarity for EXT1 is sinking.
229 When present, the burnout current polarity for EXT1 is sourcing.
233 description: Whether to enable burnout current for EXT2.
235 adi,ext2-burnout-current-nanoamp:
236 description: Burnout current in nanoamps to be applied to EXT2.
237 enum: [0, 50, 500, 1000, 10000]
240 adi,ext2-burnout-current-polarity-sourcing:
243 When not present, the burnout current polarity for EXT2 is sinking.
244 When present, the burnout current polarity for EXT2 is sourcing.
248 description: Whether to enable burnout current for VIOUT.
250 adi,viout-burnout-current-nanoamp:
251 description: Burnout current in nanoamps to be applied to VIOUT.
252 enum: [0, 1000, 10000]
255 adi,viout-burnout-current-polarity-sourcing:
258 When not present, the burnout current polarity for VIOUT is sinking.
259 When present, the burnout current polarity for VIOUT is sourcing.
262 $ref: /schemas/types.yaml#/definitions/uint32
267 2 - Comparator output
270 5 - Monitor HART EOM status
276 $ref: /schemas/types.yaml#/definitions/uint32
281 2 - Drive external digital output FET
284 5 - Monitor HART SOM status
290 $ref: /schemas/types.yaml#/definitions/uint32
295 2 - Drive internal digital output FET
298 5 - Monitor HART TX complete status
304 $ref: /schemas/types.yaml#/definitions/uint32
312 5 - Monitor HART CD complete status
324 - $ref: /schemas/spi/spi-peripheral-props.yaml#
327 - adi,digital-input-sink-range-high
330 adi,digital-input-sink-microamp:
333 unevaluatedProperties: false
337 #include <dt-bindings/gpio/gpio.h>
338 #include <dt-bindings/interrupt-controller/irq.h>
341 #address-cells = <1>;
345 compatible = "adi,ad74115h";
348 spi-max-frequency = <12000000>;
351 reset-gpios = <&gpio 27 GPIO_ACTIVE_LOW>;
353 interrupt-parent = <&gpio>;
354 interrupts = <26 IRQ_TYPE_EDGE_FALLING>;
355 interrupt-names = "adc_rdy";
357 avdd-supply = <&ad74115_avdd>;
361 adi,conv2-range-microvolt = <(-12000000) 12000000>;
363 adi,gpio0-mode = <1>;
364 adi,gpio1-mode = <1>;
365 adi,gpio2-mode = <1>;
366 adi,gpio3-mode = <1>;