Linux kernel mirror (for testing)
git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel
os
linux
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
7title: Analog Devices AD7091R-2/-4/-5/-8 Multi-Channel 12-Bit ADCs
8
9maintainers:
10 - Michael Hennerich <michael.hennerich@analog.com>
11 - Marcelo Schmitt <marcelo.schmitt@analog.com>
12
13description: |
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
20properties:
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
62required:
63 - compatible
64 - reg
65
66allOf:
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
92unevaluatedProperties: false
93
94examples:
95 - |
96 #include <dt-bindings/interrupt-controller/irq.h>
97 i2c {
98 #address-cells = <1>;
99 #size-cells = <0>;
100
101 adc@2f {
102 compatible = "adi,ad7091r5";
103 reg = <0x2f>;
104
105 interrupts = <25 IRQ_TYPE_EDGE_FALLING>;
106 interrupt-parent = <&gpio>;
107 };
108 };
109 - |
110 #include <dt-bindings/gpio/gpio.h>
111 #include <dt-bindings/interrupt-controller/irq.h>
112 spi {
113 #address-cells = <1>;
114 #size-cells = <0>;
115
116 adc@0 {
117 compatible = "adi,ad7091r8";
118 reg = <0x0>;
119 spi-max-frequency = <1000000>;
120 vref-supply = <&adc_vref>;
121 convst-gpios = <&gpio 25 GPIO_ACTIVE_LOW>;
122 reset-gpios = <&gpio 27 GPIO_ACTIVE_LOW>;
123 interrupts = <22 IRQ_TYPE_EDGE_FALLING>;
124 interrupt-parent = <&gpio>;
125 };
126 };
127...