1# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
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    $ref: adc.yaml
47    type: object
48    description: |
49      Represents the external channels which are connected to the ADC.
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          - minimum: 0
57            maximum: 7
58
59      diff-channels: true
60
61    required:
62      - reg
63
64    additionalProperties: false
65
66allOf:
67  - $ref: /schemas/spi/spi-peripheral-props.yaml#
68
69unevaluatedProperties: false
70
71examples:
72  - |
73    spi {
74      #address-cells = <1>;
75      #size-cells = <0>;
76
77      ad7292: adc@0 {
78        compatible = "adi,ad7292";
79        reg = <0>;
80        spi-max-frequency = <25000000>;
81        vref-supply = <&adc_vref>;
82        spi-cpha;
83
84        #address-cells = <1>;
85        #size-cells = <0>;
86
87        channel@0 {
88          reg = <0>;
89          diff-channels = <0 1>;
90        };
91        channel@2 {
92          reg = <2>;
93        };
94        channel@3 {
95          reg = <3>;
96        };
97        channel@4 {
98          reg = <4>;
99        };
100        channel@5 {
101          reg = <5>;
102        };
103        channel@6 {
104          reg = <6>;
105        };
106        channel@7 {
107          reg = <7>;
108        };
109      };
110    };
111