File Index
Files and directories
Sign in
FILE

allwinner,sun4i-a10-codec.yaml

File preview with syntax highlighting.

linux-6.19.14/Documentation/devicetree/bindings/sound/allwinner,sun4i-a10-codec.yaml YAML
  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
  7title: Allwinner A10 Codec
  8
  9maintainers:
 10  - Chen-Yu Tsai <wens@csie.org>
 11  - Maxime Ripard <mripard@kernel.org>
 12
 13properties:
 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      - allwinner,sun50i-h616-codec
 26      - allwinner,suniv-f1c100s-codec
 27
 28  reg:
 29    maxItems: 1
 30
 31  interrupts:
 32    maxItems: 1
 33
 34  clocks:
 35    items:
 36      - description: Bus Clock
 37      - description: Module Clock
 38
 39  clock-names:
 40    items:
 41      - const: apb
 42      - const: codec
 43
 44  dmas:
 45    oneOf:
 46      - items:
 47          - description: RX DMA Channel
 48          - description: TX DMA Channel
 49      - items:
 50          - description: TX DMA Channel
 51
 52  dma-names:
 53    oneOf:
 54      - items:
 55          - const: rx
 56          - const: tx
 57      - items:
 58          - const: tx
 59
 60  resets:
 61    maxItems: 1
 62
 63  allwinner,audio-routing:
 64    description: |-
 65      A list of the connections between audio components.  Each entry
 66      is a pair of strings, the first being the connection's sink, the
 67      second being the connection's source.
 68    $ref: /schemas/types.yaml#/definitions/non-unique-string-array
 69    minItems: 2
 70    maxItems: 18
 71    items:
 72      enum:
 73        # Audio Pins on the SoC
 74        - HP
 75        - HPCOM
 76        - LINEIN
 77        - LINEOUT
 78        - MIC1
 79        - MIC2
 80        - MIC3
 81        - MIC
 82
 83        # Microphone Biases from the SoC
 84        - HBIAS
 85        - MBIAS
 86
 87        # Board Connectors
 88        - Headphone
 89        - Headset Mic
 90        - Line In
 91        - Line Out
 92        - Right FM In
 93        - Left FM In
 94        - Mic
 95        - Speaker
 96
 97  allwinner,codec-analog-controls:
 98    $ref: /schemas/types.yaml#/definitions/phandle
 99    description: Phandle to the codec analog controls in the PRCM
