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  spi-max-frequency: true
34
35  '#address-cells':
36    const: 1
37
38  '#size-cells':
39    const: 0
40
41required:
42  - compatible
43  - reg
44  - spi-cpha
45
46patternProperties:
47  "^channel@[0-7]$":
48    type: object
49    description: |
50      Represents the external channels which are connected to the ADC.
51      See Documentation/devicetree/bindings/iio/adc/adc.txt.
52
53    properties:
54      reg:
55        description: |
56          The channel number. It can have up to 8 channels numbered from 0 to 7.
57        items:
58          - minimum: 0
59            maximum: 7
60
61      diff-channels:
62        description: see Documentation/devicetree/bindings/iio/adc/adc.txt
63        maxItems: 1
64
65    required:
66      - reg
67
68additionalProperties: false
69
70examples:
71  - |
72    spi {
73      #address-cells = <1>;
74      #size-cells = <0>;
75
76      ad7292: adc@0 {
77        compatible = "adi,ad7292";
78        reg = <0>;
79        spi-max-frequency = <25000000>;
80        vref-supply = <&adc_vref>;
81        spi-cpha;
82
83        #address-cells = <1>;
84        #size-cells = <0>;
85
86        channel@0 {
87          reg = <0>;
88          diff-channels = <0 1>;
89        };
90        channel@2 {
91          reg = <2>;
92        };
93        channel@3 {
94          reg = <3>;
95        };
96        channel@4 {
97          reg = <4>;
98        };
99        channel@5 {
100          reg = <5>;
101        };
102        channel@6 {
103          reg = <6>;
104        };
105        channel@7 {
106          reg = <7>;
107        };
108      };
109    };
110