Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
torvalds
GitHub Repository: torvalds/linux
Path: blob/master/Documentation/devicetree/bindings/iio/adc/adi,ad7124.yaml
26309 views
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/iio/adc/adi,ad7124.yaml#
6
$schema: http://devicetree.org/meta-schemas/core.yaml#
7
8
title: Analog Devices AD7124 ADC device driver
9
10
maintainers:
11
- Stefan Popa <stefan.popa@analog.com>
12
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
17
18
properties:
19
compatible:
20
enum:
21
- adi,ad7124-4
22
- adi,ad7124-8
23
24
reg:
25
description: SPI chip select number for the device
26
maxItems: 1
27
28
clocks:
29
maxItems: 1
30
description: phandle to the master clock (mclk)
31
32
clock-names:
33
items:
34
- const: mclk
35
36
interrupts:
37
description: IRQ line for the ADC
38
maxItems: 1
39
40
rdy-gpios:
41
description:
42
GPIO reading the R̅D̅Y̅ line. Having such a GPIO is technically optional but
43
highly recommended because DOUT/R̅D̅Y̅ toggles during SPI transfers (in its
44
DOUT aka MISO role) and so usually triggers a spurious interrupt. The
45
distinction between such a spurious event and a real one can only be done
46
by reading such a GPIO. (There is a register telling the same
47
information, but accessing that one needs a SPI transfer which then
48
triggers another interrupt event.)
49
maxItems: 1
50
51
'#address-cells':
52
const: 1
53
54
'#size-cells':
55
const: 0
56
57
refin1-supply:
58
description: refin1 supply can be used as reference for conversion.
59
60
refin2-supply:
61
description: refin2 supply can be used as reference for conversion.
62
63
avdd-supply:
64
description: avdd supply can be used as reference for conversion.
65
66
required:
67
- compatible
68
- reg
69
- clocks
70
- clock-names
71
- interrupts
72
73
patternProperties:
74
"^channel@([0-9]|1[0-5])$":
75
$ref: adc.yaml
76
type: object
77
description: |
78
Represents the external channels which are connected to the ADC.
79
80
properties:
81
reg:
82
description: |
83
The channel number. It can have up to 8 channels on ad7124-4
84
and 16 channels on ad7124-8, numbered from 0 to 15.
85
items:
86
minimum: 0
87
maximum: 15
88
89
adi,reference-select:
90
description: |
91
Select the reference source to use when converting on
92
the specific channel. Valid values are:
93
0: REFIN1(+)/REFIN1(−).
94
1: REFIN2(+)/REFIN2(−).
95
3: AVDD
96
If this field is left empty, internal reference is selected.
97
$ref: /schemas/types.yaml#/definitions/uint32
98
enum: [0, 1, 3]
99
100
diff-channels: true
101
102
bipolar: true
103
104
adi,buffered-positive:
105
description: Enable buffered mode for positive input.
106
type: boolean
107
108
adi,buffered-negative:
109
description: Enable buffered mode for negative input.
110
type: boolean
111
112
required:
113
- reg
114
- diff-channels
115
116
additionalProperties: false
117
118
allOf:
119
- $ref: /schemas/spi/spi-peripheral-props.yaml#
120
121
unevaluatedProperties: false
122
123
examples:
124
- |
125
#include <dt-bindings/gpio/gpio.h>
126
spi {
127
#address-cells = <1>;
128
#size-cells = <0>;
129
130
adc@0 {
131
compatible = "adi,ad7124-4";
132
reg = <0>;
133
spi-max-frequency = <5000000>;
134
interrupts = <25 2>;
135
interrupt-parent = <&gpio>;
136
rdy-gpios = <&gpio 25 GPIO_ACTIVE_LOW>;
137
refin1-supply = <&adc_vref>;
138
clocks = <&ad7124_mclk>;
139
clock-names = "mclk";
140
141
#address-cells = <1>;
142
#size-cells = <0>;
143
144
channel@0 {
145
reg = <0>;
146
diff-channels = <0 1>;
147
adi,reference-select = <0>;
148
adi,buffered-positive;
149
};
150
151
channel@1 {
152
reg = <1>;
153
bipolar;
154
diff-channels = <2 3>;
155
adi,reference-select = <0>;
156
adi,buffered-positive;
157
adi,buffered-negative;
158
};
159
160
channel@2 {
161
reg = <2>;
162
diff-channels = <4 5>;
163
};
164
165
channel@3 {
166
reg = <3>;
167
diff-channels = <6 7>;
168
};
169
};
170
};
171
172