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