100
101  allwinner,pa-gpios:
102    maxItems: 1
103    description: GPIO to enable the external amplifier
104
105  hp-det-gpios:
106    maxItems: 1
107    description: GPIO for headphone/line-out detection
108
109required:
110  - "#sound-dai-cells"
111  - compatible
112  - reg
113  - interrupts
114  - clocks
115  - clock-names
116  - dmas
117  - dma-names
118
119allOf:
120  - $ref: dai-common.yaml#
121  - if:
122      properties:
123        compatible:
124          enum:
125            - allwinner,sun6i-a31-codec
126            - allwinner,sun8i-a23-codec
127            - allwinner,sun8i-h3-codec
128            - allwinner,sun8i-v3s-codec
129
130    then:
131      if:
132        properties:
133          compatible:
134            const: allwinner,sun6i-a31-codec
135
136      then:
137        required:
138          - resets
139          - allwinner,audio-routing
140
141      else:
142        required:
143          - resets
144          - allwinner,audio-routing
145          - allwinner,codec-analog-controls
146
147  - if:
148      properties:
149        compatible:
150          enum:
151            - allwinner,sun6i-a31-codec
152
153    then:
154      properties:
155        allwinner,audio-routing:
156          items:
157            enum:
158              - HP
159              - HPCOM
160              - LINEIN
161              - LINEOUT
162              - MIC1
163              - MIC2
164              - MIC3
165              - HBIAS
166              - MBIAS
167              - Headphone
168              - Headset Mic
169              - Line In
170              - Line Out
171              - Mic
172              - Speaker
173
174  - if:
175      properties:
176        compatible:
177          enum:
178            - allwinner,sun8i-a23-codec
179
180    then:
181      properties:
182        allwinner,audio-routing:
183          items:
184            enum:
185              - HP
186              - HPCOM
187              - LINEIN
188              - MIC1
189              - MIC2
190              - HBIAS
191              - MBIAS
192              - Headphone
193              - Headset Mic
194              - Line In
195              - Line Out
196              - Mic
197              - Speaker
198
199  - if:
200      properties:
201        compatible:
202          enum:
203            - allwinner,sun8i-h3-codec
204
205    then:
206      properties:
207        allwinner,audio-routing:
208          items:
209            enum:
210              - HP
211              - HPCOM
212              - LINEIN
213              - LINEOUT
214              - MIC1
215              - MIC2
216              - HBIAS
217              - MBIAS
218              - Headphone
219              - Headset Mic
220              - Line In
221              - Line Out
222              - Mic
223              - Speaker
224
225  - if:
226      properties:
227        compatible:
228          enum:
229            - allwinner,sun8i-v3s-codec
230
231    then:
232      properties:
233        allwinner,audio-routing:
234          items:
235            enum:
236              - HP
237              - HPCOM
238              - MIC1
239              - HBIAS
240              - Headphone
241              - Headset Mic
242              - Line In
243              - Line Out
244              - Mic
245              - Speaker
246
247  - if:
248      properties:
249        compatible:
250          enum:
251            - allwinner,sun50i-h616-codec
252
253    then:
254      properties:
255        allwinner,audio-routing:
256          items:
257            enum:
258              - Headphone
259              - LINEOUT
260              - Line Out
261              - Speaker
262
263        dmas:
264          items:
265            - description: TX DMA Channel
266
267        dma-names:
268          items:
269            - const: tx
270
271    else:
272      properties:
273        dmas:
274          items:
275            - description: RX DMA Channel
276            - description: TX DMA Channel
277
278        dma-names:
279          items:
280            - const: rx
281            - const: tx
282
283  - if:
284      properties:
285        compatible:
286          enum:
287            - allwinner,suniv-f1c100s-codec
288
289    then:
290      properties:
291        allwinner,audio-routing:
292          items:
293            enum:
294              - HP
295              - HPCOM
296              - LINEIN
297              - LINEOUT
298              - MIC
299              - HBIAS
300              - MBIAS
301              - Headphone
302              - Headset Mic
303              - Line In
304              - Line Out
305              - Right FM In
306              - Left FM In
307              - Mic
308              - Speaker
309
310unevaluatedProperties: false
311
312examples:
313  - |
314    codec@1c22c00 {
315        #sound-dai-cells = <0>;
316        compatible = "allwinner,sun7i-a20-codec";
317        reg = <0x01c22c00 0x40>;
318        interrupts = <0 30 4>;
319        clocks = <&apb0_gates 0>, <&codec_clk>;
320        clock-names = "apb", "codec";
321        dmas = <&dma 0 19>, <&dma 0 19>;
322        dma-names = "rx", "tx";
323    };
324
325  - |
326    codec@1c22c00 {
327        #sound-dai-cells = <0>;
328        compatible = "allwinner,sun6i-a31-codec";
329        reg = <0x01c22c00 0x98>;
330        interrupts = <0 29 4>;
331        clocks = <&ccu 61>, <&ccu 135>;
332        clock-names = "apb", "codec";
333        resets = <&ccu 42>;
334        dmas = <&dma 15>, <&dma 15>;
335        dma-names = "rx", "tx";
336        allwinner,audio-routing =
337            "Headphone", "HP",
338            "Speaker", "LINEOUT",
339            "LINEIN", "Line In",
340            "MIC1", "MBIAS",
341            "MIC1", "Mic",
342            "MIC2", "HBIAS",
343            "MIC2", "Headset Mic";
344    };
345
346...
~/ Read-only file preview.