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