1 # SPDX-License-Identifier: GPL-2.0
2 %YAML 1.2
3 ---
4 $id: http://devicetree.org/schemas/sound/allwinner,sun4i-a10-codec.yaml#
5 $schema: http://devicetree.org/meta-schemas/core.yaml#
6
7 title: Allwinner A10 Codec Device Tree Bindings
8
9 maintainers:
10 - Chen-Yu Tsai <wens@csie.org>
11 - Maxime Ripard <mripard@kernel.org>
12
13 properties:
14 "#sound-dai-cells":
15 const: 0
16
17 compatible:
18 enum:
19 - allwinner,sun4i-a10-codec
20 - allwinner,sun6i-a31-codec
21 - allwinner,sun7i-a20-codec
22 - allwinner,sun8i-a23-codec
23 - allwinner,sun8i-h3-codec
24 - allwinner,sun8i-v3s-codec
25
26 reg:
27 maxItems: 1
28
29 interrupts:
30 maxItems: 1
31
32 clocks:
33 items:
34 - description: Bus Clock
35 - description: Module Clock
36
37 clock-names:
38 items:
39 - const: apb
40 - const: codec
41
42 dmas:
43 items:
44 - description: RX DMA Channel
45 - description: TX DMA Channel
46
47 dma-names:
48 items:
49 - const: rx
50 - const: tx
51
52 resets:
53 maxItems: 1
54
55 allwinner,audio-routing:
56 description: |-
57 A list of the connections between audio components. Each entry
58 is a pair of strings, the first being the connection's sink, the
59 second being the connection's source.
60 $ref: /schemas/types.yaml#/definitions/non-unique-string-array
61 minItems: 2
62 maxItems: 18
63 items:
64 enum:
65 # Audio Pins on the SoC
66 - HP
67 - HPCOM
68 - LINEIN
69 - LINEOUT
70 - MIC1
71 - MIC2
72 - MIC3
73
74 # Microphone Biases from the SoC
75 - HBIAS
76 - MBIAS
77
78 # Board Connectors
79 - Headphone
80 - Headset Mic
81 - Line In
82 - Line Out
83 - Mic
84 - Speaker
85
86 allwinner,codec-analog-controls:
87 $ref: /schemas/types.yaml#/definitions/phandle
88 description: Phandle to the codec analog controls in the PRCM
89
90 allwinner,pa-gpios:
91 maxItems: 1
92 description: GPIO to enable the external amplifier
93
94 required:
95 - "#sound-dai-cells"
96 - compatible
97 - reg
98 - interrupts
99 - clocks
100 - clock-names
101 - dmas
102 - dma-names
103
104 allOf:
105 - if:
106 properties:
107 compatible:
108 enum:
109 - allwinner,sun6i-a31-codec
110 - allwinner,sun8i-a23-codec
111 - allwinner,sun8i-h3-codec
112 - allwinner,sun8i-v3s-codec
113
114 then:
115 if:
116 properties:
117 compatible:
118 const: allwinner,sun6i-a31-codec
119
120 then:
121 required:
122 - resets
123 - allwinner,audio-routing
124
125 else:
126 required:
127 - resets
128 - allwinner,audio-routing
129 - allwinner,codec-analog-controls
130
131 - if:
132 properties:
133 compatible:
134 enum:
135 - allwinner,sun6i-a31-codec
136
137 then:
138 properties:
139 allwinner,audio-routing:
140 items:
141 enum:
142 - HP
143 - HPCOM
144 - LINEIN
145 - LINEOUT
146 - MIC1
147 - MIC2
148 - MIC3
149 - HBIAS
150 - MBIAS
151 - Headphone
152 - Headset Mic
153 - Line In
154 - Line Out
155 - Mic
156 - Speaker
157
158 - if:
159 properties:
160 compatible:
161 enum:
162 - allwinner,sun8i-a23-codec
163
164 then:
165 properties:
166 allwinner,audio-routing:
167 items:
168 enum:
169 - HP
170 - HPCOM
171 - LINEIN
172 - MIC1
173 - MIC2
174 - HBIAS
175 - MBIAS
176 - Headphone
177 - Headset Mic
178 - Line In
179 - Line Out
180 - Mic
181 - Speaker
182
183 - if:
184 properties:
185 compatible:
186 enum:
187 - allwinner,sun8i-h3-codec
188
189 then:
190 properties:
191 allwinner,audio-routing:
192 items:
193 enum:
194 - HP
195 - HPCOM
196 - LINEIN
197 - LINEOUT
198 - MIC1
199 - MIC2
200 - HBIAS
201 - MBIAS
202 - Headphone
203 - Headset Mic
204 - Line In
205 - Line Out
206 - Mic
207 - Speaker
208
209 - if:
210 properties:
211 compatible:
212 enum:
213 - allwinner,sun8i-v3s-codec
214
215 then:
216 properties:
217 allwinner,audio-routing:
218 items:
219 enum:
220 - HP
221 - HPCOM
222 - MIC1
223 - HBIAS
224 - Headphone
225 - Headset Mic
226 - Line In
227 - Line Out
228 - Mic
229 - Speaker
230
231 additionalProperties: false
232
233 examples:
234 - |
235 codec@1c22c00 {
236 #sound-dai-cells = <0>;
237 compatible = "allwinner,sun7i-a20-codec";
238 reg = <0x01c22c00 0x40>;
239 interrupts = <0 30 4>;
240 clocks = <&apb0_gates 0>, <&codec_clk>;
241 clock-names = "apb", "codec";
242 dmas = <&dma 0 19>, <&dma 0 19>;
243 dma-names = "rx", "tx";
244 };
245
246 - |
247 codec@1c22c00 {
248 #sound-dai-cells = <0>;
249 compatible = "allwinner,sun6i-a31-codec";
250 reg = <0x01c22c00 0x98>;
251 interrupts = <0 29 4>;
252 clocks = <&ccu 61>, <&ccu 135>;
253 clock-names = "apb", "codec";
254 resets = <&ccu 42>;
255 dmas = <&dma 15>, <&dma 15>;
256 dma-names = "rx", "tx";
257 allwinner,audio-routing =
258 "Headphone", "HP",
259 "Speaker", "LINEOUT",
260 "LINEIN", "Line In",
261 "MIC1", "MBIAS",
262 "MIC1", "Mic",
263 "MIC2", "HBIAS",
264 "MIC2", "Headset Mic";
265 };
266
267 ...
Cache object: f75af843df89cf65702cd1833b750e40
|