xref: /linux/Documentation/devicetree/bindings/iio/adc/ti,ads1119.yaml (revision a1ff5a7d78a036d6c2178ee5acd6ba4946243800)
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/ti,ads1119.yaml#
5$schema: http://devicetree.org/meta-schemas/core.yaml#
6
7title: Texas Instruments ADS1119 ADC
8
9maintainers:
10  - João Paulo Gonçalves <jpaulo.silvagoncalves@gmail.com>
11
12description:
13  The TI ADS1119 is a precision 16-bit ADC over I2C that offers single-ended and
14  differential measurements using a multiplexed input. It features a programmable
15  gain, a programmable sample rate, an internal oscillator and voltage reference,
16  and a 50/60Hz rejection filter.
17
18properties:
19  compatible:
20    const: ti,ads1119
21
22  reg:
23    maxItems: 1
24
25  interrupts:
26    maxItems: 1
27
28  reset-gpios:
29    maxItems: 1
30
31  avdd-supply: true
32  dvdd-supply: true
33
34  vref-supply:
35    description:
36      ADC external reference voltage (VREF).
37
38  "#address-cells":
39    const: 1
40
41  "#size-cells":
42    const: 0
43
44  "#io-channel-cells":
45    const: 1
46
47required:
48  - compatible
49  - reg
50  - "#address-cells"
51  - "#size-cells"
52  - avdd-supply
53  - dvdd-supply
54
55patternProperties:
56  "^channel@([0-6])$":
57    $ref: adc.yaml
58    type: object
59    properties:
60      reg:
61        minimum: 0
62        maximum: 6
63
64      diff-channels:
65        description:
66          Differential input channels AIN0-AIN1, AIN2-AIN3 and AIN1-AIN2.
67        oneOf:
68          - items:
69              - const: 0
70              - const: 1
71          - items:
72              - const: 2
73              - const: 3
74          - items:
75              - const: 1
76              - const: 2
77
78      single-channel:
79        description:
80          Single-ended input channels AIN0, AIN1, AIN2 and AIN3.
81        minimum: 0
82        maximum: 3
83
84    oneOf:
85      - required:
86          - diff-channels
87      - required:
88          - single-channel
89
90    required:
91      - reg
92
93    unevaluatedProperties: false
94
95additionalProperties: false
96
97examples:
98  - |
99
100    #include <dt-bindings/gpio/gpio.h>
101    #include <dt-bindings/interrupt-controller/irq.h>
102
103    i2c {
104        #address-cells = <1>;
105        #size-cells = <0>;
106
107        adc@40 {
108            compatible = "ti,ads1119";
109            reg = <0x40>;
110            interrupt-parent = <&gpio1>;
111            interrupts = <25 IRQ_TYPE_EDGE_FALLING>;
112            reset-gpios = <&gpio1 10 GPIO_ACTIVE_LOW>;
113            avdd-supply = <&reg_avdd_ads1119>;
114            dvdd-supply = <&reg_dvdd_ads1119>;
115            vref-supply = <&reg_vref_ads1119>;
116            #address-cells = <1>;
117            #size-cells = <0>;
118            #io-channel-cells = <1>;
119
120            channel@0 {
121                reg = <0>;
122                single-channel = <0>;
123            };
124
125            channel@1 {
126                reg = <1>;
127                diff-channels = <0 1>;
128            };
129
130            channel@2 {
131                reg = <2>;
132                single-channel = <3>;
133            };
134
135            channel@3 {
136                reg = <3>;
137                single-channel = <1>;
138            };
139
140            channel@4 {
141                reg = <4>;
142                single-channel = <2>;
143            };
144
145            channel@5 {
146                reg = <5>;
147                diff-channels = <1 2>;
148            };
149
150            channel@6 {
151                reg = <6>;
152                diff-channels = <2 3>;
153            };
154        };
155    };
156