Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
torvalds
GitHub Repository: torvalds/linux
Path: blob/master/Documentation/devicetree/bindings/iio/dac/adi,ad5592r.yaml
26309 views
1
# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)
2
%YAML 1.2
3
---
4
$id: http://devicetree.org/schemas/iio/dac/adi,ad5592r.yaml#
5
$schema: http://devicetree.org/meta-schemas/core.yaml#
6
7
title: Analog Devices AD5592R/AD5593R DAC/ADC
8
9
maintainers:
10
- Michael Hennerich <michael.hennerich@analog.com>
11
12
properties:
13
compatible:
14
enum:
15
- adi,ad5592r
16
- adi,ad5593r
17
18
reg:
19
maxItems: 1
20
21
spi-max-frequency:
22
maximum: 30000000
23
24
spi-cpol: true
25
26
"#address-cells":
27
const: 1
28
29
"#size-cells":
30
const: 0
31
32
"#io-channel-cells":
33
const: 1
34
35
vref-supply:
36
description: If not set internal 2.5V reference used.
37
38
reset-gpios:
39
maxItems: 1
40
41
gpio-controller:
42
description: Marks the device node as a GPIO controller.
43
44
"#gpio-cells":
45
const: 2
46
description:
47
The first cell is the GPIO number and the second cell specifies
48
GPIO flags, as defined in <dt-bindings/gpio/gpio.h>.
49
50
required:
51
- compatible
52
- reg
53
- "#address-cells"
54
- "#size-cells"
55
56
allOf:
57
- if:
58
properties:
59
compatible:
60
contains:
61
const: adi,ad5592r
62
then:
63
required:
64
- spi-cpol
65
else:
66
properties:
67
spi-cpol: false
68
69
additionalProperties: false
70
71
patternProperties:
72
"^(channel@)[0-7]$":
73
type: object
74
description: Child node to describe a channel
75
properties:
76
reg:
77
minimum: 0
78
maximum: 7
79
80
adi,mode:
81
$ref: /schemas/types.yaml#/definitions/uint32
82
enum: [0, 1, 2, 3, 8]
83
description: |
84
Mode or function of this channel.
85
Macros specifying the valid values can be found in
86
<dt-bindings/iio/adi,ad5592r.h>.
87
88
The following values are currently supported:
89
* CH_MODE_UNUSED (the pin is unused)
90
* CH_MODE_ADC (the pin is ADC input)
91
* CH_MODE_DAC (the pin is DAC output)
92
* CH_MODE_DAC_AND_ADC (the pin is DAC output but can be monitored
93
by an ADC, since there is no disadvantage this should be
94
considered as the preferred DAC mode)
95
* CH_MODE_GPIO (the pin is registered with GPIOLIB)
96
97
adi,off-state:
98
$ref: /schemas/types.yaml#/definitions/uint32
99
enum: [0, 1, 2, 3]
100
description: |
101
State of this channel when unused or the device gets removed.
102
Macros specifying the valid values can be found in
103
<dt-bindings/iio/adi,ad5592r.h>.
104
* CH_OFFSTATE_PULLDOWN (the pin is pulled down)
105
* CH_OFFSTATE_OUT_LOW (the pin is output low)
106
* CH_OFFSTATE_OUT_HIGH (the pin is output high)
107
* CH_OFFSTATE_OUT_TRISTATE (the pin is tristated output)
108
109
required:
110
- reg
111
- adi,mode
112
113
additionalProperties: false
114
115
examples:
116
- |
117
#include <dt-bindings/iio/adi,ad5592r.h>
118
spi {
119
#address-cells = <1>;
120
#size-cells = <0>;
121
122
addac@0 {
123
compatible = "adi,ad5592r";
124
#size-cells = <0>;
125
#address-cells = <1>;
126
#gpio-cells = <2>;
127
reg = <0>;
128
129
spi-max-frequency = <1000000>;
130
spi-cpol;
131
132
vref-supply = <&vref>;
133
reset-gpios = <&gpio0 86 0>;
134
gpio-controller;
135
136
channel@0 {
137
reg = <0>;
138
adi,mode = <CH_MODE_DAC>;
139
};
140
channel@1 {
141
reg = <1>;
142
adi,mode = <CH_MODE_ADC>;
143
};
144
channel@2 {
145
reg = <2>;
146
adi,mode = <CH_MODE_DAC_AND_ADC>;
147
};
148
channel@3 {
149
reg = <3>;
150
adi,mode = <CH_MODE_DAC_AND_ADC>;
151
adi,off-state = <CH_OFFSTATE_PULLDOWN>;
152
};
153
channel@4 {
154
reg = <4>;
155
adi,mode = <CH_MODE_UNUSED>;
156
adi,off-state = <CH_OFFSTATE_PULLDOWN>;
157
};
158
channel@5 {
159
reg = <5>;
160
adi,mode = <CH_MODE_GPIO>;
161
adi,off-state = <CH_OFFSTATE_PULLDOWN>;
162
};
163
channel@6 {
164
reg = <6>;
165
adi,mode = <CH_MODE_GPIO>;
166
adi,off-state = <CH_OFFSTATE_PULLDOWN>;
167
};
168
channel@7 {
169
reg = <7>;
170
adi,mode = <CH_MODE_GPIO>;
171
adi,off-state = <CH_OFFSTATE_PULLDOWN>;
172
};
173
};
174
ad5593r@10 {
175
compatible = "adi,ad5593r";
176
#size-cells = <0>;
177
#address-cells = <1>;
178
#gpio-cells = <2>;
179
reg = <0x10>;
180
gpio-controller;
181
182
channel@0 {
183
reg = <0>;
184
adi,mode = <CH_MODE_DAC>;
185
adi,off-state = <CH_OFFSTATE_PULLDOWN>;
186
};
187
channel@1 {
188
reg = <1>;
189
adi,mode = <CH_MODE_ADC>;
190
adi,off-state = <CH_OFFSTATE_PULLDOWN>;
191
};
192
channel@2 {
193
reg = <2>;
194
adi,mode = <CH_MODE_DAC_AND_ADC>;
195
adi,off-state = <CH_OFFSTATE_PULLDOWN>;
196
};
197
channel@6 {
198
reg = <6>;
199
adi,mode = <CH_MODE_GPIO>;
200
adi,off-state = <CH_OFFSTATE_PULLDOWN>;
201
};
202
};
203
};
204
...
205
206