mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
synced 2026-05-14 13:33:30 -04:00
dt-bindings: iio: adc: add docs for AD7606C-{16,18} parts
The driver will support the AD7606C-16 and AD7606C-18. This change adds the compatible strings for these devices. The AD7606C-16,18 channels also support these (individually configurable) types of channels: - bipolar single-ended - unipolar single-ended - bipolar differential Reviewed-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org> Signed-off-by: Alexandru Ardelean <aardelean@baylibre.com> Link: https://patch.msgid.link/20240919130444.2100447-8-aardelean@baylibre.com Signed-off-by: Jonathan Cameron <Jonathan.Cameron@huawei.com>
This commit is contained in:
committed by
Jonathan Cameron
parent
ab38c083ff
commit
0733e5148b
@@ -14,6 +14,8 @@ description: |
|
||||
https://www.analog.com/media/en/technical-documentation/data-sheets/AD7605-4.pdf
|
||||
https://www.analog.com/media/en/technical-documentation/data-sheets/ad7606_7606-6_7606-4.pdf
|
||||
https://www.analog.com/media/en/technical-documentation/data-sheets/AD7606B.pdf
|
||||
https://www.analog.com/media/en/technical-documentation/data-sheets/ad7606c-16.pdf
|
||||
https://www.analog.com/media/en/technical-documentation/data-sheets/ad7606c-18.pdf
|
||||
https://www.analog.com/media/en/technical-documentation/data-sheets/AD7616.pdf
|
||||
|
||||
properties:
|
||||
@@ -24,11 +26,19 @@ properties:
|
||||
- adi,ad7606-6
|
||||
- adi,ad7606-8 # Referred to as AD7606 (without -8) in the datasheet
|
||||
- adi,ad7606b
|
||||
- adi,ad7606c-16
|
||||
- adi,ad7606c-18
|
||||
- adi,ad7616
|
||||
|
||||
reg:
|
||||
maxItems: 1
|
||||
|
||||
"#address-cells":
|
||||
const: 1
|
||||
|
||||
"#size-cells":
|
||||
const: 0
|
||||
|
||||
spi-cpha: true
|
||||
|
||||
spi-cpol: true
|
||||
@@ -114,6 +124,47 @@ properties:
|
||||
assumed that the pins are hardwired to VDD.
|
||||
type: boolean
|
||||
|
||||
patternProperties:
|
||||
"^channel@[1-8]$":
|
||||
type: object
|
||||
$ref: adc.yaml
|
||||
unevaluatedProperties: false
|
||||
|
||||
properties:
|
||||
reg:
|
||||
description:
|
||||
The channel number, as specified in the datasheet (from 1 to 8).
|
||||
minimum: 1
|
||||
maximum: 8
|
||||
|
||||
diff-channels:
|
||||
description:
|
||||
Each channel can be configured as a bipolar differential channel.
|
||||
The ADC uses the same positive and negative inputs for this.
|
||||
This property must be specified as 'reg' (or the channel number) for
|
||||
both positive and negative inputs (i.e. diff-channels = <reg reg>).
|
||||
Since the configuration is bipolar differential, the 'bipolar'
|
||||
property is required.
|
||||
items:
|
||||
minimum: 1
|
||||
maximum: 8
|
||||
|
||||
bipolar:
|
||||
description:
|
||||
The ADC channels can be configured as
|
||||
* Bipolar single-ended
|
||||
* Unipolar single-ended
|
||||
* Bipolar differential
|
||||
Therefore in the DT, if no channel node is specified, it is considered
|
||||
'unipolar single-ended'. So for the other configurations the 'bipolar'
|
||||
property must be specified. If 'diff-channels' is specified, it is
|
||||
considered a bipolar differential channel. Otherwise it is bipolar
|
||||
single-ended.
|
||||
|
||||
required:
|
||||
- reg
|
||||
- bipolar
|
||||
|
||||
required:
|
||||
- compatible
|
||||
- reg
|
||||
@@ -170,6 +221,25 @@ allOf:
|
||||
adi,conversion-start-gpios:
|
||||
maxItems: 1
|
||||
|
||||
- if:
|
||||
not:
|
||||
required:
|
||||
- adi,sw-mode
|
||||
then:
|
||||
patternProperties:
|
||||
"^channel@[1-8]$": false
|
||||
|
||||
- if:
|
||||
not:
|
||||
properties:
|
||||
compatible:
|
||||
enum:
|
||||
- adi,ad7606c-16
|
||||
- adi,ad7606c-18
|
||||
then:
|
||||
patternProperties:
|
||||
"^channel@[1-8]$": false
|
||||
|
||||
unevaluatedProperties: false
|
||||
|
||||
examples:
|
||||
@@ -202,4 +272,54 @@ examples:
|
||||
standby-gpios = <&gpio 24 GPIO_ACTIVE_LOW>;
|
||||
};
|
||||
};
|
||||
- |
|
||||
#include <dt-bindings/gpio/gpio.h>
|
||||
#include <dt-bindings/interrupt-controller/irq.h>
|
||||
spi {
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
|
||||
adc@0 {
|
||||
compatible = "adi,ad7606c-18";
|
||||
reg = <0>;
|
||||
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
|
||||
spi-max-frequency = <1000000>;
|
||||
spi-cpol;
|
||||
spi-cpha;
|
||||
|
||||
avcc-supply = <&adc_vref>;
|
||||
vdrive-supply = <&vdd_supply>;
|
||||
|
||||
interrupts = <25 IRQ_TYPE_EDGE_FALLING>;
|
||||
interrupt-parent = <&gpio>;
|
||||
|
||||
adi,conversion-start-gpios = <&gpio 17 GPIO_ACTIVE_HIGH>;
|
||||
reset-gpios = <&gpio 27 GPIO_ACTIVE_HIGH>;
|
||||
adi,first-data-gpios = <&gpio 22 GPIO_ACTIVE_HIGH>;
|
||||
standby-gpios = <&gpio 24 GPIO_ACTIVE_LOW>;
|
||||
|
||||
adi,sw-mode;
|
||||
|
||||
channel@1 {
|
||||
reg = <1>;
|
||||
diff-channels = <1 1>;
|
||||
bipolar;
|
||||
};
|
||||
|
||||
channel@3 {
|
||||
reg = <3>;
|
||||
bipolar;
|
||||
};
|
||||
|
||||
channel@8 {
|
||||
reg = <8>;
|
||||
diff-channels = <8 8>;
|
||||
bipolar;
|
||||
};
|
||||
|
||||
};
|
||||
};
|
||||
...
|
||||
|
||||
Reference in New Issue
Block a user