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