xref: /linux/Documentation/devicetree/bindings/iio/adc/adi,ad7768-1.yaml (revision 26fbb4c8c7c3ee9a4c3b4de555a8587b5a19154e)
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    description:
44      Enables synchronization of multiple devices that require simultaneous
45      sampling. A pulse is always required if the configuration is changed
46      in any way, for example if the filter decimation rate changes.
47      As the line is active low, it should be marked GPIO_ACTIVE_LOW.
48
49  reset-gpios:
50    maxItems: 1
51
52  spi-max-frequency: true
53
54  spi-cpol: true
55
56  spi-cpha: true
57
58  "#io-channel-cells":
59    const: 1
60
61required:
62  - compatible
63  - reg
64  - clocks
65  - clock-names
66  - vref-supply
67  - spi-cpol
68  - spi-cpha
69  - adi,sync-in-gpios
70
71patternProperties:
72  "^channel@([0-9]|1[0-5])$":
73    type: object
74    description: |
75      Represents the external channels which are connected to the device.
76
77    properties:
78      reg:
79        description: |
80          The channel number.
81
82      label:
83        description: |
84          Unique name to identify which channel this is.
85    required:
86      - reg
87    additionalProperties: false
88
89additionalProperties: false
90
91examples:
92  - |
93    #include <dt-bindings/interrupt-controller/irq.h>
94    #include <dt-bindings/gpio/gpio.h>
95    spi {
96        #address-cells = <1>;
97        #size-cells = <0>;
98
99        adc@0 {
100            compatible = "adi,ad7768-1";
101            reg = <0>;
102            spi-max-frequency = <2000000>;
103            spi-cpol;
104            spi-cpha;
105            vref-supply = <&adc_vref>;
106            interrupts = <25 IRQ_TYPE_EDGE_RISING>;
107            interrupt-parent = <&gpio>;
108            adi,sync-in-gpios = <&gpio 22 GPIO_ACTIVE_LOW>;
109            reset-gpios = <&gpio 27 GPIO_ACTIVE_LOW>;
110            clocks = <&ad7768_mclk>;
111            clock-names = "mclk";
112
113            #address-cells = <1>;
114            #size-cells = <0>;
115
116            channel@0 {
117                reg = <0>;
118                label = "channel_0";
119            };
120        };
121    };
122...
123