1# SPDX-License-Identifier: GPL-2.0
2%YAML 1.2
3---
4$id: http://devicetree.org/schemas/iio/adc/adi,ad7768-1.yaml#
5$schema: http://devicetree.org/meta-schemas/core.yaml#
6
7title: Analog Devices AD7768-1 ADC device driver
8
9maintainers:
10  - Michael Hennerich <michael.hennerich@analog.com>
11
12description: |
13  Datasheet at:
14    https://www.analog.com/media/en/technical-documentation/data-sheets/ad7768-1.pdf
15
16properties:
17  compatible:
18    const: adi,ad7768-1
19
20  reg:
21    maxItems: 1
22
23  clocks:
24    maxItems: 1
25
26  clock-names:
27    const: mclk
28
29  interrupts:
30    maxItems: 1
31
32  '#address-cells':
33    const: 1
34
35  '#size-cells':
36    const: 0
37
38  vref-supply:
39    description:
40      ADC reference voltage supply
41
42  adi,sync-in-gpios:
43    maxItems: 1
44    description:
45      Enables synchronization of multiple devices that require simultaneous
46      sampling. A pulse is always required if the configuration is changed
47      in any way, for example if the filter decimation rate changes.
48      As the line is active low, it should be marked GPIO_ACTIVE_LOW.
49
50  reset-gpios:
51    maxItems: 1
52
53  spi-max-frequency: true
54
55  spi-cpol: true
56
57  spi-cpha: true
58
59  "#io-channel-cells":
60    const: 1
61
62required:
63  - compatible
64  - reg
65  - clocks
66  - clock-names
67  - vref-supply
68  - spi-cpol
69  - spi-cpha
70  - adi,sync-in-gpios
71
72patternProperties:
73  "^channel@([0-9]|1[0-5])$":
74    type: object
75    description: |
76      Represents the external channels which are connected to the device.
77
78    properties:
79      reg:
80        maxItems: 1
81        description: |
82          The channel number.
83
84      label:
85        description: |
86          Unique name to identify which channel this is.
87    required:
88      - reg
89    additionalProperties: false
90
91additionalProperties: false
92
93examples:
94  - |
95    #include <dt-bindings/interrupt-controller/irq.h>
96    #include <dt-bindings/gpio/gpio.h>
97    spi {
98        #address-cells = <1>;
99        #size-cells = <0>;
100
101        adc@0 {
102            compatible = "adi,ad7768-1";
103            reg = <0>;
104            spi-max-frequency = <2000000>;
105            spi-cpol;
106            spi-cpha;
107            vref-supply = <&adc_vref>;
108            interrupts = <25 IRQ_TYPE_EDGE_RISING>;
109            interrupt-parent = <&gpio>;
110            adi,sync-in-gpios = <&gpio 22 GPIO_ACTIVE_LOW>;
111            reset-gpios = <&gpio 27 GPIO_ACTIVE_LOW>;
112            clocks = <&ad7768_mclk>;
113            clock-names = "mclk";
114
115            #address-cells = <1>;
116            #size-cells = <0>;
117
118            channel@0 {
119                reg = <0>;
120                label = "channel_0";
121            };
122        };
123    };
124...
125