xref: /linux/Documentation/devicetree/bindings/iio/adc/ti,ads112c14.yaml (revision 93e4b3076b5f2d853462b9777d083c77fc0b7b23)
1*97c957e5SDavid Lechner (TI)# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
2*97c957e5SDavid Lechner (TI)%YAML 1.2
3*97c957e5SDavid Lechner (TI)---
4*97c957e5SDavid Lechner (TI)$id: http://devicetree.org/schemas/iio/adc/ti,ads112c14.yaml#
5*97c957e5SDavid Lechner (TI)$schema: http://devicetree.org/meta-schemas/core.yaml#
6*97c957e5SDavid Lechner (TI)
7*97c957e5SDavid Lechner (TI)title: Texas Instruments' ADS112C14 and similar ADC chips
8*97c957e5SDavid Lechner (TI)
9*97c957e5SDavid Lechner (TI)description: |
10*97c957e5SDavid Lechner (TI)  Supports the following Texas Instruments' ADC chips:
11*97c957e5SDavid Lechner (TI)  - ADS112C14 (16-bit)
12*97c957e5SDavid Lechner (TI)  - ADS122C14 (24-bit)
13*97c957e5SDavid Lechner (TI)
14*97c957e5SDavid Lechner (TI)  https://www.ti.com/lit/ds/symlink/ads122c14.pdf
15*97c957e5SDavid Lechner (TI)
16*97c957e5SDavid Lechner (TI)  These chips are primarily designed for use with resistive sensors such as
17*97c957e5SDavid Lechner (TI)  RTDs, thermocouples, Wheatstone bridges, etc. The channel bindings reflect
18*97c957e5SDavid Lechner (TI)  this in that each channel represents the conditions required to make a
19*97c957e5SDavid Lechner (TI)  measurement rather than strictly just the physical input channels.
20*97c957e5SDavid Lechner (TI)
21*97c957e5SDavid Lechner (TI)maintainers:
22*97c957e5SDavid Lechner (TI)  - David Lechner <dlechner@baylibre.com>
23*97c957e5SDavid Lechner (TI)
24*97c957e5SDavid Lechner (TI)properties:
25*97c957e5SDavid Lechner (TI)  compatible:
26*97c957e5SDavid Lechner (TI)    enum:
27*97c957e5SDavid Lechner (TI)      - ti,ads112c14
28*97c957e5SDavid Lechner (TI)      - ti,ads122c14
29*97c957e5SDavid Lechner (TI)
30*97c957e5SDavid Lechner (TI)  reg:
31*97c957e5SDavid Lechner (TI)    items:
32*97c957e5SDavid Lechner (TI)      - minimum: 0x40
33*97c957e5SDavid Lechner (TI)        maximum: 0x47
34*97c957e5SDavid Lechner (TI)
35*97c957e5SDavid Lechner (TI)  clocks:
36*97c957e5SDavid Lechner (TI)    maxItems: 1
37*97c957e5SDavid Lechner (TI)    description: Optional external clock connected to GPIO3 pin.
38*97c957e5SDavid Lechner (TI)
39*97c957e5SDavid Lechner (TI)  avdd-supply: true
40*97c957e5SDavid Lechner (TI)  dvdd-supply: true
41*97c957e5SDavid Lechner (TI)
42*97c957e5SDavid Lechner (TI)  refp-supply: true
43*97c957e5SDavid Lechner (TI)  refn-supply: true
44*97c957e5SDavid Lechner (TI)
45*97c957e5SDavid Lechner (TI)  ti,refp-refn-resistor-ohms:
46*97c957e5SDavid Lechner (TI)    description:
47*97c957e5SDavid Lechner (TI)      The resistance of the external resistor between REFP and REFN when using
48*97c957e5SDavid Lechner (TI)      resistor bridge driven by current outputs for RTD measurements.
49*97c957e5SDavid Lechner (TI)
50*97c957e5SDavid Lechner (TI)  interrupts:
51*97c957e5SDavid Lechner (TI)    minItems: 1
52*97c957e5SDavid Lechner (TI)    items:
53*97c957e5SDavid Lechner (TI)      - description: /FAULT interrupt (GPIO2 pin)
54*97c957e5SDavid Lechner (TI)      - description: /DRDY interrupt (GPIO3 pin)
55*97c957e5SDavid Lechner (TI)
56*97c957e5SDavid Lechner (TI)  interrupt-names:
57*97c957e5SDavid Lechner (TI)    minItems: 1
58*97c957e5SDavid Lechner (TI)    maxItems: 2
59*97c957e5SDavid Lechner (TI)    items:
60*97c957e5SDavid Lechner (TI)      enum: [fault, drdy]
61*97c957e5SDavid Lechner (TI)
62*97c957e5SDavid Lechner (TI)  gpio-controller: true
63*97c957e5SDavid Lechner (TI)  '#gpio-cells':
64*97c957e5SDavid Lechner (TI)    const: 2
65*97c957e5SDavid Lechner (TI)
66*97c957e5SDavid Lechner (TI)  '#address-cells':
67*97c957e5SDavid Lechner (TI)    const: 1
68*97c957e5SDavid Lechner (TI)
69*97c957e5SDavid Lechner (TI)  '#size-cells':
70*97c957e5SDavid Lechner (TI)    const: 0
71*97c957e5SDavid Lechner (TI)
72*97c957e5SDavid Lechner (TI)patternProperties:
73*97c957e5SDavid Lechner (TI)  ^channel@[0-9a-f]$:
74*97c957e5SDavid Lechner (TI)    $ref: adc.yaml
75*97c957e5SDavid Lechner (TI)
76*97c957e5SDavid Lechner (TI)    unevaluatedProperties: false
77*97c957e5SDavid Lechner (TI)
78*97c957e5SDavid Lechner (TI)    properties:
79*97c957e5SDavid Lechner (TI)      reg:
80*97c957e5SDavid Lechner (TI)        items:
81*97c957e5SDavid Lechner (TI)          - maximum: 15 # arbitrary limit, channel@ can be any combination of AIN0-AIN7
82*97c957e5SDavid Lechner (TI)
83*97c957e5SDavid Lechner (TI)      single-channel:
84*97c957e5SDavid Lechner (TI)        maximum: 7
85*97c957e5SDavid Lechner (TI)
86*97c957e5SDavid Lechner (TI)      diff-channels:
87*97c957e5SDavid Lechner (TI)        items:
88*97c957e5SDavid Lechner (TI)          maximum: 7
89*97c957e5SDavid Lechner (TI)
90*97c957e5SDavid Lechner (TI)      bipolar: true
91*97c957e5SDavid Lechner (TI)
92*97c957e5SDavid Lechner (TI)      input-chopping: true
93*97c957e5SDavid Lechner (TI)
94*97c957e5SDavid Lechner (TI)      excitation-channels:
95*97c957e5SDavid Lechner (TI)        maxItems: 2
96*97c957e5SDavid Lechner (TI)        items:
97*97c957e5SDavid Lechner (TI)          maximum: 7
98*97c957e5SDavid Lechner (TI)
99*97c957e5SDavid Lechner (TI)      excitation-current-nanoamp:
100*97c957e5SDavid Lechner (TI)        maxItems: 2
101*97c957e5SDavid Lechner (TI)        items:
102*97c957e5SDavid Lechner (TI)          enum: [1000, 10000, 20000, 30000, 40000, 50000, 60000, 70000, 80000,
103*97c957e5SDavid Lechner (TI)                 90000, 100000, 200000, 300000, 400000, 500000, 600000, 700000,
104*97c957e5SDavid Lechner (TI)                 800000, 900000, 1000000]
105*97c957e5SDavid Lechner (TI)
106*97c957e5SDavid Lechner (TI)      burn-out-current-nanoamp:
107*97c957e5SDavid Lechner (TI)        items:
108*97c957e5SDavid Lechner (TI)          - enum: [200, 1000, 10000]
109*97c957e5SDavid Lechner (TI)
110*97c957e5SDavid Lechner (TI)      reference-sources:
111*97c957e5SDavid Lechner (TI)        items:
112*97c957e5SDavid Lechner (TI)          - enum: [internal-2.5v, internal-1.25v, external, avdd]
113*97c957e5SDavid Lechner (TI)            default: internal-2.5v
114*97c957e5SDavid Lechner (TI)
115*97c957e5SDavid Lechner (TI)    dependencies:
116*97c957e5SDavid Lechner (TI)      excitation-channels: [ excitation-current-nanoamp ]
117*97c957e5SDavid Lechner (TI)      excitation-current-nanoamp: [ excitation-channels ]
118*97c957e5SDavid Lechner (TI)
119*97c957e5SDavid Lechner (TI)    oneOf:
120*97c957e5SDavid Lechner (TI)      - required: [ single-channel ]
121*97c957e5SDavid Lechner (TI)      - required: [ diff-channels ]
122*97c957e5SDavid Lechner (TI)
123*97c957e5SDavid Lechner (TI)unevaluatedProperties: false
124*97c957e5SDavid Lechner (TI)
125*97c957e5SDavid Lechner (TI)required:
126*97c957e5SDavid Lechner (TI)  - compatible
127*97c957e5SDavid Lechner (TI)  - reg
128*97c957e5SDavid Lechner (TI)  - avdd-supply
129*97c957e5SDavid Lechner (TI)  - dvdd-supply
130*97c957e5SDavid Lechner (TI)
131*97c957e5SDavid Lechner (TI)dependencies:
132*97c957e5SDavid Lechner (TI)  refn-supply: [ refp-supply ]
133*97c957e5SDavid Lechner (TI)
134*97c957e5SDavid Lechner (TI)oneOf:
135*97c957e5SDavid Lechner (TI)  - required: [ refp-supply ]
136*97c957e5SDavid Lechner (TI)  - required: [ "ti,refp-refn-resistor-ohms" ]
137*97c957e5SDavid Lechner (TI)  - properties:
138*97c957e5SDavid Lechner (TI)      refp-supply: false
139*97c957e5SDavid Lechner (TI)      refn-supply: false
140*97c957e5SDavid Lechner (TI)      ti,refp-refn-resistor-ohms: false
141*97c957e5SDavid Lechner (TI)
142*97c957e5SDavid Lechner (TI)# /DRDY out and CLK in use the same AIN7/GPIO3 pin.
143*97c957e5SDavid Lechner (TI)if:
144*97c957e5SDavid Lechner (TI)  required:
145*97c957e5SDavid Lechner (TI)    - interrupt-names
146*97c957e5SDavid Lechner (TI)  properties:
147*97c957e5SDavid Lechner (TI)    interrupt-names:
148*97c957e5SDavid Lechner (TI)      contains:
149*97c957e5SDavid Lechner (TI)        const: drdy
150*97c957e5SDavid Lechner (TI)then:
151*97c957e5SDavid Lechner (TI)  properties:
152*97c957e5SDavid Lechner (TI)    clocks: false
153*97c957e5SDavid Lechner (TI)
154*97c957e5SDavid Lechner (TI)examples:
155*97c957e5SDavid Lechner (TI)  - |
156*97c957e5SDavid Lechner (TI)    i2c {
157*97c957e5SDavid Lechner (TI)        #address-cells = <1>;
158*97c957e5SDavid Lechner (TI)        #size-cells = <0>;
159*97c957e5SDavid Lechner (TI)
160*97c957e5SDavid Lechner (TI)        adc@40 {
161*97c957e5SDavid Lechner (TI)            compatible = "ti,ads112c14";
162*97c957e5SDavid Lechner (TI)            reg = <0x40>;
163*97c957e5SDavid Lechner (TI)
164*97c957e5SDavid Lechner (TI)            avdd-supply = <&avdd>;
165*97c957e5SDavid Lechner (TI)            dvdd-supply = <&dvdd>;
166*97c957e5SDavid Lechner (TI)
167*97c957e5SDavid Lechner (TI)            /* 3-Wire RTD: Two IDACs, One Measurement (AIN1-AIN2) */
168*97c957e5SDavid Lechner (TI)
169*97c957e5SDavid Lechner (TI)            ti,refp-refn-resistor-ohms = <500>;
170*97c957e5SDavid Lechner (TI)
171*97c957e5SDavid Lechner (TI)            #address-cells = <1>;
172*97c957e5SDavid Lechner (TI)            #size-cells = <0>;
173*97c957e5SDavid Lechner (TI)
174*97c957e5SDavid Lechner (TI)            channel@0 {
175*97c957e5SDavid Lechner (TI)                reg = <0>;
176*97c957e5SDavid Lechner (TI)                diff-channels = <1>, <2>;
177*97c957e5SDavid Lechner (TI)                input-chopping;
178*97c957e5SDavid Lechner (TI)                excitation-channels = <0>, <3>;
179*97c957e5SDavid Lechner (TI)                excitation-current-nanoamp = <500000>, <500000>;
180*97c957e5SDavid Lechner (TI)                reference-sources = "external";
181*97c957e5SDavid Lechner (TI)                label = "rtd";
182*97c957e5SDavid Lechner (TI)            };
183*97c957e5SDavid Lechner (TI)        };
184*97c957e5SDavid Lechner (TI)    };
185*97c957e5SDavid Lechner (TI)  - |
186*97c957e5SDavid Lechner (TI)    i2c {
187*97c957e5SDavid Lechner (TI)        #address-cells = <1>;
188*97c957e5SDavid Lechner (TI)        #size-cells = <0>;
189*97c957e5SDavid Lechner (TI)
190*97c957e5SDavid Lechner (TI)        adc@40 {
191*97c957e5SDavid Lechner (TI)            compatible = "ti,ads112c14";
192*97c957e5SDavid Lechner (TI)            reg = <0x40>;
193*97c957e5SDavid Lechner (TI)
194*97c957e5SDavid Lechner (TI)            avdd-supply = <&avdd>;
195*97c957e5SDavid Lechner (TI)            dvdd-supply = <&dvdd>;
196*97c957e5SDavid Lechner (TI)
197*97c957e5SDavid Lechner (TI)            /* Resistive Bridge Measurement With a Thermistor for Temperature Compensation */
198*97c957e5SDavid Lechner (TI)
199*97c957e5SDavid Lechner (TI)            refp-supply = <&avdd>;
200*97c957e5SDavid Lechner (TI)
201*97c957e5SDavid Lechner (TI)            #address-cells = <1>;
202*97c957e5SDavid Lechner (TI)            #size-cells = <0>;
203*97c957e5SDavid Lechner (TI)
204*97c957e5SDavid Lechner (TI)            channel@0 {
205*97c957e5SDavid Lechner (TI)                reg = <0>;
206*97c957e5SDavid Lechner (TI)                diff-channels = <6>, <7>;
207*97c957e5SDavid Lechner (TI)                bipolar;
208*97c957e5SDavid Lechner (TI)                reference-sources = "external";
209*97c957e5SDavid Lechner (TI)                label = "bridge";
210*97c957e5SDavid Lechner (TI)            };
211*97c957e5SDavid Lechner (TI)
212*97c957e5SDavid Lechner (TI)            channel@1 {
213*97c957e5SDavid Lechner (TI)                reg = <1>;
214*97c957e5SDavid Lechner (TI)                diff-channels = <1>, <2>;
215*97c957e5SDavid Lechner (TI)                reference-sources = "internal-2.5v";
216*97c957e5SDavid Lechner (TI)                label = "thermistor";
217*97c957e5SDavid Lechner (TI)            };
218*97c957e5SDavid Lechner (TI)        };
219*97c957e5SDavid Lechner (TI)    };
220