164 lines
3.9 KiB
YAML
164 lines
3.9 KiB
YAML
|
# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
|
||
|
%YAML 1.2
|
||
|
---
|
||
|
$id: http://devicetree.org/schemas/iio/addac/adi,ad74413r.yaml#
|
||
|
$schema: http://devicetree.org/meta-schemas/core.yaml#
|
||
|
|
||
|
title: Analog Devices AD74412R/AD74413R device
|
||
|
|
||
|
maintainers:
|
||
|
- Cosmin Tanislav <cosmin.tanislav@analog.com>
|
||
|
|
||
|
description: |
|
||
|
The AD74412R and AD74413R are quad-channel software configurable input/output
|
||
|
solutions for building and process control applications. They contain
|
||
|
functionality for analog output, analog input, digital input, resistance
|
||
|
temperature detector, and thermocouple measurements integrated
|
||
|
into a single chip solution with an SPI interface.
|
||
|
The devices feature a 16-bit ADC and four configurable 13-bit DACs to provide
|
||
|
four configurable input/output channels and a suite of diagnostic functions.
|
||
|
The AD74413R differentiates itself from the AD74412R by being HART-compatible.
|
||
|
https://www.analog.com/en/products/ad74412r.html
|
||
|
https://www.analog.com/en/products/ad74413r.html
|
||
|
|
||
|
properties:
|
||
|
compatible:
|
||
|
enum:
|
||
|
- adi,ad74412r
|
||
|
- adi,ad74413r
|
||
|
|
||
|
reg:
|
||
|
maxItems: 1
|
||
|
|
||
|
'#address-cells':
|
||
|
const: 1
|
||
|
|
||
|
'#size-cells':
|
||
|
const: 0
|
||
|
|
||
|
spi-max-frequency:
|
||
|
maximum: 1000000
|
||
|
|
||
|
spi-cpol: true
|
||
|
|
||
|
interrupts:
|
||
|
maxItems: 1
|
||
|
|
||
|
refin-supply: true
|
||
|
|
||
|
shunt-resistor-micro-ohms:
|
||
|
description:
|
||
|
Shunt (sense) resistor value in micro-Ohms.
|
||
|
default: 100000000
|
||
|
|
||
|
reset-gpios:
|
||
|
maxItems: 1
|
||
|
|
||
|
required:
|
||
|
- compatible
|
||
|
- reg
|
||
|
- spi-max-frequency
|
||
|
- spi-cpol
|
||
|
- refin-supply
|
||
|
|
||
|
patternProperties:
|
||
|
"^channel@[0-3]$":
|
||
|
type: object
|
||
|
additionalProperties: false
|
||
|
description: Represents the external channels which are connected to the device.
|
||
|
|
||
|
properties:
|
||
|
reg:
|
||
|
description: |
|
||
|
The channel number. It can have up to 4 channels numbered from 0 to 3.
|
||
|
minimum: 0
|
||
|
maximum: 3
|
||
|
|
||
|
adi,ch-func:
|
||
|
$ref: /schemas/types.yaml#/definitions/uint32
|
||
|
description: |
|
||
|
Channel function.
|
||
|
HART functions are not supported on AD74412R.
|
||
|
0 - CH_FUNC_HIGH_IMPEDANCE
|
||
|
1 - CH_FUNC_VOLTAGE_OUTPUT
|
||
|
2 - CH_FUNC_CURRENT_OUTPUT
|
||
|
3 - CH_FUNC_VOLTAGE_INPUT
|
||
|
4 - CH_FUNC_CURRENT_INPUT_EXT_POWER
|
||
|
5 - CH_FUNC_CURRENT_INPUT_LOOP_POWER
|
||
|
6 - CH_FUNC_RESISTANCE_INPUT
|
||
|
7 - CH_FUNC_DIGITAL_INPUT_LOGIC
|
||
|
8 - CH_FUNC_DIGITAL_INPUT_LOOP_POWER
|
||
|
9 - CH_FUNC_CURRENT_INPUT_EXT_POWER_HART
|
||
|
10 - CH_FUNC_CURRENT_INPUT_LOOP_POWER_HART
|
||
|
minimum: 0
|
||
|
maximum: 10
|
||
|
default: 0
|
||
|
|
||
|
adi,gpo-comparator:
|
||
|
type: boolean
|
||
|
description: |
|
||
|
Whether to configure GPO as a comparator or not.
|
||
|
When not configured as a comparator, the GPO will be treated as an
|
||
|
output-only GPIO.
|
||
|
|
||
|
required:
|
||
|
- reg
|
||
|
|
||
|
allOf:
|
||
|
- $ref: /schemas/spi/spi-peripheral-props.yaml#
|
||
|
|
||
|
unevaluatedProperties: false
|
||
|
|
||
|
examples:
|
||
|
- |
|
||
|
#include <dt-bindings/gpio/gpio.h>
|
||
|
#include <dt-bindings/interrupt-controller/irq.h>
|
||
|
#include <dt-bindings/iio/addac/adi,ad74413r.h>
|
||
|
|
||
|
spi {
|
||
|
#address-cells = <1>;
|
||
|
#size-cells = <0>;
|
||
|
|
||
|
addac@0 {
|
||
|
compatible = "adi,ad74413r";
|
||
|
reg = <0>;
|
||
|
spi-max-frequency = <1000000>;
|
||
|
spi-cpol;
|
||
|
|
||
|
#address-cells = <1>;
|
||
|
#size-cells = <0>;
|
||
|
|
||
|
interrupt-parent = <&gpio>;
|
||
|
interrupts = <26 IRQ_TYPE_EDGE_FALLING>;
|
||
|
|
||
|
refin-supply = <&ad74413r_refin>;
|
||
|
reset-gpios = <&gpio2 6 GPIO_ACTIVE_LOW>;
|
||
|
|
||
|
channel@0 {
|
||
|
reg = <0>;
|
||
|
|
||
|
adi,ch-func = <CH_FUNC_VOLTAGE_OUTPUT>;
|
||
|
};
|
||
|
|
||
|
channel@1 {
|
||
|
reg = <1>;
|
||
|
|
||
|
adi,ch-func = <CH_FUNC_CURRENT_OUTPUT>;
|
||
|
};
|
||
|
|
||
|
channel@2 {
|
||
|
reg = <2>;
|
||
|
|
||
|
adi,ch-func = <CH_FUNC_DIGITAL_INPUT_LOGIC>;
|
||
|
adi,gpo-comparator;
|
||
|
};
|
||
|
|
||
|
channel@3 {
|
||
|
reg = <3>;
|
||
|
|
||
|
adi,ch-func = <CH_FUNC_CURRENT_INPUT_EXT_POWER>;
|
||
|
};
|
||
|
};
|
||
|
};
|
||
|
...
|