dt-bindings: adc: ad7173: add support for ad411x
Add support for: AD4111, AD4112, AD4114, AD4115, AD4116. AD411x family ADCs support a VCOM pin. The purpose of this pin is to offer a dedicated common-mode voltage input for single-ended channels. This pin is specified as supporting a differential channel with VIN10 on model AD4116. AD4111/AD4112 support current channels. Support is implemented using single-channel and "adi,current-channel". Reviewed-by: Conor Dooley <conor.dooley@microchip.com> Signed-off-by: Dumitru Ceclan <dumitru.ceclan@analog.com> Reviewed-by: Nuno Sa <nuno.sa@analog.com> Reviewed-by: David Lechner <dlechner@baylibre.com> Link: https://patch.msgid.link/20240607-ad4111-v7-2-97e3855900a0@analog.com Signed-off-by: Jonathan Cameron <Jonathan.Cameron@huawei.com>
This commit is contained in:
committed by
Jonathan Cameron
parent
d86deaec1c
commit
561b5d5b7f
@@ -19,7 +19,18 @@ description: |
|
||||
primarily for measurement of signals close to DC but also delivers
|
||||
outstanding performance with input bandwidths out to ~10kHz.
|
||||
|
||||
Analog Devices AD411x ADC's:
|
||||
The AD411X family encompasses a series of low power, low noise, 24-bit,
|
||||
sigma-delta analog-to-digital converters that offer a versatile range of
|
||||
specifications. They integrate an analog front end suitable for processing
|
||||
fully differential/single-ended and bipolar voltage inputs.
|
||||
|
||||
Datasheets for supported chips:
|
||||
https://www.analog.com/media/en/technical-documentation/data-sheets/AD4111.pdf
|
||||
https://www.analog.com/media/en/technical-documentation/data-sheets/AD4112.pdf
|
||||
https://www.analog.com/media/en/technical-documentation/data-sheets/AD4114.pdf
|
||||
https://www.analog.com/media/en/technical-documentation/data-sheets/AD4115.pdf
|
||||
https://www.analog.com/media/en/technical-documentation/data-sheets/AD4116.pdf
|
||||
https://www.analog.com/media/en/technical-documentation/data-sheets/AD7172-2.pdf
|
||||
https://www.analog.com/media/en/technical-documentation/data-sheets/AD7172-4.pdf
|
||||
https://www.analog.com/media/en/technical-documentation/data-sheets/AD7173-8.pdf
|
||||
@@ -31,6 +42,11 @@ description: |
|
||||
properties:
|
||||
compatible:
|
||||
enum:
|
||||
- adi,ad4111
|
||||
- adi,ad4112
|
||||
- adi,ad4114
|
||||
- adi,ad4115
|
||||
- adi,ad4116
|
||||
- adi,ad7172-2
|
||||
- adi,ad7172-4
|
||||
- adi,ad7173-8
|
||||
@@ -129,10 +145,56 @@ patternProperties:
|
||||
maximum: 15
|
||||
|
||||
diff-channels:
|
||||
description: |
|
||||
This property is used for defining the inputs of a differential
|
||||
voltage channel. The first value is the positive input and the second
|
||||
value is the negative input of the channel.
|
||||
|
||||
Family AD411x supports a dedicated VINCOM voltage input.
|
||||
To select it set the second channel to 16.
|
||||
(VIN2, VINCOM) -> diff-channels = <2 16>
|
||||
|
||||
There are special values that can be selected besides the voltage
|
||||
analog inputs:
|
||||
21: REF+
|
||||
22: REF−
|
||||
|
||||
Supported only by AD7172-2, AD7172-4, AD7175-2, AD7175-8, AD7177-2,
|
||||
must be paired together and can be used to monitor the power supply
|
||||
of the ADC:
|
||||
19: ((AVDD1 − AVSS)/5)+
|
||||
20: ((AVDD1 − AVSS)/5)−
|
||||
|
||||
items:
|
||||
minimum: 0
|
||||
maximum: 31
|
||||
|
||||
single-channel:
|
||||
description: |
|
||||
This property is used for defining a current channel or the positive
|
||||
input of a voltage channel (single-ended or pseudo-differential).
|
||||
|
||||
Models AD4111 and AD4112 support current channels.
|
||||
Example: (IIN2+, IIN2−) -> single-channel = <2>
|
||||
To correctly configure a current channel set the "adi,current-channel"
|
||||
property to true.
|
||||
|
||||
To configure a single-ended/pseudo-differential channel set the
|
||||
"common-mode-channel" property to the desired negative voltage input.
|
||||
|
||||
When used as a voltage channel, special inputs are valid as well.
|
||||
minimum: 0
|
||||
maximum: 31
|
||||
|
||||
common-mode-channel:
|
||||
description:
|
||||
This property is used for defining the negative input of a
|
||||
single-ended or pseudo-differential voltage channel.
|
||||
|
||||
Special inputs are valid as well.
|
||||
minimum: 0
|
||||
maximum: 31
|
||||
|
||||
adi,reference-select:
|
||||
description: |
|
||||
Select the reference source to use when converting on
|
||||
@@ -154,9 +216,31 @@ patternProperties:
|
||||
- avdd
|
||||
default: refout-avss
|
||||
|
||||
adi,current-channel:
|
||||
$ref: /schemas/types.yaml#/definitions/flag
|
||||
description: |
|
||||
Signal that the selected inputs are current channels.
|
||||
Only available on AD4111 and AD4112.
|
||||
|
||||
required:
|
||||
- reg
|
||||
- diff-channels
|
||||
|
||||
allOf:
|
||||
- oneOf:
|
||||
- required: [single-channel]
|
||||
properties:
|
||||
diff-channels: false
|
||||
- required: [diff-channels]
|
||||
properties:
|
||||
single-channel: false
|
||||
adi,current-channel: false
|
||||
common-mode-channel: false
|
||||
|
||||
- if:
|
||||
required: [common-mode-channel]
|
||||
then:
|
||||
properties:
|
||||
adi,current-channel: false
|
||||
|
||||
required:
|
||||
- compatible
|
||||
@@ -166,7 +250,6 @@ allOf:
|
||||
- $ref: /schemas/spi/spi-peripheral-props.yaml#
|
||||
|
||||
# Only ad7172-4, ad7173-8 and ad7175-8 support vref2
|
||||
# Other models have [0-3] channel registers
|
||||
- if:
|
||||
properties:
|
||||
compatible:
|
||||
@@ -187,6 +270,37 @@ allOf:
|
||||
- vref
|
||||
- refout-avss
|
||||
- avdd
|
||||
|
||||
- if:
|
||||
properties:
|
||||
compatible:
|
||||
contains:
|
||||
enum:
|
||||
- adi,ad4114
|
||||
- adi,ad4115
|
||||
- adi,ad4116
|
||||
- adi,ad7173-8
|
||||
- adi,ad7175-8
|
||||
then:
|
||||
patternProperties:
|
||||
"^channel@[0-9a-f]$":
|
||||
properties:
|
||||
reg:
|
||||
maximum: 15
|
||||
|
||||
- if:
|
||||
properties:
|
||||
compatible:
|
||||
contains:
|
||||
enum:
|
||||
- adi,ad7172-2
|
||||
- adi,ad7175-2
|
||||
- adi,ad7176-2
|
||||
- adi,ad7177-2
|
||||
then:
|
||||
patternProperties:
|
||||
"^channel@[0-9a-f]$":
|
||||
properties:
|
||||
reg:
|
||||
maximum: 3
|
||||
|
||||
@@ -210,6 +324,34 @@ allOf:
|
||||
required:
|
||||
- adi,reference-select
|
||||
|
||||
- if:
|
||||
properties:
|
||||
compatible:
|
||||
contains:
|
||||
enum:
|
||||
- adi,ad4111
|
||||
- adi,ad4112
|
||||
- adi,ad4114
|
||||
- adi,ad4115
|
||||
- adi,ad4116
|
||||
then:
|
||||
properties:
|
||||
avdd2-supply: false
|
||||
|
||||
- if:
|
||||
properties:
|
||||
compatible:
|
||||
not:
|
||||
contains:
|
||||
enum:
|
||||
- adi,ad4111
|
||||
- adi,ad4112
|
||||
then:
|
||||
patternProperties:
|
||||
"^channel@[0-9a-f]$":
|
||||
properties:
|
||||
adi,current-channel: false
|
||||
|
||||
- if:
|
||||
anyOf:
|
||||
- required: [clock-names]
|
||||
@@ -221,6 +363,7 @@ allOf:
|
||||
unevaluatedProperties: false
|
||||
|
||||
examples:
|
||||
# Example AD7173-8 with external reference connected to REF+/REF-:
|
||||
- |
|
||||
#include <dt-bindings/gpio/gpio.h>
|
||||
#include <dt-bindings/interrupt-controller/irq.h>
|
||||
@@ -277,3 +420,50 @@ examples:
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
# Example AD4111 with current channel and single-ended channel:
|
||||
- |
|
||||
#include <dt-bindings/gpio/gpio.h>
|
||||
#include <dt-bindings/interrupt-controller/irq.h>
|
||||
|
||||
spi {
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
|
||||
adc@0 {
|
||||
compatible = "adi,ad4111";
|
||||
reg = <0>;
|
||||
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
|
||||
interrupts = <25 IRQ_TYPE_EDGE_FALLING>;
|
||||
interrupt-names = "rdy";
|
||||
interrupt-parent = <&gpio>;
|
||||
spi-max-frequency = <5000000>;
|
||||
gpio-controller;
|
||||
#gpio-cells = <2>;
|
||||
#clock-cells = <0>;
|
||||
|
||||
channel@0 {
|
||||
reg = <0>;
|
||||
bipolar;
|
||||
diff-channels = <4 5>;
|
||||
};
|
||||
|
||||
// Single ended channel VIN2/VINCOM
|
||||
channel@1 {
|
||||
reg = <1>;
|
||||
bipolar;
|
||||
single-channel = <2>;
|
||||
common-mode-channel = <16>;
|
||||
};
|
||||
|
||||
// Current channel IN2+/IN2-
|
||||
channel@2 {
|
||||
reg = <2>;
|
||||
single-channel = <2>;
|
||||
adi,current-channel;
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
Reference in New Issue
Block a user