1# SPDX-License-Identifier: GPL-2.0-only
2%YAML 1.2
3---
4$id: http://devicetree.org/schemas/iio/adc/adi,ad7292.yaml#
5$schema: http://devicetree.org/meta-schemas/core.yaml#
6
7title: Analog Devices AD7292 10-Bit Monitor and Control System
8
9maintainers:
10  - Marcelo Schmitt <marcelo.schmitt1@gmail.com>
11
12description: |
13  Analog Devices AD7292 10-Bit Monitor and Control System with ADC, DACs,
14  Temperature Sensor, and GPIOs
15
16  Specifications about the part can be found at:
17    https://www.analog.com/media/en/technical-documentation/data-sheets/ad7292.pdf
18
19properties:
20  compatible:
21    enum:
22      - adi,ad7292
23
24  reg:
25    maxItems: 1
26
27  vref-supply:
28    description: |
29      The regulator supply for ADC and DAC reference voltage.
30
31  spi-cpha: true
32
33  '#address-cells':
34    const: 1
35
36  '#size-cells':
37    const: 0
38
39required:
40  - compatible
41  - reg
42  - spi-cpha
43
44patternProperties:
45  "^channel@[0-7]$":
46    type: object
47    description: |
48      Represents the external channels which are connected to the ADC.
49      See Documentation/devicetree/bindings/iio/adc/adc.txt.
50
51    properties:
52      reg:
53        description: |
54          The channel number. It can have up to 8 channels numbered from 0 to 7.
55        items:
56          maximum: 7
57
58      diff-channels:
59        description: see Documentation/devicetree/bindings/iio/adc/adc.txt
60        maxItems: 1
61
62    required:
63      - reg
64
65examples:
66  - |
67    spi {
68      #address-cells = <1>;
69      #size-cells = <0>;
70
71      ad7292: adc@0 {
72        compatible = "adi,ad7292";
73        reg = <0>;
74        spi-max-frequency = <25000000>;
75        vref-supply = <&adc_vref>;
76        spi-cpha;
77
78        #address-cells = <1>;
79        #size-cells = <0>;
80
81        channel@0 {
82          reg = <0>;
83          diff-channels = <0 1>;
84        };
85        channel@2 {
86          reg = <2>;
87        };
88        channel@3 {
89          reg = <3>;
90        };
91        channel@4 {
92          reg = <4>;
93        };
94        channel@5 {
95          reg = <5>;
96        };
97        channel@6 {
98          reg = <6>;
99        };
100        channel@7 {
101          reg = <7>;
102        };
103      };
104    };
105