xref: /freebsd/sys/contrib/device-tree/Bindings/iio/adc/adi,ad7606.yaml (revision cb7aa33ac6cd46a5434798e50363136e64f3ae98)
1c66ec88fSEmmanuel Vadot# SPDX-License-Identifier: GPL-2.0
2c66ec88fSEmmanuel Vadot%YAML 1.2
3c66ec88fSEmmanuel Vadot---
4c66ec88fSEmmanuel Vadot$id: http://devicetree.org/schemas/iio/adc/adi,ad7606.yaml#
5c66ec88fSEmmanuel Vadot$schema: http://devicetree.org/meta-schemas/core.yaml#
6c66ec88fSEmmanuel Vadot
7c66ec88fSEmmanuel Vadottitle: Analog Devices AD7606 Simultaneous Sampling ADC
8c66ec88fSEmmanuel Vadot
9c66ec88fSEmmanuel Vadotmaintainers:
10b97ee269SEmmanuel Vadot  - Michael Hennerich <michael.hennerich@analog.com>
11c66ec88fSEmmanuel Vadot
12c66ec88fSEmmanuel Vadotdescription: |
13c66ec88fSEmmanuel Vadot  Analog Devices AD7606 Simultaneous Sampling ADC
14c66ec88fSEmmanuel Vadot  https://www.analog.com/media/en/technical-documentation/data-sheets/ad7606_7606-6_7606-4.pdf
15c66ec88fSEmmanuel Vadot  https://www.analog.com/media/en/technical-documentation/data-sheets/AD7606B.pdf
16c66ec88fSEmmanuel Vadot  https://www.analog.com/media/en/technical-documentation/data-sheets/AD7616.pdf
17c66ec88fSEmmanuel Vadot
18c66ec88fSEmmanuel Vadotproperties:
19c66ec88fSEmmanuel Vadot  compatible:
20c66ec88fSEmmanuel Vadot    enum:
21c66ec88fSEmmanuel Vadot      - adi,ad7605-4
22c66ec88fSEmmanuel Vadot      - adi,ad7606-8
23c66ec88fSEmmanuel Vadot      - adi,ad7606-6
24c66ec88fSEmmanuel Vadot      - adi,ad7606-4
25c66ec88fSEmmanuel Vadot      - adi,ad7606b
26c66ec88fSEmmanuel Vadot      - adi,ad7616
27c66ec88fSEmmanuel Vadot
28c66ec88fSEmmanuel Vadot  reg:
29c66ec88fSEmmanuel Vadot    maxItems: 1
30c66ec88fSEmmanuel Vadot
31c66ec88fSEmmanuel Vadot  spi-cpha: true
32c66ec88fSEmmanuel Vadot
336be33864SEmmanuel Vadot  spi-cpol: true
346be33864SEmmanuel Vadot
35c66ec88fSEmmanuel Vadot  avcc-supply: true
36c66ec88fSEmmanuel Vadot
37c66ec88fSEmmanuel Vadot  interrupts:
38c66ec88fSEmmanuel Vadot    maxItems: 1
39c66ec88fSEmmanuel Vadot
40c66ec88fSEmmanuel Vadot  adi,conversion-start-gpios:
41c66ec88fSEmmanuel Vadot    description:
42c66ec88fSEmmanuel Vadot      Must be the device tree identifier of the CONVST pin.
43c66ec88fSEmmanuel Vadot      This logic input is used to initiate conversions on the analog
44c66ec88fSEmmanuel Vadot      input channels. As the line is active high, it should be marked
45c66ec88fSEmmanuel Vadot      GPIO_ACTIVE_HIGH.
46c66ec88fSEmmanuel Vadot    maxItems: 1
47c66ec88fSEmmanuel Vadot
48c66ec88fSEmmanuel Vadot  reset-gpios:
49c66ec88fSEmmanuel Vadot    description:
50c66ec88fSEmmanuel Vadot      Must be the device tree identifier of the RESET pin. If specified,
51c66ec88fSEmmanuel Vadot      it will be asserted during driver probe. As the line is active high,
52c66ec88fSEmmanuel Vadot      it should be marked GPIO_ACTIVE_HIGH.
53c66ec88fSEmmanuel Vadot    maxItems: 1
54c66ec88fSEmmanuel Vadot
55c66ec88fSEmmanuel Vadot  standby-gpios:
56c66ec88fSEmmanuel Vadot    description:
57c66ec88fSEmmanuel Vadot      Must be the device tree identifier of the STBY pin. This pin is used
58c66ec88fSEmmanuel Vadot      to place the AD7606 into one of two power-down modes, Standby mode or
59c66ec88fSEmmanuel Vadot      Shutdown mode. As the line is active low, it should be marked
60c66ec88fSEmmanuel Vadot      GPIO_ACTIVE_LOW.
61c66ec88fSEmmanuel Vadot    maxItems: 1
62c66ec88fSEmmanuel Vadot
63c66ec88fSEmmanuel Vadot  adi,first-data-gpios:
64c66ec88fSEmmanuel Vadot    description:
65c66ec88fSEmmanuel Vadot      Must be the device tree identifier of the FRSTDATA pin.
66c66ec88fSEmmanuel Vadot      The FRSTDATA output indicates when the first channel, V1, is
67c66ec88fSEmmanuel Vadot      being read back on either the parallel, byte or serial interface.
68c66ec88fSEmmanuel Vadot      As the line is active high, it should be marked GPIO_ACTIVE_HIGH.
69c66ec88fSEmmanuel Vadot    maxItems: 1
70c66ec88fSEmmanuel Vadot
71c66ec88fSEmmanuel Vadot  adi,range-gpios:
72c66ec88fSEmmanuel Vadot    description:
73c66ec88fSEmmanuel Vadot      Must be the device tree identifier of the RANGE pin. The polarity on
74c66ec88fSEmmanuel Vadot      this pin determines the input range of the analog input channels. If
75c66ec88fSEmmanuel Vadot      this pin is tied to a logic high, the analog input range is ±10V for
76c66ec88fSEmmanuel Vadot      all channels. If this pin is tied to a logic low, the analog input range
77c66ec88fSEmmanuel Vadot      is ±5V for all channels. As the line is active high, it should be marked
78c66ec88fSEmmanuel Vadot      GPIO_ACTIVE_HIGH.
79c66ec88fSEmmanuel Vadot    maxItems: 1
80c66ec88fSEmmanuel Vadot
81c66ec88fSEmmanuel Vadot  adi,oversampling-ratio-gpios:
82c66ec88fSEmmanuel Vadot    description:
83c66ec88fSEmmanuel Vadot      Must be the device tree identifier of the over-sampling
84c66ec88fSEmmanuel Vadot      mode pins. As the line is active high, it should be marked
85c66ec88fSEmmanuel Vadot      GPIO_ACTIVE_HIGH.
86c66ec88fSEmmanuel Vadot    maxItems: 3
87c66ec88fSEmmanuel Vadot
88c66ec88fSEmmanuel Vadot  adi,sw-mode:
89c66ec88fSEmmanuel Vadot    description:
90c66ec88fSEmmanuel Vadot      Software mode of operation, so far available only for ad7616 and ad7606b.
91c66ec88fSEmmanuel Vadot      It is enabled when all three oversampling mode pins are connected to
92c66ec88fSEmmanuel Vadot      high level. The device is configured by the corresponding registers. If the
93c66ec88fSEmmanuel Vadot      adi,oversampling-ratio-gpios property is defined, then the driver will set the
94c66ec88fSEmmanuel Vadot      oversampling gpios to high. Otherwise, it is assumed that the pins are hardwired
95c66ec88fSEmmanuel Vadot      to VDD.
96c66ec88fSEmmanuel Vadot    type: boolean
97c66ec88fSEmmanuel Vadot
98c66ec88fSEmmanuel Vadotrequired:
99c66ec88fSEmmanuel Vadot  - compatible
100c66ec88fSEmmanuel Vadot  - reg
101c66ec88fSEmmanuel Vadot  - spi-cpha
102c66ec88fSEmmanuel Vadot  - avcc-supply
103c66ec88fSEmmanuel Vadot  - interrupts
104c66ec88fSEmmanuel Vadot  - adi,conversion-start-gpios
105c66ec88fSEmmanuel Vadot
1067ef62cebSEmmanuel VadotallOf:
1077ef62cebSEmmanuel Vadot  - $ref: /schemas/spi/spi-peripheral-props.yaml#
1087ef62cebSEmmanuel Vadot
1097ef62cebSEmmanuel VadotunevaluatedProperties: false
1106be33864SEmmanuel Vadot
111c66ec88fSEmmanuel Vadotexamples:
112c66ec88fSEmmanuel Vadot  - |
113c66ec88fSEmmanuel Vadot    #include <dt-bindings/gpio/gpio.h>
114c66ec88fSEmmanuel Vadot    #include <dt-bindings/interrupt-controller/irq.h>
115*cb7aa33aSEmmanuel Vadot    spi {
116c66ec88fSEmmanuel Vadot        #address-cells = <1>;
117c66ec88fSEmmanuel Vadot        #size-cells = <0>;
118c66ec88fSEmmanuel Vadot
119c66ec88fSEmmanuel Vadot        adc@0 {
120c66ec88fSEmmanuel Vadot            compatible = "adi,ad7606-8";
121c66ec88fSEmmanuel Vadot            reg = <0>;
122c66ec88fSEmmanuel Vadot            spi-max-frequency = <1000000>;
123c66ec88fSEmmanuel Vadot            spi-cpol;
124c66ec88fSEmmanuel Vadot            spi-cpha;
125c66ec88fSEmmanuel Vadot
126c66ec88fSEmmanuel Vadot            avcc-supply = <&adc_vref>;
127c66ec88fSEmmanuel Vadot
128c66ec88fSEmmanuel Vadot            interrupts = <25 IRQ_TYPE_EDGE_FALLING>;
129c66ec88fSEmmanuel Vadot            interrupt-parent = <&gpio>;
130c66ec88fSEmmanuel Vadot
131c66ec88fSEmmanuel Vadot            adi,conversion-start-gpios = <&gpio 17 GPIO_ACTIVE_HIGH>;
132c66ec88fSEmmanuel Vadot            reset-gpios = <&gpio 27 GPIO_ACTIVE_HIGH>;
133c66ec88fSEmmanuel Vadot            adi,first-data-gpios = <&gpio 22 GPIO_ACTIVE_HIGH>;
134c66ec88fSEmmanuel Vadot            adi,oversampling-ratio-gpios = <&gpio 18 GPIO_ACTIVE_HIGH>,
135c66ec88fSEmmanuel Vadot                                           <&gpio 23 GPIO_ACTIVE_HIGH>,
136c66ec88fSEmmanuel Vadot                                           <&gpio 26 GPIO_ACTIVE_HIGH>;
137c66ec88fSEmmanuel Vadot            standby-gpios = <&gpio 24 GPIO_ACTIVE_LOW>;
138c66ec88fSEmmanuel Vadot            adi,sw-mode;
139c66ec88fSEmmanuel Vadot        };
140c66ec88fSEmmanuel Vadot    };
141c66ec88fSEmmanuel Vadot...
142