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
496ad8838dSRob Herring
50dd29b129SJonathan Cameron  spi-cpha: true
51dd29b129SJonathan Cameron
52dd29b129SJonathan Cameron  "#io-channel-cells":
53dd29b129SJonathan Cameron    const: 1
54dd29b129SJonathan Cameron
55dd29b129SJonathan Cameronrequired:
56dd29b129SJonathan Cameron  - compatible
57dd29b129SJonathan Cameron  - reg
58dd29b129SJonathan Cameron  - clocks
59dd29b129SJonathan Cameron  - clock-names
60dd29b129SJonathan Cameron  - vref-supply
61dd29b129SJonathan Cameron  - spi-cpol
62dd29b129SJonathan Cameron  - spi-cpha
63dd29b129SJonathan Cameron  - adi,sync-in-gpios
64dd29b129SJonathan Cameron
65dd29b129SJonathan CameronadditionalProperties: false
66dd29b129SJonathan Cameron
67dd29b129SJonathan Cameronexamples:
68dd29b129SJonathan Cameron  - |
69dd29b129SJonathan Cameron    #include <dt-bindings/interrupt-controller/irq.h>
70dd29b129SJonathan Cameron    #include <dt-bindings/gpio/gpio.h>
71dd29b129SJonathan Cameron    spi {
72dd29b129SJonathan Cameron        #address-cells = <1>;
73dd29b129SJonathan Cameron        #size-cells = <0>;
74dd29b129SJonathan Cameron
75dd29b129SJonathan Cameron        adc@0 {
76dd29b129SJonathan Cameron            compatible = "adi,ad7768-1";
77dd29b129SJonathan Cameron            reg = <0>;
78dd29b129SJonathan Cameron            spi-max-frequency = <2000000>;
79dd29b129SJonathan Cameron            spi-cpol;
80dd29b129SJonathan Cameron            spi-cpha;
81dd29b129SJonathan Cameron            vref-supply = <&adc_vref>;
82dd29b129SJonathan Cameron            interrupts = <25 IRQ_TYPE_EDGE_RISING>;
83dd29b129SJonathan Cameron            interrupt-parent = <&gpio>;
84dd29b129SJonathan Cameron            adi,sync-in-gpios = <&gpio 22 GPIO_ACTIVE_LOW>;
85dd29b129SJonathan Cameron            reset-gpios = <&gpio 27 GPIO_ACTIVE_LOW>;
86dd29b129SJonathan Cameron            clocks = <&ad7768_mclk>;
87dd29b129SJonathan Cameron            clock-names = "mclk";
88dd29b129SJonathan Cameron        };
89dd29b129SJonathan Cameron    };
90dd29b129SJonathan Cameron...
91