Skip to content

Commit 80cc6d1

Browse files
amiclausjic23
authored andcommitted
dt-bindings: iio: adc: ad4080: add AD4880 support
Add support for the AD4880, a dual-channel 20-bit 40MSPS SAR ADC with integrated fully differential amplifiers (FDA). The AD4880 has two independent ADC channels, each with its own SPI configuration interface. This requires: - Two entries in reg property for primary and secondary channel chip selects - Two io-backends entries for the two data channels Acked-by: Conor Dooley <conor.dooley@microchip.com> Reviewed-by: David Lechner <dlechner@baylibre.com> Signed-off-by: Antoniu Miclaus <antoniu.miclaus@analog.com> Signed-off-by: Jonathan Cameron <jic23@kernel.org>
1 parent 129c549 commit 80cc6d1

1 file changed

Lines changed: 51 additions & 2 deletions

File tree

Documentation/devicetree/bindings/iio/adc/adi,ad4080.yaml

Lines changed: 51 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,11 @@ description: |
1818
service a wide variety of precision, wide bandwidth data acquisition
1919
applications.
2020
21+
The AD4880 is a dual-channel variant with two independent ADC channels,
22+
each with its own SPI configuration interface.
23+
2124
https://www.analog.com/media/en/technical-documentation/data-sheets/ad4080.pdf
25+
https://www.analog.com/media/en/technical-documentation/data-sheets/ad4880.pdf
2226
2327
$ref: /schemas/spi/spi-peripheral-props.yaml#
2428

@@ -34,9 +38,15 @@ properties:
3438
- adi,ad4086
3539
- adi,ad4087
3640
- adi,ad4088
41+
- adi,ad4880
3742

3843
reg:
39-
maxItems: 1
44+
minItems: 1
45+
maxItems: 2
46+
description:
47+
SPI chip select(s). For single-channel devices, one chip select.
48+
For multi-channel devices like AD4880, two chip selects are required
49+
as each channel has its own SPI configuration interface.
4050

4151
spi-max-frequency:
4252
description: Configuration of the SPI bus.
@@ -60,7 +70,10 @@ properties:
6070
vrefin-supply: true
6171

6272
io-backends:
63-
maxItems: 1
73+
minItems: 1
74+
items:
75+
- description: Backend for channel A (primary)
76+
- description: Backend for channel B (secondary)
6477

6578
adi,lvds-cnv-enable:
6679
description: Enable the LVDS signal type on the CNV pin. Default is CMOS.
@@ -81,6 +94,25 @@ required:
8194
- vdd33-supply
8295
- vrefin-supply
8396

97+
allOf:
98+
- if:
99+
properties:
100+
compatible:
101+
contains:
102+
const: adi,ad4880
103+
then:
104+
properties:
105+
reg:
106+
minItems: 2
107+
io-backends:
108+
minItems: 2
109+
else:
110+
properties:
111+
reg:
112+
maxItems: 1
113+
io-backends:
114+
maxItems: 1
115+
84116
additionalProperties: false
85117

86118
examples:
@@ -101,4 +133,21 @@ examples:
101133
io-backends = <&iio_backend>;
102134
};
103135
};
136+
- |
137+
spi {
138+
#address-cells = <1>;
139+
#size-cells = <0>;
140+
141+
adc@0 {
142+
compatible = "adi,ad4880";
143+
reg = <0>, <1>;
144+
spi-max-frequency = <10000000>;
145+
vdd33-supply = <&vdd33>;
146+
vddldo-supply = <&vddldo>;
147+
vrefin-supply = <&vrefin>;
148+
clocks = <&cnv>;
149+
clock-names = "cnv";
150+
io-backends = <&iio_backend_cha>, <&iio_backend_chb>;
151+
};
152+
};
104153
...

0 commit comments

Comments
 (0)