treewide: remove redundant IS_ERR() before error code check
[linux/fpc-iii.git] / Documentation / devicetree / bindings / iio / adc / adi,ad7124.yaml
blobe932d5aed02f9ff54bad0fbcd2bfb0e5f39f01b8
1 # SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)
2 # Copyright 2019 Analog Devices Inc.
3 %YAML 1.2
4 ---
5 $id: http://devicetree.org/schemas/bindings/iio/adc/adi,ad7124.yaml#
6 $schema: http://devicetree.org/meta-schemas/core.yaml#
8 title: Analog Devices AD7124 ADC device driver
10 maintainers:
11   - Stefan Popa <stefan.popa@analog.com>
13 description: |
14   Bindings for the Analog Devices AD7124 ADC device. Datasheet can be
15   found here:
16     https://www.analog.com/media/en/technical-documentation/data-sheets/AD7124-8.pdf
18 properties:
19   compatible:
20     enum:
21       - adi,ad7124-4
22       - adi,ad7124-8
24   reg:
25     description: SPI chip select number for the device
26     maxItems: 1
28   clocks:
29     maxItems: 1
30     description: phandle to the master clock (mclk)
32   clock-names:
33     items:
34       - const: mclk
36   interrupts:
37     description: IRQ line for the ADC
38     maxItems: 1
40   '#address-cells':
41     const: 1
43   '#size-cells':
44     const: 0
46   refin1-supply:
47     description: refin1 supply can be used as reference for conversion.
49   refin2-supply:
50     description: refin2 supply can be used as reference for conversion.
52   avdd-supply:
53     description: avdd supply can be used as reference for conversion.
55 required:
56   - compatible
57   - reg
58   - clocks
59   - clock-names
60   - interrupts
62 patternProperties:
63   "^channel@([0-9]|1[0-5])$":
64     type: object
65     description: |
66       Represents the external channels which are connected to the ADC.
67       See Documentation/devicetree/bindings/iio/adc/adc.txt.
69     properties:
70       reg:
71         description: |
72           The channel number. It can have up to 8 channels on ad7124-4
73           and 16 channels on ad7124-8, numbered from 0 to 15.
74         items:
75          minimum: 0
76          maximum: 15
78       adi,reference-select:
79         description: |
80           Select the reference source to use when converting on
81           the specific channel. Valid values are:
82           0: REFIN1(+)/REFIN1(−).
83           1: REFIN2(+)/REFIN2(−).
84           3: AVDD
85           If this field is left empty, internal reference is selected.
86         allOf:
87           - $ref: /schemas/types.yaml#/definitions/uint32
88           - enum: [0, 1, 3]
90       diff-channels:
91         description: see Documentation/devicetree/bindings/iio/adc/adc.txt
92         items:
93           minimum: 0
94           maximum: 15
96       bipolar:
97         description: see Documentation/devicetree/bindings/iio/adc/adc.txt
98         type: boolean
100       adi,buffered-positive:
101         description: Enable buffered mode for positive input.
102         type: boolean
104       adi,buffered-negative:
105         description: Enable buffered mode for negative input.
106         type: boolean
108     required:
109       - reg
110       - diff-channels
112 examples:
113   - |
114     spi {
115       #address-cells = <1>;
116       #size-cells = <0>;
118       adc@0 {
119         compatible = "adi,ad7124-4";
120         reg = <0>;
121         spi-max-frequency = <5000000>;
122         interrupts = <25 2>;
123         interrupt-parent = <&gpio>;
124         refin1-supply = <&adc_vref>;
125         clocks = <&ad7124_mclk>;
126         clock-names = "mclk";
128         #address-cells = <1>;
129         #size-cells = <0>;
131         channel@0 {
132           reg = <0>;
133           diff-channels = <0 1>;
134           adi,reference-select = <0>;
135           adi,buffered-positive;
136         };
138         channel@1 {
139           reg = <1>;
140           bipolar;
141           diff-channels = <2 3>;
142           adi,reference-select = <0>;
143           adi,buffered-positive;
144           adi,buffered-negative;
145         };
147         channel@2 {
148           reg = <2>;
149           diff-channels = <4 5>;
150         };
152         channel@3 {
153           reg = <3>;
154           diff-channels = <6 7>;
155         };
156       };
157     };