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  vref-supply:
33    description:
34      ADC reference voltage supply
35
36  adi,sync-in-gpios:
37    description:
38      Enables synchronization of multiple devices that require simultaneous
39      sampling. A pulse is always required if the configuration is changed
40      in any way, for example if the filter decimation rate changes.
41      As the line is active low, it should be marked GPIO_ACTIVE_LOW.
42
43  reset-gpios:
44    maxItems: 1
45
46  spi-max-frequency: true
47
48  spi-cpol: true
49  spi-cpha : true
50
51  "#io-channel-cells":
52    const: 1
53
54required:
55  - compatible
56  - reg
57  - clocks
58  - clock-names
59  - vref-supply
60  - spi-cpol
61  - spi-cpha
62  - adi,sync-in-gpios
63
64additionalProperties: false
65
66examples:
67  - |
68    #include <dt-bindings/interrupt-controller/irq.h>
69    #include <dt-bindings/gpio/gpio.h>
70    spi {
71        #address-cells = <1>;
72        #size-cells = <0>;
73
74        adc@0 {
75            compatible = "adi,ad7768-1";
76            reg = <0>;
77            spi-max-frequency = <2000000>;
78            spi-cpol;
79            spi-cpha;
80            vref-supply = <&adc_vref>;
81            interrupts = <25 IRQ_TYPE_EDGE_RISING>;
82            interrupt-parent = <&gpio>;
83            adi,sync-in-gpios = <&gpio 22 GPIO_ACTIVE_LOW>;
84            reset-gpios = <&gpio 27 GPIO_ACTIVE_LOW>;
85            clocks = <&ad7768_mclk>;
86            clock-names = "mclk";
87        };
88    };
89...
90