xref: /linux/Documentation/devicetree/bindings/sound/allwinner,sun4i-a10-codec.yaml (revision 1260ed77798502de9c98020040d2995008de10cc)
12ad45059SMaxime Ripard# SPDX-License-Identifier: GPL-2.0
22ad45059SMaxime Ripard%YAML 1.2
32ad45059SMaxime Ripard---
42ad45059SMaxime Ripard$id: http://devicetree.org/schemas/sound/allwinner,sun4i-a10-codec.yaml#
52ad45059SMaxime Ripard$schema: http://devicetree.org/meta-schemas/core.yaml#
62ad45059SMaxime Ripard
7dd3cb467SAndrew Lunntitle: Allwinner A10 Codec
82ad45059SMaxime Ripard
92ad45059SMaxime Ripardmaintainers:
102ad45059SMaxime Ripard  - Chen-Yu Tsai <wens@csie.org>
115c7404bbSMaxime Ripard  - Maxime Ripard <mripard@kernel.org>
122ad45059SMaxime Ripard
132ad45059SMaxime Ripardproperties:
142ad45059SMaxime Ripard  "#sound-dai-cells":
152ad45059SMaxime Ripard    const: 0
162ad45059SMaxime Ripard
172ad45059SMaxime Ripard  compatible:
182ad45059SMaxime Ripard    enum:
192ad45059SMaxime Ripard      - allwinner,sun4i-a10-codec
202ad45059SMaxime Ripard      - allwinner,sun6i-a31-codec
212ad45059SMaxime Ripard      - allwinner,sun7i-a20-codec
222ad45059SMaxime Ripard      - allwinner,sun8i-a23-codec
232ad45059SMaxime Ripard      - allwinner,sun8i-h3-codec
242ad45059SMaxime Ripard      - allwinner,sun8i-v3s-codec
25542e19c2SRyan Walklin      - allwinner,sun50i-h616-codec
26bb2cc301SCsókás Bence      - allwinner,suniv-f1c100s-codec
272ad45059SMaxime Ripard
282ad45059SMaxime Ripard  reg:
292ad45059SMaxime Ripard    maxItems: 1
302ad45059SMaxime Ripard
312ad45059SMaxime Ripard  interrupts:
322ad45059SMaxime Ripard    maxItems: 1
332ad45059SMaxime Ripard
342ad45059SMaxime Ripard  clocks:
352ad45059SMaxime Ripard    items:
362ad45059SMaxime Ripard      - description: Bus Clock
372ad45059SMaxime Ripard      - description: Module Clock
382ad45059SMaxime Ripard
392ad45059SMaxime Ripard  clock-names:
402ad45059SMaxime Ripard    items:
412ad45059SMaxime Ripard      - const: apb
422ad45059SMaxime Ripard      - const: codec
432ad45059SMaxime Ripard
442ad45059SMaxime Ripard  dmas:
45542e19c2SRyan Walklin    oneOf:
46542e19c2SRyan Walklin      - items:
472ad45059SMaxime Ripard          - description: RX DMA Channel
482ad45059SMaxime Ripard          - description: TX DMA Channel
49542e19c2SRyan Walklin      - items:
50542e19c2SRyan Walklin          - description: TX DMA Channel
512ad45059SMaxime Ripard
522ad45059SMaxime Ripard  dma-names:
53542e19c2SRyan Walklin    oneOf:
54542e19c2SRyan Walklin      - items:
552ad45059SMaxime Ripard          - const: rx
562ad45059SMaxime Ripard          - const: tx
57542e19c2SRyan Walklin      - items:
58542e19c2SRyan Walklin          - const: tx
592ad45059SMaxime Ripard
602ad45059SMaxime Ripard  resets:
612ad45059SMaxime Ripard    maxItems: 1
622ad45059SMaxime Ripard
632ad45059SMaxime Ripard  allwinner,audio-routing:
642ad45059SMaxime Ripard    description: |-
652ad45059SMaxime Ripard      A list of the connections between audio components.  Each entry
662ad45059SMaxime Ripard      is a pair of strings, the first being the connection's sink, the
672ad45059SMaxime Ripard      second being the connection's source.
68d69c6dddSRob Herring    $ref: /schemas/types.yaml#/definitions/non-unique-string-array
693d21a460SRob Herring    minItems: 2
702ad45059SMaxime Ripard    maxItems: 18
712ad45059SMaxime Ripard    items:
722ad45059SMaxime Ripard      enum:
732ad45059SMaxime Ripard        # Audio Pins on the SoC
742ad45059SMaxime Ripard        - HP
752ad45059SMaxime Ripard        - HPCOM
762ad45059SMaxime Ripard        - LINEIN
772ad45059SMaxime Ripard        - LINEOUT
782ad45059SMaxime Ripard        - MIC1
792ad45059SMaxime Ripard        - MIC2
802ad45059SMaxime Ripard        - MIC3
81bb2cc301SCsókás Bence        - MIC
822ad45059SMaxime Ripard
832ad45059SMaxime Ripard        # Microphone Biases from the SoC
842ad45059SMaxime Ripard        - HBIAS
852ad45059SMaxime Ripard        - MBIAS
862ad45059SMaxime Ripard
872ad45059SMaxime Ripard        # Board Connectors
882ad45059SMaxime Ripard        - Headphone
892ad45059SMaxime Ripard        - Headset Mic
902ad45059SMaxime Ripard        - Line In
912ad45059SMaxime Ripard        - Line Out
92bb2cc301SCsókás Bence        - Right FM In
93bb2cc301SCsókás Bence        - Left FM In
942ad45059SMaxime Ripard        - Mic
952ad45059SMaxime Ripard        - Speaker
962ad45059SMaxime Ripard
972ad45059SMaxime Ripard  allwinner,codec-analog-controls:
982ad45059SMaxime Ripard    $ref: /schemas/types.yaml#/definitions/phandle
992ad45059SMaxime Ripard    description: Phandle to the codec analog controls in the PRCM
1002ad45059SMaxime Ripard
1012ad45059SMaxime Ripard  allwinner,pa-gpios:
1020499220dSRob Herring    maxItems: 1
1032ad45059SMaxime Ripard    description: GPIO to enable the external amplifier
1042ad45059SMaxime Ripard
105*7bda89a2SChris Morgan  hp-det-gpios:
106*7bda89a2SChris Morgan    maxItems: 1
107*7bda89a2SChris Morgan    description: GPIO for headphone/line-out detection
108*7bda89a2SChris Morgan
1092ad45059SMaxime Ripardrequired:
1102ad45059SMaxime Ripard  - "#sound-dai-cells"
1112ad45059SMaxime Ripard  - compatible
1122ad45059SMaxime Ripard  - reg
1132ad45059SMaxime Ripard  - interrupts
1142ad45059SMaxime Ripard  - clocks
1152ad45059SMaxime Ripard  - clock-names
1162ad45059SMaxime Ripard  - dmas
1172ad45059SMaxime Ripard  - dma-names
1182ad45059SMaxime Ripard
1192ad45059SMaxime RipardallOf:
12058ae9a2aSKrzysztof Kozlowski  - $ref: dai-common.yaml#
1212ad45059SMaxime Ripard  - if:
1222ad45059SMaxime Ripard      properties:
1232ad45059SMaxime Ripard        compatible:
1242ad45059SMaxime Ripard          enum:
1252ad45059SMaxime Ripard            - allwinner,sun6i-a31-codec
1262ad45059SMaxime Ripard            - allwinner,sun8i-a23-codec
1272ad45059SMaxime Ripard            - allwinner,sun8i-h3-codec
1282ad45059SMaxime Ripard            - allwinner,sun8i-v3s-codec
1292ad45059SMaxime Ripard
1302ad45059SMaxime Ripard    then:
1312ad45059SMaxime Ripard      if:
1322ad45059SMaxime Ripard        properties:
1332ad45059SMaxime Ripard          compatible:
1342ad45059SMaxime Ripard            const: allwinner,sun6i-a31-codec
1352ad45059SMaxime Ripard
1362ad45059SMaxime Ripard      then:
1372ad45059SMaxime Ripard        required:
1382ad45059SMaxime Ripard          - resets
1392ad45059SMaxime Ripard          - allwinner,audio-routing
1402ad45059SMaxime Ripard
1412ad45059SMaxime Ripard      else:
1422ad45059SMaxime Ripard        required:
1432ad45059SMaxime Ripard          - resets
1442ad45059SMaxime Ripard          - allwinner,audio-routing
1452ad45059SMaxime Ripard          - allwinner,codec-analog-controls
1462ad45059SMaxime Ripard
1472ad45059SMaxime Ripard  - if:
1482ad45059SMaxime Ripard      properties:
1492ad45059SMaxime Ripard        compatible:
1502ad45059SMaxime Ripard          enum:
1512ad45059SMaxime Ripard            - allwinner,sun6i-a31-codec
1522ad45059SMaxime Ripard
1532ad45059SMaxime Ripard    then:
1542ad45059SMaxime Ripard      properties:
1552ad45059SMaxime Ripard        allwinner,audio-routing:
1562ad45059SMaxime Ripard          items:
1572ad45059SMaxime Ripard            enum:
1582ad45059SMaxime Ripard              - HP
1592ad45059SMaxime Ripard              - HPCOM
1602ad45059SMaxime Ripard              - LINEIN
1612ad45059SMaxime Ripard              - LINEOUT
1622ad45059SMaxime Ripard              - MIC1
1632ad45059SMaxime Ripard              - MIC2
1642ad45059SMaxime Ripard              - MIC3
1652ad45059SMaxime Ripard              - HBIAS
1662ad45059SMaxime Ripard              - MBIAS
1672ad45059SMaxime Ripard              - Headphone
1682ad45059SMaxime Ripard              - Headset Mic
1692ad45059SMaxime Ripard              - Line In
1702ad45059SMaxime Ripard              - Line Out
1712ad45059SMaxime Ripard              - Mic
1722ad45059SMaxime Ripard              - Speaker
1732ad45059SMaxime Ripard
1742ad45059SMaxime Ripard  - if:
1752ad45059SMaxime Ripard      properties:
1762ad45059SMaxime Ripard        compatible:
1772ad45059SMaxime Ripard          enum:
1782ad45059SMaxime Ripard            - allwinner,sun8i-a23-codec
1792ad45059SMaxime Ripard
1802ad45059SMaxime Ripard    then:
1812ad45059SMaxime Ripard      properties:
1822ad45059SMaxime Ripard        allwinner,audio-routing:
1832ad45059SMaxime Ripard          items:
1842ad45059SMaxime Ripard            enum:
1852ad45059SMaxime Ripard              - HP
1862ad45059SMaxime Ripard              - HPCOM
1872ad45059SMaxime Ripard              - LINEIN
1882ad45059SMaxime Ripard              - MIC1
1892ad45059SMaxime Ripard              - MIC2
1902ad45059SMaxime Ripard              - HBIAS
1912ad45059SMaxime Ripard              - MBIAS
1922ad45059SMaxime Ripard              - Headphone
1932ad45059SMaxime Ripard              - Headset Mic
1942ad45059SMaxime Ripard              - Line In
1952ad45059SMaxime Ripard              - Line Out
1962ad45059SMaxime Ripard              - Mic
1972ad45059SMaxime Ripard              - Speaker
1982ad45059SMaxime Ripard
1992ad45059SMaxime Ripard  - if:
2002ad45059SMaxime Ripard      properties:
2012ad45059SMaxime Ripard        compatible:
2022ad45059SMaxime Ripard          enum:
2032ad45059SMaxime Ripard            - allwinner,sun8i-h3-codec
2042ad45059SMaxime Ripard
2052ad45059SMaxime Ripard    then:
2062ad45059SMaxime Ripard      properties:
2072ad45059SMaxime Ripard        allwinner,audio-routing:
2082ad45059SMaxime Ripard          items:
2092ad45059SMaxime Ripard            enum:
2102ad45059SMaxime Ripard              - HP
2112ad45059SMaxime Ripard              - HPCOM
2122ad45059SMaxime Ripard              - LINEIN
2132ad45059SMaxime Ripard              - LINEOUT
2142ad45059SMaxime Ripard              - MIC1
2152ad45059SMaxime Ripard              - MIC2
2162ad45059SMaxime Ripard              - HBIAS
2172ad45059SMaxime Ripard              - MBIAS
2182ad45059SMaxime Ripard              - Headphone
2192ad45059SMaxime Ripard              - Headset Mic
2202ad45059SMaxime Ripard              - Line In
2212ad45059SMaxime Ripard              - Line Out
2222ad45059SMaxime Ripard              - Mic
2232ad45059SMaxime Ripard              - Speaker
2242ad45059SMaxime Ripard
2252ad45059SMaxime Ripard  - if:
2262ad45059SMaxime Ripard      properties:
2272ad45059SMaxime Ripard        compatible:
2282ad45059SMaxime Ripard          enum:
2292ad45059SMaxime Ripard            - allwinner,sun8i-v3s-codec
2302ad45059SMaxime Ripard
2312ad45059SMaxime Ripard    then:
2322ad45059SMaxime Ripard      properties:
2332ad45059SMaxime Ripard        allwinner,audio-routing:
2342ad45059SMaxime Ripard          items:
2352ad45059SMaxime Ripard            enum:
2362ad45059SMaxime Ripard              - HP
2372ad45059SMaxime Ripard              - HPCOM
2382ad45059SMaxime Ripard              - MIC1
2392ad45059SMaxime Ripard              - HBIAS
2402ad45059SMaxime Ripard              - Headphone
2412ad45059SMaxime Ripard              - Headset Mic
2422ad45059SMaxime Ripard              - Line In
2432ad45059SMaxime Ripard              - Line Out
2442ad45059SMaxime Ripard              - Mic
2452ad45059SMaxime Ripard              - Speaker
2462ad45059SMaxime Ripard
247542e19c2SRyan Walklin  - if:
248542e19c2SRyan Walklin      properties:
249542e19c2SRyan Walklin        compatible:
250542e19c2SRyan Walklin          enum:
251542e19c2SRyan Walklin            - allwinner,sun50i-h616-codec
252542e19c2SRyan Walklin
253542e19c2SRyan Walklin    then:
254542e19c2SRyan Walklin      properties:
255542e19c2SRyan Walklin        allwinner,audio-routing:
256542e19c2SRyan Walklin          items:
257542e19c2SRyan Walklin            enum:
258*7bda89a2SChris Morgan              - Headphone
259542e19c2SRyan Walklin              - LINEOUT
260542e19c2SRyan Walklin              - Line Out
261*7bda89a2SChris Morgan              - Speaker
262542e19c2SRyan Walklin
263542e19c2SRyan Walklin        dmas:
264542e19c2SRyan Walklin          items:
265542e19c2SRyan Walklin            - description: TX DMA Channel
266542e19c2SRyan Walklin
267542e19c2SRyan Walklin        dma-names:
268542e19c2SRyan Walklin          items:
269542e19c2SRyan Walklin            - const: tx
270542e19c2SRyan Walklin
271542e19c2SRyan Walklin    else:
272542e19c2SRyan Walklin      properties:
273542e19c2SRyan Walklin        dmas:
274542e19c2SRyan Walklin          items:
275542e19c2SRyan Walklin            - description: RX DMA Channel
276542e19c2SRyan Walklin            - description: TX DMA Channel
277542e19c2SRyan Walklin
278542e19c2SRyan Walklin        dma-names:
279542e19c2SRyan Walklin          items:
280542e19c2SRyan Walklin            - const: rx
281542e19c2SRyan Walklin            - const: tx
282542e19c2SRyan Walklin
283bb2cc301SCsókás Bence  - if:
284bb2cc301SCsókás Bence      properties:
285bb2cc301SCsókás Bence        compatible:
286bb2cc301SCsókás Bence          enum:
287bb2cc301SCsókás Bence            - allwinner,suniv-f1c100s-codec
288bb2cc301SCsókás Bence
289bb2cc301SCsókás Bence    then:
290bb2cc301SCsókás Bence      properties:
291bb2cc301SCsókás Bence        allwinner,audio-routing:
292bb2cc301SCsókás Bence          items:
293bb2cc301SCsókás Bence            enum:
294bb2cc301SCsókás Bence              - HP
295bb2cc301SCsókás Bence              - HPCOM
296bb2cc301SCsókás Bence              - LINEIN
297bb2cc301SCsókás Bence              - LINEOUT
298bb2cc301SCsókás Bence              - MIC
299bb2cc301SCsókás Bence              - HBIAS
300bb2cc301SCsókás Bence              - MBIAS
301bb2cc301SCsókás Bence              - Headphone
302bb2cc301SCsókás Bence              - Headset Mic
303bb2cc301SCsókás Bence              - Line In
304bb2cc301SCsókás Bence              - Line Out
305bb2cc301SCsókás Bence              - Right FM In
306bb2cc301SCsókás Bence              - Left FM In
307bb2cc301SCsókás Bence              - Mic
308bb2cc301SCsókás Bence              - Speaker
309bb2cc301SCsókás Bence
31058ae9a2aSKrzysztof KozlowskiunevaluatedProperties: false
3112ad45059SMaxime Ripard
3122ad45059SMaxime Ripardexamples:
3132ad45059SMaxime Ripard  - |
3142ad45059SMaxime Ripard    codec@1c22c00 {
3152ad45059SMaxime Ripard        #sound-dai-cells = <0>;
3162ad45059SMaxime Ripard        compatible = "allwinner,sun7i-a20-codec";
3172ad45059SMaxime Ripard        reg = <0x01c22c00 0x40>;
3182ad45059SMaxime Ripard        interrupts = <0 30 4>;
3192ad45059SMaxime Ripard        clocks = <&apb0_gates 0>, <&codec_clk>;
3202ad45059SMaxime Ripard        clock-names = "apb", "codec";
3212ad45059SMaxime Ripard        dmas = <&dma 0 19>, <&dma 0 19>;
3222ad45059SMaxime Ripard        dma-names = "rx", "tx";
3232ad45059SMaxime Ripard    };
3242ad45059SMaxime Ripard
3252ad45059SMaxime Ripard  - |
3262ad45059SMaxime Ripard    codec@1c22c00 {
3272ad45059SMaxime Ripard        #sound-dai-cells = <0>;
3282ad45059SMaxime Ripard        compatible = "allwinner,sun6i-a31-codec";
3292ad45059SMaxime Ripard        reg = <0x01c22c00 0x98>;
3302ad45059SMaxime Ripard        interrupts = <0 29 4>;
3312ad45059SMaxime Ripard        clocks = <&ccu 61>, <&ccu 135>;
3322ad45059SMaxime Ripard        clock-names = "apb", "codec";
3332ad45059SMaxime Ripard        resets = <&ccu 42>;
3342ad45059SMaxime Ripard        dmas = <&dma 15>, <&dma 15>;
3352ad45059SMaxime Ripard        dma-names = "rx", "tx";
3362ad45059SMaxime Ripard        allwinner,audio-routing =
3372ad45059SMaxime Ripard            "Headphone", "HP",
3382ad45059SMaxime Ripard            "Speaker", "LINEOUT",
3392ad45059SMaxime Ripard            "LINEIN", "Line In",
3402ad45059SMaxime Ripard            "MIC1", "MBIAS",
3412ad45059SMaxime Ripard            "MIC1", "Mic",
3422ad45059SMaxime Ripard            "MIC2", "HBIAS",
3432ad45059SMaxime Ripard            "MIC2", "Headset Mic";
3442ad45059SMaxime Ripard    };
3452ad45059SMaxime Ripard
3462ad45059SMaxime Ripard...
347