xref: /linux/Documentation/devicetree/bindings/iio/adc/adi,ad7606.yaml (revision 7248e0995b38a75462e1e07449d3c869f6e97d60)
1416f882cSBeniamin Bia# SPDX-License-Identifier: GPL-2.0
2416f882cSBeniamin Bia%YAML 1.2
3416f882cSBeniamin Bia---
4416f882cSBeniamin Bia$id: http://devicetree.org/schemas/iio/adc/adi,ad7606.yaml#
5416f882cSBeniamin Bia$schema: http://devicetree.org/meta-schemas/core.yaml#
6416f882cSBeniamin Bia
7416f882cSBeniamin Biatitle: Analog Devices AD7606 Simultaneous Sampling ADC
8416f882cSBeniamin Bia
9416f882cSBeniamin Biamaintainers:
102e645db3SKrzysztof Kozlowski  - Michael Hennerich <michael.hennerich@analog.com>
11416f882cSBeniamin Bia
12416f882cSBeniamin Biadescription: |
13416f882cSBeniamin Bia  Analog Devices AD7606 Simultaneous Sampling ADC
1493a81104SGuillaume Stols  https://www.analog.com/media/en/technical-documentation/data-sheets/AD7605-4.pdf
15416f882cSBeniamin Bia  https://www.analog.com/media/en/technical-documentation/data-sheets/ad7606_7606-6_7606-4.pdf
166b4d6822SBeniamin Bia  https://www.analog.com/media/en/technical-documentation/data-sheets/AD7606B.pdf
17416f882cSBeniamin Bia  https://www.analog.com/media/en/technical-documentation/data-sheets/AD7616.pdf
18416f882cSBeniamin Bia
19416f882cSBeniamin Biaproperties:
20416f882cSBeniamin Bia  compatible:
21416f882cSBeniamin Bia    enum:
22416f882cSBeniamin Bia      - adi,ad7605-4
23416f882cSBeniamin Bia      - adi,ad7606-4
24555b1a1fSGuillaume Stols      - adi,ad7606-6
25555b1a1fSGuillaume Stols      - adi,ad7606-8  # Referred to as AD7606 (without -8) in the datasheet
266b4d6822SBeniamin Bia      - adi,ad7606b
27416f882cSBeniamin Bia      - adi,ad7616
28416f882cSBeniamin Bia
29416f882cSBeniamin Bia  reg:
30416f882cSBeniamin Bia    maxItems: 1
31416f882cSBeniamin Bia
32416f882cSBeniamin Bia  spi-cpha: true
33416f882cSBeniamin Bia
344828556dSRob Herring  spi-cpol: true
354828556dSRob Herring
36f3dde260SRob Herring  avcc-supply: true
37416f882cSBeniamin Bia
38*7248e099SGuillaume Stols  vdrive-supply:
39*7248e099SGuillaume Stols    description:
40*7248e099SGuillaume Stols      Determines the voltage level at which the interface logic pins will
41*7248e099SGuillaume Stols      operate.
42*7248e099SGuillaume Stols
43*7248e099SGuillaume Stols  refin-supply:
44*7248e099SGuillaume Stols    description:
45*7248e099SGuillaume Stols      The voltage supply for optional external reference voltage.
46*7248e099SGuillaume Stols
47416f882cSBeniamin Bia  interrupts:
48786cbd7cSGuillaume Stols    description:
49786cbd7cSGuillaume Stols      The BUSY pin falling edge indicates that the conversion is over, and thus
50786cbd7cSGuillaume Stols      new data is available.
51416f882cSBeniamin Bia    maxItems: 1
52416f882cSBeniamin Bia
53416f882cSBeniamin Bia  adi,conversion-start-gpios:
54416f882cSBeniamin Bia    description:
55a3b4a48fSGuillaume Stols      Must be the device tree identifier of the CONVST pin. This logic input is
56a3b4a48fSGuillaume Stols      used to initiate conversions on the analog input channels. As the line is
57a3b4a48fSGuillaume Stols      active high, it should be marked GPIO_ACTIVE_HIGH.
58416f882cSBeniamin Bia    maxItems: 1
59416f882cSBeniamin Bia
60416f882cSBeniamin Bia  reset-gpios:
61416f882cSBeniamin Bia    description:
62a3b4a48fSGuillaume Stols      Must be the device tree identifier of the RESET pin. If specified, it will
63786cbd7cSGuillaume Stols      be asserted during driver probe. On the AD7606x, as the line is active
64786cbd7cSGuillaume Stols      high, it should be marked GPIO_ACTIVE_HIGH. On the AD7616, as the line is
65786cbd7cSGuillaume Stols      active low, it should be marked GPIO_ACTIVE_LOW.
66416f882cSBeniamin Bia    maxItems: 1
67416f882cSBeniamin Bia
68416f882cSBeniamin Bia  standby-gpios:
69416f882cSBeniamin Bia    description:
70a3b4a48fSGuillaume Stols      Must be the device tree identifier of the STBY pin. This pin is used to
71a3b4a48fSGuillaume Stols      place the AD7606 into one of two power-down modes, Standby mode or
72416f882cSBeniamin Bia      Shutdown mode. As the line is active low, it should be marked
73416f882cSBeniamin Bia      GPIO_ACTIVE_LOW.
74416f882cSBeniamin Bia    maxItems: 1
75416f882cSBeniamin Bia
76416f882cSBeniamin Bia  adi,first-data-gpios:
77416f882cSBeniamin Bia    description:
78a3b4a48fSGuillaume Stols      Must be the device tree identifier of the FRSTDATA pin. The FRSTDATA
79a3b4a48fSGuillaume Stols      output indicates when the first channel, V1, is being read back on either
80a3b4a48fSGuillaume Stols      the parallel, byte or serial interface. As the line is active high, it
81a3b4a48fSGuillaume Stols      should be marked GPIO_ACTIVE_HIGH.
82416f882cSBeniamin Bia    maxItems: 1
83416f882cSBeniamin Bia
84416f882cSBeniamin Bia  adi,range-gpios:
85416f882cSBeniamin Bia    description:
86786cbd7cSGuillaume Stols      Must be the device tree identifier of the RANGE pin. The state on this
87a3b4a48fSGuillaume Stols      pin determines the input range of the analog input channels. If this pin
88a3b4a48fSGuillaume Stols      is tied to a logic high, the analog input range is ±10V for all channels.
89786cbd7cSGuillaume Stols      On the AD760X, if this pin is tied to a logic low, the analog input range
90786cbd7cSGuillaume Stols      is ±5V for all channels. As the line is active high, it should be marked
91416f882cSBeniamin Bia      GPIO_ACTIVE_HIGH.
92416f882cSBeniamin Bia    maxItems: 1
93416f882cSBeniamin Bia
94416f882cSBeniamin Bia  adi,oversampling-ratio-gpios:
95416f882cSBeniamin Bia    description:
96a3b4a48fSGuillaume Stols      Must be the device tree identifier of the over-sampling mode pins. As the
97786cbd7cSGuillaume Stols      line is active high, it should be marked GPIO_ACTIVE_HIGH. On the AD7606X
98786cbd7cSGuillaume Stols      parts that support it, if all 3 pins are tied to a logic high, software
99786cbd7cSGuillaume Stols      mode is enabled.
100a6c4f77cSBeniamin Bia    maxItems: 3
101416f882cSBeniamin Bia
102416f882cSBeniamin Bia  adi,sw-mode:
103416f882cSBeniamin Bia    description:
104786cbd7cSGuillaume Stols      Software mode of operation, so far available only for AD7616 and AD7606B.
105a3b4a48fSGuillaume Stols      It is enabled when all three oversampling mode pins are connected to high
106786cbd7cSGuillaume Stols      level for the AD7606B, or both the range selection are connected to high
107786cbd7cSGuillaume Stols      level for the AD7616. The device is configured by the corresponding
108786cbd7cSGuillaume Stols      registers. If the adi,oversampling-ratio-gpios property is defined, then
109786cbd7cSGuillaume Stols      the driver will set the oversampling gpios to high. Otherwise, it is
110786cbd7cSGuillaume Stols      assumed that the pins are hardwired to VDD.
111416f882cSBeniamin Bia    type: boolean
112416f882cSBeniamin Bia
113416f882cSBeniamin Biarequired:
114416f882cSBeniamin Bia  - compatible
115416f882cSBeniamin Bia  - reg
116416f882cSBeniamin Bia  - spi-cpha
117416f882cSBeniamin Bia  - avcc-supply
118*7248e099SGuillaume Stols  - vdrive-supply
119416f882cSBeniamin Bia  - interrupts
120416f882cSBeniamin Bia  - adi,conversion-start-gpios
121416f882cSBeniamin Bia
12280137388SKrzysztof KozlowskiallOf:
12380137388SKrzysztof Kozlowski  - $ref: /schemas/spi/spi-peripheral-props.yaml#
12480137388SKrzysztof Kozlowski
12580137388SKrzysztof KozlowskiunevaluatedProperties: false
1266fdc6e23SRob Herring
127416f882cSBeniamin Biaexamples:
128416f882cSBeniamin Bia  - |
129416f882cSBeniamin Bia    #include <dt-bindings/gpio/gpio.h>
130416f882cSBeniamin Bia    #include <dt-bindings/interrupt-controller/irq.h>
13146908557SKrzysztof Kozlowski    spi {
132416f882cSBeniamin Bia        #address-cells = <1>;
133416f882cSBeniamin Bia        #size-cells = <0>;
134416f882cSBeniamin Bia
135416f882cSBeniamin Bia        adc@0 {
136416f882cSBeniamin Bia            compatible = "adi,ad7606-8";
137416f882cSBeniamin Bia            reg = <0>;
138416f882cSBeniamin Bia            spi-max-frequency = <1000000>;
139416f882cSBeniamin Bia            spi-cpol;
140416f882cSBeniamin Bia            spi-cpha;
141416f882cSBeniamin Bia
142416f882cSBeniamin Bia            avcc-supply = <&adc_vref>;
143*7248e099SGuillaume Stols            vdrive-supply = <&vdd_supply>;
144416f882cSBeniamin Bia
145416f882cSBeniamin Bia            interrupts = <25 IRQ_TYPE_EDGE_FALLING>;
146416f882cSBeniamin Bia            interrupt-parent = <&gpio>;
147416f882cSBeniamin Bia
148416f882cSBeniamin Bia            adi,conversion-start-gpios = <&gpio 17 GPIO_ACTIVE_HIGH>;
149416f882cSBeniamin Bia            reset-gpios = <&gpio 27 GPIO_ACTIVE_HIGH>;
150416f882cSBeniamin Bia            adi,first-data-gpios = <&gpio 22 GPIO_ACTIVE_HIGH>;
151a6c4f77cSBeniamin Bia            adi,oversampling-ratio-gpios = <&gpio 18 GPIO_ACTIVE_HIGH>,
152a6c4f77cSBeniamin Bia                                           <&gpio 23 GPIO_ACTIVE_HIGH>,
153a6c4f77cSBeniamin Bia                                           <&gpio 26 GPIO_ACTIVE_HIGH>;
154416f882cSBeniamin Bia            standby-gpios = <&gpio 24 GPIO_ACTIVE_LOW>;
155416f882cSBeniamin Bia            adi,sw-mode;
156416f882cSBeniamin Bia        };
157416f882cSBeniamin Bia    };
158416f882cSBeniamin Bia...
159