xref: /openbmc/linux/Documentation/devicetree/bindings/iio/adc/ti,ads7924.yaml (revision 9a87ffc99ec8eb8d35eed7c4f816d75f5cc9662e)
1*2315b5ceSHugo Villeneuve# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)
2*2315b5ceSHugo Villeneuve%YAML 1.2
3*2315b5ceSHugo Villeneuve---
4*2315b5ceSHugo Villeneuve$id: http://devicetree.org/schemas/iio/adc/ti,ads7924.yaml#
5*2315b5ceSHugo Villeneuve$schema: http://devicetree.org/meta-schemas/core.yaml#
6*2315b5ceSHugo Villeneuve
7*2315b5ceSHugo Villeneuvetitle: TI ADS7924 4 channels 12 bits I2C analog to digital converter
8*2315b5ceSHugo Villeneuve
9*2315b5ceSHugo Villeneuvemaintainers:
10*2315b5ceSHugo Villeneuve  - Hugo Villeneuve <hvilleneuve@dimonoff.com>
11*2315b5ceSHugo Villeneuve
12*2315b5ceSHugo Villeneuvedescription: |
13*2315b5ceSHugo Villeneuve  Texas Instruments ADS7924 4 channels 12 bits I2C analog to digital converter
14*2315b5ceSHugo Villeneuve
15*2315b5ceSHugo Villeneuve  Specifications:
16*2315b5ceSHugo Villeneuve    https://www.ti.com/lit/gpn/ads7924
17*2315b5ceSHugo Villeneuve
18*2315b5ceSHugo Villeneuveproperties:
19*2315b5ceSHugo Villeneuve  compatible:
20*2315b5ceSHugo Villeneuve    const: ti,ads7924
21*2315b5ceSHugo Villeneuve
22*2315b5ceSHugo Villeneuve  reg:
23*2315b5ceSHugo Villeneuve    maxItems: 1
24*2315b5ceSHugo Villeneuve
25*2315b5ceSHugo Villeneuve  vref-supply:
26*2315b5ceSHugo Villeneuve    description:
27*2315b5ceSHugo Villeneuve      The regulator supply for the ADC reference voltage (AVDD)
28*2315b5ceSHugo Villeneuve
29*2315b5ceSHugo Villeneuve  reset-gpios:
30*2315b5ceSHugo Villeneuve    maxItems: 1
31*2315b5ceSHugo Villeneuve
32*2315b5ceSHugo Villeneuve  interrupts:
33*2315b5ceSHugo Villeneuve    maxItems: 1
34*2315b5ceSHugo Villeneuve
35*2315b5ceSHugo Villeneuve  "#address-cells":
36*2315b5ceSHugo Villeneuve    const: 1
37*2315b5ceSHugo Villeneuve
38*2315b5ceSHugo Villeneuve  "#size-cells":
39*2315b5ceSHugo Villeneuve    const: 0
40*2315b5ceSHugo Villeneuve
41*2315b5ceSHugo Villeneuve  "#io-channel-cells":
42*2315b5ceSHugo Villeneuve    const: 1
43*2315b5ceSHugo Villeneuve
44*2315b5ceSHugo VilleneuvepatternProperties:
45*2315b5ceSHugo Villeneuve  "^channel@[0-3]+$":
46*2315b5ceSHugo Villeneuve    $ref: adc.yaml
47*2315b5ceSHugo Villeneuve
48*2315b5ceSHugo Villeneuve    description: |
49*2315b5ceSHugo Villeneuve      Represents the external channels which are connected to the ADC.
50*2315b5ceSHugo Villeneuve
51*2315b5ceSHugo Villeneuve    properties:
52*2315b5ceSHugo Villeneuve      reg:
53*2315b5ceSHugo Villeneuve        description: |
54*2315b5ceSHugo Villeneuve          The channel number. It can have up to 4 channels numbered from 0 to 3.
55*2315b5ceSHugo Villeneuve        items:
56*2315b5ceSHugo Villeneuve          - minimum: 0
57*2315b5ceSHugo Villeneuve            maximum: 3
58*2315b5ceSHugo Villeneuve
59*2315b5ceSHugo Villeneuve      label: true
60*2315b5ceSHugo Villeneuve
61*2315b5ceSHugo Villeneuve    required:
62*2315b5ceSHugo Villeneuve      - reg
63*2315b5ceSHugo Villeneuve
64*2315b5ceSHugo Villeneuve    additionalProperties: false
65*2315b5ceSHugo Villeneuve
66*2315b5ceSHugo VilleneuveadditionalProperties: false
67*2315b5ceSHugo Villeneuve
68*2315b5ceSHugo Villeneuverequired:
69*2315b5ceSHugo Villeneuve  - compatible
70*2315b5ceSHugo Villeneuve  - reg
71*2315b5ceSHugo Villeneuve  - vref-supply
72*2315b5ceSHugo Villeneuve  - "#address-cells"
73*2315b5ceSHugo Villeneuve  - "#size-cells"
74*2315b5ceSHugo Villeneuve
75*2315b5ceSHugo Villeneuveexamples:
76*2315b5ceSHugo Villeneuve  - |
77*2315b5ceSHugo Villeneuve    #include <dt-bindings/interrupt-controller/irq.h>
78*2315b5ceSHugo Villeneuve    #include <dt-bindings/gpio/gpio.h>
79*2315b5ceSHugo Villeneuve    i2c {
80*2315b5ceSHugo Villeneuve        #address-cells = <1>;
81*2315b5ceSHugo Villeneuve        #size-cells = <0>;
82*2315b5ceSHugo Villeneuve
83*2315b5ceSHugo Villeneuve        adc@48 {
84*2315b5ceSHugo Villeneuve            compatible = "ti,ads7924";
85*2315b5ceSHugo Villeneuve            reg = <0x48>;
86*2315b5ceSHugo Villeneuve            vref-supply = <&ads7924_reg>;
87*2315b5ceSHugo Villeneuve            reset-gpios = <&gpio 5 GPIO_ACTIVE_LOW>;
88*2315b5ceSHugo Villeneuve            interrupts = <25 IRQ_TYPE_EDGE_FALLING>;
89*2315b5ceSHugo Villeneuve            interrupt-parent = <&gpio>;
90*2315b5ceSHugo Villeneuve            #address-cells = <1>;
91*2315b5ceSHugo Villeneuve            #size-cells = <0>;
92*2315b5ceSHugo Villeneuve            channel@0 {
93*2315b5ceSHugo Villeneuve                reg = <0>;
94*2315b5ceSHugo Villeneuve                label = "CH0";
95*2315b5ceSHugo Villeneuve            };
96*2315b5ceSHugo Villeneuve            channel@1 {
97*2315b5ceSHugo Villeneuve                reg = <1>;
98*2315b5ceSHugo Villeneuve                label = "CH1";
99*2315b5ceSHugo Villeneuve            };
100*2315b5ceSHugo Villeneuve            channel@2 {
101*2315b5ceSHugo Villeneuve                reg = <2>;
102*2315b5ceSHugo Villeneuve                label = "CH2";
103*2315b5ceSHugo Villeneuve            };
104*2315b5ceSHugo Villeneuve            channel@3 {
105*2315b5ceSHugo Villeneuve                reg = <3>;
106*2315b5ceSHugo Villeneuve                label = "CH3";
107*2315b5ceSHugo Villeneuve            };
108*2315b5ceSHugo Villeneuve        };
109*2315b5ceSHugo Villeneuve    };
110*2315b5ceSHugo Villeneuve...
111