Linux kernel mirror (for testing)
git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel
os
linux
1# SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause
2%YAML 1.2
3---
4$id: http://devicetree.org/schemas/mfd/wlf,arizona.yaml#
5$schema: http://devicetree.org/meta-schemas/core.yaml#
6
7title: Cirrus Logic/Wolfson Microelectronics Arizona class audio SoCs
8
9maintainers:
10 - patches@opensource.cirrus.com
11
12description: |
13 These devices are audio SoCs with extensive digital capabilities and a
14 range of analogue I/O.
15
16allOf:
17 - $ref: /schemas/sound/wlf,arizona.yaml#
18 - $ref: /schemas/regulator/wlf,arizona.yaml#
19 - $ref: /schemas/extcon/wlf,arizona.yaml#
20 - if:
21 properties:
22 compatible:
23 contains:
24 enum:
25 - cirrus,cs47l24
26 - wlf,wm1831
27 then:
28 required:
29 - DCVDD-supply
30 - MICVDD-supply
31 else:
32 properties:
33 LDOVDD-supply:
34 description:
35 Digital power supply, used internally to generate DCVDD when
36 internally supplied.
37
38 - if:
39 properties:
40 compatible:
41 contains:
42 enum:
43 - wlf,wm1814
44 - wlf,wm5102
45 - wlf,wm5110
46 - wlf,wm8280
47 - wlf,wm8997
48 - wlf,wm8998
49 then:
50 properties:
51 DBVDD2-supply:
52 description:
53 Databus power supply.
54
55 required:
56 - DBVDD2-supply
57 - if:
58 properties:
59 compatible:
60 contains:
61 enum:
62 - wlf,wm1814
63 - wlf,wm5102
64 - wlf,wm5110
65 - wlf,wm8280
66 - wlf,wm8998
67 then:
68 properties:
69 DBVDD3-supply:
70 description:
71 Databus power supply.
72
73 required:
74 - DBVDD3-supply
75 - if:
76 properties:
77 compatible:
78 contains:
79 enum:
80 - cirrus,cs47l24
81 - wlf,wm1831
82 - wlf,wm8997
83 then:
84 properties:
85 SPKVDD-supply:
86 description:
87 Mono speaker driver power supply.
88
89 required:
90 - SPKVDD-supply
91 else:
92 properties:
93 SPKVDDL-supply:
94 description:
95 Left speaker driver power supply.
96
97 SPKVDDR-supply:
98 description:
99 Right speaker driver power supply.
100
101 required:
102 - SPKVDDL-supply
103 - SPKVDDR-supply
104
105properties:
106 compatible:
107 enum:
108 - cirrus,cs47l24
109 - wlf,wm1814
110 - wlf,wm1831
111 - wlf,wm5102
112 - wlf,wm5110
113 - wlf,wm8280
114 - wlf,wm8997
115 - wlf,wm8998
116
117 reg:
118 maxItems: 1
119
120 AVDD-supply:
121 description:
122 Analogue power supply.
123
124 CPVDD-supply:
125 description:
126 Charge pump power supply.
127
128 DBVDD1-supply:
129 description:
130 Databus power supply.
131
132 DCVDD-supply:
133 description:
134 Digital power supply, normally supplied internally except on cs47l24,
135 wm1831 where it is mandatory.
136
137 MICVDD-supply:
138 description:
139 Microphone power supply, normally supplied internally except on
140 cs47l24, wm1831 where it is mandatory.
141
142 gpio-controller: true
143
144 '#gpio-cells':
145 description:
146 The first cell is the pin number and the second cell is used to
147 specify optional parameters.
148 const: 2
149
150 wlf,gpio-defaults:
151 description:
152 A list of GPIO configuration register values. Defines for the
153 appropriate values can found in dt-bindings/mfd/arizona.h. If
154 absent, no configuration of these registers is performed. If any
155 entry has a value that is out of range for a 16 bit register then the
156 chip default will be used. If present exactly five values must be
157 specified.
158 $ref: "/schemas/types.yaml#/definitions/uint32-array"
159 minItems: 1
160 maxItems: 5
161
162 interrupt-controller: true
163
164 '#interrupt-cells':
165 description:
166 The first cell is the IRQ number. The second cell is the flags,
167 encoded as trigger masks.
168 const: 2
169
170 interrupts:
171 maxItems: 1
172
173 clocks:
174 description:
175 Should reference the clocks supplied on MCLK1 and MCLK2.
176 minItems: 1
177 maxItems: 2
178
179 clock-names:
180 description:
181 Should contains two strings mclk1 for the clock supplied on MCLK1,
182 recommended to be a high quality audio reference clock mclk2 for the
183 clock supplied on MCLK2, recommended to be an always on 32k clock.
184 oneOf:
185 - items:
186 - const: mclk1
187 - items:
188 - const: mclk2
189 - items:
190 - const: mclk1
191 - const: mclk2
192
193 reset-gpios:
194 maxItems: 1
195
196 wlf,reset:
197 description:
198 GPIO specifier for the GPIO controlling RESET
199 deprecated: true
200 $ref: /schemas/types.yaml#/definitions/phandle-array
201 maxItems: 1
202
203required:
204 - compatible
205 - AVDD-supply
206 - CPVDD-supply
207 - DBVDD1-supply
208 - gpio-controller
209 - '#gpio-cells'
210 - interrupt-controller
211 - '#interrupt-cells'
212 - interrupts
213
214unevaluatedProperties: false
215
216examples:
217 - |
218 #include <dt-bindings/mfd/arizona.h>
219 i2c@e0004000 {
220 #address-cells = <1>;
221 #size-cells = <0>;
222 reg = <0xe0004000 0x1000>;
223
224 wm5102: codec@1a {
225 compatible = "wlf,wm5102";
226 reg = <0x1a>;
227
228 reset-gpios = <&gpio 0>;
229 wlf,ldoena = <&gpio 1>;
230
231 AVDD-supply = <&vdd1v8>;
232 DBVDD1-supply = <&vdd1v8>;
233 DBVDD2-supply = <&vdd1v8>;
234 DBVDD3-supply = <&vdd1v8>;
235 CPVDD-supply = <&vdd1v8>;
236 LDOVDD-supply = <&vdd1v8>;
237 SPKVDDL-supply = <&vdd5v>;
238 SPKVDDR-supply = <&vdd5v>;
239
240 interrupts = <347>;
241 interrupt-controller;
242 #interrupt-cells = <2>;
243 interrupt-parent = <&gic>;
244
245 gpio-controller;
246 #gpio-cells = <2>;
247
248 #sound-dai-cells = <1>;
249
250 wlf,gpio-defaults = <
251 ARIZONA_GP_FN_TXLRCLK
252 ARIZONA_GP_DEFAULT
253 ARIZONA_GP_DEFAULT
254 ARIZONA_GP_DEFAULT
255 ARIZONA_GP_DEFAULT
256 >;
257
258 clocks = <&clks 0>, <&clks 1>;
259 clock-names = "mclk1", "mclk2";
260
261 wlf,inmode = <ARIZONA_INMODE_DIFF ARIZONA_INMODE_DMIC>;
262 wlf,dmic-ref = <ARIZONA_DMIC_MICBIAS1 ARIZONA_DMIC_MICBIAS3>;
263
264 wlf,use-jd2;
265 wlf,use-jd2-nopull;
266 wlf,jd-invert;
267
268 wlf,micd-software-compare;
269 wlf,micd-detect-debounce = <0>;
270 wlf,micd-pol-gpio = <&codec 2 0>;
271 wlf,micd-rate = <ARIZONA_MICD_TIME_8MS>;
272 wlf,micd-dbtime = <4>;
273 wlf,micd-timeout-ms = <100>;
274 wlf,micd-force-micbias;
275 wlf,micd-configs = <0 ARIZONA_DMIC_MICBIAS1 0>,
276 <0x2000 ARIZONA_DMIC_MICBIAS2 1>;
277
278 wlf,gpsw = <ARIZONA_GPSW_OPEN>;
279 };
280 };