1dd29b129SJonathan Cameron# SPDX-License-Identifier: GPL-2.0
2dd29b129SJonathan Cameron%YAML 1.2
3dd29b129SJonathan Cameron---
4dd29b129SJonathan Cameron$id: http://devicetree.org/schemas/iio/adc/adi,ad7768-1.yaml#
5dd29b129SJonathan Cameron$schema: http://devicetree.org/meta-schemas/core.yaml#
6dd29b129SJonathan Cameron
7dd29b129SJonathan Camerontitle: Analog Devices AD7768-1 ADC device driver
8dd29b129SJonathan Cameron
9dd29b129SJonathan Cameronmaintainers:
10dd29b129SJonathan Cameron  - Michael Hennerich <michael.hennerich@analog.com>
11dd29b129SJonathan Cameron
12dd29b129SJonathan Camerondescription: |
13dd29b129SJonathan Cameron  Datasheet at:
14dd29b129SJonathan Cameron    https://www.analog.com/media/en/technical-documentation/data-sheets/ad7768-1.pdf
15dd29b129SJonathan Cameron
16dd29b129SJonathan Cameronproperties:
17dd29b129SJonathan Cameron  compatible:
18dd29b129SJonathan Cameron    const: adi,ad7768-1
19dd29b129SJonathan Cameron
20dd29b129SJonathan Cameron  reg:
21dd29b129SJonathan Cameron    maxItems: 1
22dd29b129SJonathan Cameron
23dd29b129SJonathan Cameron  clocks:
24dd29b129SJonathan Cameron    maxItems: 1
25dd29b129SJonathan Cameron
26dd29b129SJonathan Cameron  clock-names:
27dd29b129SJonathan Cameron    const: mclk
28dd29b129SJonathan Cameron
29dd29b129SJonathan Cameron  interrupts:
30dd29b129SJonathan Cameron    maxItems: 1
31dd29b129SJonathan Cameron
32dd29b129SJonathan Cameron  vref-supply:
33dd29b129SJonathan Cameron    description:
34dd29b129SJonathan Cameron      ADC reference voltage supply
35dd29b129SJonathan Cameron
36dd29b129SJonathan Cameron  adi,sync-in-gpios:
37dd29b129SJonathan Cameron    description:
38dd29b129SJonathan Cameron      Enables synchronization of multiple devices that require simultaneous
39dd29b129SJonathan Cameron      sampling. A pulse is always required if the configuration is changed
40dd29b129SJonathan Cameron      in any way, for example if the filter decimation rate changes.
41dd29b129SJonathan Cameron      As the line is active low, it should be marked GPIO_ACTIVE_LOW.
42dd29b129SJonathan Cameron
43dd29b129SJonathan Cameron  reset-gpios:
44dd29b129SJonathan Cameron    maxItems: 1
45dd29b129SJonathan Cameron
46dd29b129SJonathan Cameron  spi-max-frequency: true
47dd29b129SJonathan Cameron
48dd29b129SJonathan Cameron  spi-cpol: true
49dd29b129SJonathan Cameron  spi-cpha : true
50dd29b129SJonathan Cameron
51dd29b129SJonathan Cameron  "#io-channel-cells":
52dd29b129SJonathan Cameron    const: 1
53dd29b129SJonathan Cameron
54dd29b129SJonathan Cameronrequired:
55dd29b129SJonathan Cameron  - compatible
56dd29b129SJonathan Cameron  - reg
57dd29b129SJonathan Cameron  - clocks
58dd29b129SJonathan Cameron  - clock-names
59dd29b129SJonathan Cameron  - vref-supply
60dd29b129SJonathan Cameron  - spi-cpol
61dd29b129SJonathan Cameron  - spi-cpha
62dd29b129SJonathan Cameron  - adi,sync-in-gpios
63dd29b129SJonathan Cameron
64dd29b129SJonathan CameronadditionalProperties: false
65dd29b129SJonathan Cameron
66dd29b129SJonathan Cameronexamples:
67dd29b129SJonathan Cameron  - |
68dd29b129SJonathan Cameron    #include <dt-bindings/interrupt-controller/irq.h>
69dd29b129SJonathan Cameron    #include <dt-bindings/gpio/gpio.h>
70dd29b129SJonathan Cameron    spi {
71dd29b129SJonathan Cameron        #address-cells = <1>;
72dd29b129SJonathan Cameron        #size-cells = <0>;
73dd29b129SJonathan Cameron
74dd29b129SJonathan Cameron        adc@0 {
75dd29b129SJonathan Cameron            compatible = "adi,ad7768-1";
76dd29b129SJonathan Cameron            reg = <0>;
77dd29b129SJonathan Cameron            spi-max-frequency = <2000000>;
78dd29b129SJonathan Cameron            spi-cpol;
79dd29b129SJonathan Cameron            spi-cpha;
80dd29b129SJonathan Cameron            vref-supply = <&adc_vref>;
81dd29b129SJonathan Cameron            interrupts = <25 IRQ_TYPE_EDGE_RISING>;
82dd29b129SJonathan Cameron            interrupt-parent = <&gpio>;
83dd29b129SJonathan Cameron            adi,sync-in-gpios = <&gpio 22 GPIO_ACTIVE_LOW>;
84dd29b129SJonathan Cameron            reset-gpios = <&gpio 27 GPIO_ACTIVE_LOW>;
85dd29b129SJonathan Cameron            clocks = <&ad7768_mclk>;
86dd29b129SJonathan Cameron            clock-names = "mclk";
87dd29b129SJonathan Cameron        };
88dd29b129SJonathan Cameron    };
89dd29b129SJonathan Cameron...
90