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