Merge branch 'address-masking'
[linux-2.6-microblaze.git] / Documentation / devicetree / bindings / iio / adc / adi,ad7091r5.yaml
1 # SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
2 %YAML 1.2
3 ---
4 $id: http://devicetree.org/schemas/iio/adc/adi,ad7091r5.yaml#
5 $schema: http://devicetree.org/meta-schemas/core.yaml#
6
7 title: Analog Devices AD7091R-2/-4/-5/-8 Multi-Channel 12-Bit ADCs
8
9 maintainers:
10   - Michael Hennerich <michael.hennerich@analog.com>
11   - Marcelo Schmitt <marcelo.schmitt@analog.com>
12
13 description: |
14   Analog Devices AD7091R5 4-Channel 12-Bit ADC supporting I2C interface
15   https://www.analog.com/media/en/technical-documentation/data-sheets/ad7091r-5.pdf
16   Analog Devices AD7091R-2/AD7091R-4/AD7091R-8 2-/4-/8-Channel 12-Bit ADCs
17   supporting SPI interface
18   https://www.analog.com/media/en/technical-documentation/data-sheets/AD7091R-2_7091R-4_7091R-8.pdf
19
20 properties:
21   compatible:
22     enum:
23       - adi,ad7091r2
24       - adi,ad7091r4
25       - adi,ad7091r5
26       - adi,ad7091r8
27
28   reg:
29     maxItems: 1
30
31   vdd-supply:
32     description:
33       Provide VDD power to the sensor (VDD range is from 2.7V to 5.25V).
34
35   vdrive-supply:
36     description:
37       Determines the voltage level at which the interface logic will operate.
38       The V_drive voltage range is from 1.8V to 5.25V and must not exceed VDD by
39       more than 0.3V.
40
41   vref-supply:
42     description:
43       Phandle to the vref power supply
44
45   convst-gpios:
46     description:
47       GPIO connected to the CONVST pin.
48       This logic input is used to initiate conversions on the analog
49       input channels.
50     maxItems: 1
51
52   reset-gpios:
53     maxItems: 1
54
55   interrupts:
56     description:
57       Interrupt for signaling when conversion results exceed the high limit for
58       ADC readings or fall below the low limit for them. Interrupt source must
59       be attached to ALERT/BUSY/GPO0 pin.
60     maxItems: 1
61
62 required:
63   - compatible
64   - reg
65
66 allOf:
67   - $ref: /schemas/spi/spi-peripheral-props.yaml#
68
69   # AD7091R-2 does not have ALERT/BUSY/GPO pin
70   - if:
71       properties:
72         compatible:
73           contains:
74             enum:
75               - adi,ad7091r2
76     then:
77       properties:
78         interrupts: false
79
80   - if:
81       properties:
82         compatible:
83           contains:
84             enum:
85               - adi,ad7091r2
86               - adi,ad7091r4
87               - adi,ad7091r8
88     then:
89       required:
90         - convst-gpios
91
92 unevaluatedProperties: false
93
94 examples:
95   - |
96     #include <dt-bindings/gpio/gpio.h>
97     #include <dt-bindings/interrupt-controller/irq.h>
98     i2c {
99         #address-cells = <1>;
100         #size-cells = <0>;
101
102         adc@2f {
103             compatible = "adi,ad7091r5";
104             reg = <0x2f>;
105
106             interrupts = <25 IRQ_TYPE_EDGE_FALLING>;
107             interrupt-parent = <&gpio>;
108         };
109     };
110   - |
111     #include <dt-bindings/gpio/gpio.h>
112     #include <dt-bindings/interrupt-controller/irq.h>
113     spi {
114         #address-cells = <1>;
115         #size-cells = <0>;
116
117         adc@0 {
118             compatible = "adi,ad7091r8";
119             reg = <0x0>;
120             spi-max-frequency = <1000000>;
121             vref-supply = <&adc_vref>;
122             convst-gpios = <&gpio 25 GPIO_ACTIVE_LOW>;
123             reset-gpios = <&gpio 27 GPIO_ACTIVE_LOW>;
124             interrupts = <22 IRQ_TYPE_EDGE_FALLING>;
125             interrupt-parent = <&gpio>;
126         };
127     };
128 ...