Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
torvalds
GitHub Repository: torvalds/linux
Path: blob/master/Documentation/devicetree/bindings/iio/adc/adi,ad7944.yaml
26309 views
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,ad7944.yaml#
5
$schema: http://devicetree.org/meta-schemas/core.yaml#
6
7
title: Analog Devices PulSAR LFCSP Analog to Digital Converters
8
9
maintainers:
10
- Michael Hennerich <Michael.Hennerich@analog.com>
11
- Nuno Sá <nuno.sa@analog.com>
12
13
description: |
14
A family of pin-compatible single channel differential analog to digital
15
converters with SPI support in a LFCSP package.
16
17
* https://www.analog.com/en/products/ad7944.html
18
* https://www.analog.com/en/products/ad7985.html
19
* https://www.analog.com/en/products/ad7986.html
20
21
$ref: /schemas/spi/spi-peripheral-props.yaml#
22
23
properties:
24
compatible:
25
enum:
26
- adi,ad7944
27
- adi,ad7985
28
- adi,ad7986
29
30
reg:
31
maxItems: 1
32
33
spi-max-frequency:
34
maximum: 111111111
35
36
spi-cpol: true
37
spi-cpha: true
38
39
adi,spi-mode:
40
$ref: /schemas/types.yaml#/definitions/string
41
enum: [ single, chain ]
42
description: |
43
This property indicates the SPI wiring configuration.
44
45
When this property is omitted, it is assumed that the device is using what
46
the datasheet calls "4-wire mode". This is the conventional SPI mode used
47
when there are multiple devices on the same bus. In this mode, the CNV
48
line is used to initiate the conversion and the SDI line is connected to
49
CS on the SPI controller.
50
51
When this property is present, it indicates that the device is using one
52
of the following alternative wiring configurations:
53
54
* single: The datasheet calls this "3-wire mode". (NOTE: The datasheet's
55
definition of 3-wire mode is NOT at all related to the standard
56
spi-3wire property!) This mode is often used when the ADC is the only
57
device on the bus. In this mode, SDI is tied to VIO, and the CNV line
58
can be connected to the CS line of the SPI controller or to a GPIO, in
59
which case the CS line of the controller is unused.
60
* chain: The datasheet calls this "chain mode". This mode is used to save
61
on wiring when multiple ADCs are used. In this mode, the SDI line of
62
one chip is tied to the SDO of the next chip in the chain and the SDI of
63
the last chip in the chain is tied to GND. Only the first chip in the
64
chain is connected to the SPI bus. The CNV line of all chips are tied
65
together. The CS line of the SPI controller can be used as the CNV line
66
only if it is active high.
67
68
'#daisy-chained-devices': true
69
70
avdd-supply:
71
description: A 2.5V supply that powers the analog circuitry.
72
73
dvdd-supply:
74
description: A 2.5V supply that powers the digital circuitry.
75
76
vio-supply:
77
description:
78
A 1.8V to 2.7V supply for the digital inputs and outputs.
79
80
bvdd-supply:
81
description:
82
A voltage supply for the buffered power. When using an external reference
83
without an internal buffer (PDREF high, REFIN low), this should be
84
connected to the same supply as ref-supply. Otherwise, when using an
85
internal reference or an external reference with an internal buffer, this
86
is connected to a 5V supply.
87
88
ref-supply:
89
description:
90
Voltage regulator for the external reference voltage (REF). This property
91
is omitted when using an internal reference.
92
93
refin-supply:
94
description:
95
Voltage regulator for the reference buffer input (REFIN). When using an
96
external buffer with internal reference, this should be connected to a
97
1.2V external reference voltage supply. Otherwise, this property is
98
omitted.
99
100
cnv-gpios:
101
description:
102
The Convert Input (CNV). This input has multiple functions. It initiates
103
the conversions and selects the SPI mode of the device (chain or CS). In
104
'single' mode, this property is omitted if the CNV pin is connected to the
105
CS line of the SPI controller.
106
maxItems: 1
107
108
turbo-gpios:
109
description:
110
GPIO connected to the TURBO line. If omitted, it is assumed that the TURBO
111
line is hard-wired and the state is determined by the adi,always-turbo
112
property.
113
maxItems: 1
114
115
adi,always-turbo:
116
type: boolean
117
description:
118
When present, this property indicates that the TURBO line is hard-wired
119
and the state is always high. If neither this property nor turbo-gpios is
120
present, the TURBO line is assumed to be hard-wired and the state is
121
always low.
122
123
interrupts:
124
description:
125
The SDO pin can also function as a busy indicator. This node should be
126
connected to an interrupt that is triggered when the SDO line goes low
127
while the SDI line is high and the CNV line is low ('single' mode) or the
128
SDI line is low and the CNV line is high ('multi' mode); or when the SDO
129
line goes high while the SDI and CNV lines are high (chain mode),
130
maxItems: 1
131
132
required:
133
- compatible
134
- reg
135
- avdd-supply
136
- dvdd-supply
137
- vio-supply
138
- bvdd-supply
139
140
allOf:
141
# ref-supply and refin-supply are mutually exclusive (neither is also valid)
142
- if:
143
required:
144
- ref-supply
145
then:
146
properties:
147
refin-supply: false
148
- if:
149
required:
150
- refin-supply
151
then:
152
properties:
153
ref-supply: false
154
# in '4-wire' mode, cnv-gpios is required, for other modes it is optional
155
- if:
156
not:
157
required:
158
- adi,spi-mode
159
then:
160
required:
161
- cnv-gpios
162
# chain mode has lower SCLK max rate and doesn't work when TURBO is enabled
163
- if:
164
required:
165
- adi,spi-mode
166
properties:
167
adi,spi-mode:
168
const: chain
169
then:
170
properties:
171
spi-max-frequency:
172
maximum: 90909090
173
adi,always-turbo: false
174
required:
175
- '#daisy-chained-devices'
176
else:
177
properties:
178
'#daisy-chained-devices': false
179
# turbo-gpios and adi,always-turbo are mutually exclusive
180
- if:
181
required:
182
- turbo-gpios
183
then:
184
properties:
185
adi,always-turbo: false
186
- if:
187
required:
188
- adi,always-turbo
189
then:
190
properties:
191
turbo-gpios: false
192
193
unevaluatedProperties: false
194
195
examples:
196
- |
197
#include <dt-bindings/gpio/gpio.h>
198
spi {
199
#address-cells = <1>;
200
#size-cells = <0>;
201
adc@0 {
202
compatible = "adi,ad7944";
203
reg = <0>;
204
spi-cpha;
205
spi-max-frequency = <111111111>;
206
avdd-supply = <&supply_2_5V>;
207
dvdd-supply = <&supply_2_5V>;
208
vio-supply = <&supply_1_8V>;
209
bvdd-supply = <&supply_5V>;
210
cnv-gpios = <&gpio 0 GPIO_ACTIVE_HIGH>;
211
turbo-gpios = <&gpio 1 GPIO_ACTIVE_HIGH>;
212
};
213
};
214
215