1e67e8565SEmmanuel Vadot# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) 2e67e8565SEmmanuel Vadot%YAML 1.2 3e67e8565SEmmanuel Vadot--- 4e67e8565SEmmanuel Vadot$id: http://devicetree.org/schemas/iio/addac/adi,ad74413r.yaml# 5e67e8565SEmmanuel Vadot$schema: http://devicetree.org/meta-schemas/core.yaml# 6e67e8565SEmmanuel Vadot 7e67e8565SEmmanuel Vadottitle: Analog Devices AD74412R/AD74413R device 8e67e8565SEmmanuel Vadot 9e67e8565SEmmanuel Vadotmaintainers: 10e67e8565SEmmanuel Vadot - Cosmin Tanislav <cosmin.tanislav@analog.com> 11e67e8565SEmmanuel Vadot 12e67e8565SEmmanuel Vadotdescription: | 13e67e8565SEmmanuel Vadot The AD74412R and AD74413R are quad-channel software configurable input/output 14e67e8565SEmmanuel Vadot solutions for building and process control applications. They contain 15e67e8565SEmmanuel Vadot functionality for analog output, analog input, digital input, resistance 16e67e8565SEmmanuel Vadot temperature detector, and thermocouple measurements integrated 17e67e8565SEmmanuel Vadot into a single chip solution with an SPI interface. 18e67e8565SEmmanuel Vadot The devices feature a 16-bit ADC and four configurable 13-bit DACs to provide 19e67e8565SEmmanuel Vadot four configurable input/output channels and a suite of diagnostic functions. 20e67e8565SEmmanuel Vadot The AD74413R differentiates itself from the AD74412R by being HART-compatible. 21e67e8565SEmmanuel Vadot https://www.analog.com/en/products/ad74412r.html 22e67e8565SEmmanuel Vadot https://www.analog.com/en/products/ad74413r.html 23e67e8565SEmmanuel Vadot 24e67e8565SEmmanuel Vadotproperties: 25e67e8565SEmmanuel Vadot compatible: 26e67e8565SEmmanuel Vadot enum: 27e67e8565SEmmanuel Vadot - adi,ad74412r 28e67e8565SEmmanuel Vadot - adi,ad74413r 29e67e8565SEmmanuel Vadot 30e67e8565SEmmanuel Vadot reg: 31e67e8565SEmmanuel Vadot maxItems: 1 32e67e8565SEmmanuel Vadot 33e67e8565SEmmanuel Vadot '#address-cells': 34e67e8565SEmmanuel Vadot const: 1 35e67e8565SEmmanuel Vadot 36e67e8565SEmmanuel Vadot '#size-cells': 37e67e8565SEmmanuel Vadot const: 0 38e67e8565SEmmanuel Vadot 39e67e8565SEmmanuel Vadot spi-max-frequency: 40e67e8565SEmmanuel Vadot maximum: 1000000 41e67e8565SEmmanuel Vadot 42e67e8565SEmmanuel Vadot spi-cpol: true 43e67e8565SEmmanuel Vadot 44e67e8565SEmmanuel Vadot interrupts: 45e67e8565SEmmanuel Vadot maxItems: 1 46e67e8565SEmmanuel Vadot 47e67e8565SEmmanuel Vadot refin-supply: true 48e67e8565SEmmanuel Vadot 49e67e8565SEmmanuel Vadot shunt-resistor-micro-ohms: 50e67e8565SEmmanuel Vadot description: 51e67e8565SEmmanuel Vadot Shunt (sense) resistor value in micro-Ohms. 52e67e8565SEmmanuel Vadot default: 100000000 53e67e8565SEmmanuel Vadot 548bab661aSEmmanuel Vadot reset-gpios: 558bab661aSEmmanuel Vadot maxItems: 1 568bab661aSEmmanuel Vadot 57e67e8565SEmmanuel Vadotrequired: 58e67e8565SEmmanuel Vadot - compatible 59e67e8565SEmmanuel Vadot - reg 60e67e8565SEmmanuel Vadot - spi-max-frequency 61e67e8565SEmmanuel Vadot - spi-cpol 62e67e8565SEmmanuel Vadot - refin-supply 63e67e8565SEmmanuel Vadot 64e67e8565SEmmanuel VadotpatternProperties: 65e67e8565SEmmanuel Vadot "^channel@[0-3]$": 66e67e8565SEmmanuel Vadot type: object 677ef62cebSEmmanuel Vadot additionalProperties: false 68e67e8565SEmmanuel Vadot description: Represents the external channels which are connected to the device. 69e67e8565SEmmanuel Vadot 70e67e8565SEmmanuel Vadot properties: 71e67e8565SEmmanuel Vadot reg: 72e67e8565SEmmanuel Vadot description: | 73e67e8565SEmmanuel Vadot The channel number. It can have up to 4 channels numbered from 0 to 3. 74e67e8565SEmmanuel Vadot minimum: 0 75e67e8565SEmmanuel Vadot maximum: 3 76e67e8565SEmmanuel Vadot 77e67e8565SEmmanuel Vadot adi,ch-func: 78e67e8565SEmmanuel Vadot $ref: /schemas/types.yaml#/definitions/uint32 79e67e8565SEmmanuel Vadot description: | 80e67e8565SEmmanuel Vadot Channel function. 81e67e8565SEmmanuel Vadot HART functions are not supported on AD74412R. 82e67e8565SEmmanuel Vadot 0 - CH_FUNC_HIGH_IMPEDANCE 83e67e8565SEmmanuel Vadot 1 - CH_FUNC_VOLTAGE_OUTPUT 84e67e8565SEmmanuel Vadot 2 - CH_FUNC_CURRENT_OUTPUT 85e67e8565SEmmanuel Vadot 3 - CH_FUNC_VOLTAGE_INPUT 86e67e8565SEmmanuel Vadot 4 - CH_FUNC_CURRENT_INPUT_EXT_POWER 87e67e8565SEmmanuel Vadot 5 - CH_FUNC_CURRENT_INPUT_LOOP_POWER 88e67e8565SEmmanuel Vadot 6 - CH_FUNC_RESISTANCE_INPUT 89e67e8565SEmmanuel Vadot 7 - CH_FUNC_DIGITAL_INPUT_LOGIC 90e67e8565SEmmanuel Vadot 8 - CH_FUNC_DIGITAL_INPUT_LOOP_POWER 91e67e8565SEmmanuel Vadot 9 - CH_FUNC_CURRENT_INPUT_EXT_POWER_HART 92e67e8565SEmmanuel Vadot 10 - CH_FUNC_CURRENT_INPUT_LOOP_POWER_HART 93e67e8565SEmmanuel Vadot minimum: 0 94e67e8565SEmmanuel Vadot maximum: 10 95e67e8565SEmmanuel Vadot default: 0 96e67e8565SEmmanuel Vadot 97e67e8565SEmmanuel Vadot adi,gpo-comparator: 98e67e8565SEmmanuel Vadot type: boolean 99e67e8565SEmmanuel Vadot description: | 100e67e8565SEmmanuel Vadot Whether to configure GPO as a comparator or not. 101e67e8565SEmmanuel Vadot When not configured as a comparator, the GPO will be treated as an 102e67e8565SEmmanuel Vadot output-only GPIO. 103e67e8565SEmmanuel Vadot 104*fac71e4eSEmmanuel Vadot drive-strength-microamp: 105*fac71e4eSEmmanuel Vadot description: | 106*fac71e4eSEmmanuel Vadot For channels configured as digital input, this configures the sink 107*fac71e4eSEmmanuel Vadot current. 108*fac71e4eSEmmanuel Vadot minimum: 0 109*fac71e4eSEmmanuel Vadot maximum: 1800 110*fac71e4eSEmmanuel Vadot default: 0 111*fac71e4eSEmmanuel Vadot multipleOf: 120 112*fac71e4eSEmmanuel Vadot 113e67e8565SEmmanuel Vadot required: 114e67e8565SEmmanuel Vadot - reg 115e67e8565SEmmanuel Vadot 1168bab661aSEmmanuel VadotallOf: 1178bab661aSEmmanuel Vadot - $ref: /schemas/spi/spi-peripheral-props.yaml# 1188bab661aSEmmanuel Vadot 1198bab661aSEmmanuel VadotunevaluatedProperties: false 1208bab661aSEmmanuel Vadot 121e67e8565SEmmanuel Vadotexamples: 122e67e8565SEmmanuel Vadot - | 123e67e8565SEmmanuel Vadot #include <dt-bindings/gpio/gpio.h> 124e67e8565SEmmanuel Vadot #include <dt-bindings/interrupt-controller/irq.h> 125e67e8565SEmmanuel Vadot #include <dt-bindings/iio/addac/adi,ad74413r.h> 126e67e8565SEmmanuel Vadot 127e67e8565SEmmanuel Vadot spi { 128e67e8565SEmmanuel Vadot #address-cells = <1>; 129e67e8565SEmmanuel Vadot #size-cells = <0>; 130e67e8565SEmmanuel Vadot 1318bab661aSEmmanuel Vadot addac@0 { 132e67e8565SEmmanuel Vadot compatible = "adi,ad74413r"; 133e67e8565SEmmanuel Vadot reg = <0>; 134e67e8565SEmmanuel Vadot spi-max-frequency = <1000000>; 135e67e8565SEmmanuel Vadot spi-cpol; 136e67e8565SEmmanuel Vadot 137e67e8565SEmmanuel Vadot #address-cells = <1>; 138e67e8565SEmmanuel Vadot #size-cells = <0>; 139e67e8565SEmmanuel Vadot 140e67e8565SEmmanuel Vadot interrupt-parent = <&gpio>; 141e67e8565SEmmanuel Vadot interrupts = <26 IRQ_TYPE_EDGE_FALLING>; 142e67e8565SEmmanuel Vadot 143e67e8565SEmmanuel Vadot refin-supply = <&ad74413r_refin>; 1448bab661aSEmmanuel Vadot reset-gpios = <&gpio2 6 GPIO_ACTIVE_LOW>; 145e67e8565SEmmanuel Vadot 146e67e8565SEmmanuel Vadot channel@0 { 147e67e8565SEmmanuel Vadot reg = <0>; 148e67e8565SEmmanuel Vadot 149e67e8565SEmmanuel Vadot adi,ch-func = <CH_FUNC_VOLTAGE_OUTPUT>; 150e67e8565SEmmanuel Vadot }; 151e67e8565SEmmanuel Vadot 152e67e8565SEmmanuel Vadot channel@1 { 153e67e8565SEmmanuel Vadot reg = <1>; 154e67e8565SEmmanuel Vadot 155e67e8565SEmmanuel Vadot adi,ch-func = <CH_FUNC_CURRENT_OUTPUT>; 156e67e8565SEmmanuel Vadot }; 157e67e8565SEmmanuel Vadot 158e67e8565SEmmanuel Vadot channel@2 { 159e67e8565SEmmanuel Vadot reg = <2>; 160e67e8565SEmmanuel Vadot 161e67e8565SEmmanuel Vadot adi,ch-func = <CH_FUNC_DIGITAL_INPUT_LOGIC>; 162e67e8565SEmmanuel Vadot adi,gpo-comparator; 163e67e8565SEmmanuel Vadot }; 164e67e8565SEmmanuel Vadot 165e67e8565SEmmanuel Vadot channel@3 { 166e67e8565SEmmanuel Vadot reg = <3>; 167e67e8565SEmmanuel Vadot 168e67e8565SEmmanuel Vadot adi,ch-func = <CH_FUNC_CURRENT_INPUT_EXT_POWER>; 169e67e8565SEmmanuel Vadot }; 170e67e8565SEmmanuel Vadot }; 171e67e8565SEmmanuel Vadot }; 172e67e8565SEmmanuel Vadot... 173