xref: /linux/Documentation/devicetree/bindings/sound/allwinner,sun4i-a10-codec.yaml (revision 7ae9fb1b7ecbb5d85d07857943f677fd1a559b18)
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
252ad45059SMaxime Ripard
262ad45059SMaxime Ripard  reg:
272ad45059SMaxime Ripard    maxItems: 1
282ad45059SMaxime Ripard
292ad45059SMaxime Ripard  interrupts:
302ad45059SMaxime Ripard    maxItems: 1
312ad45059SMaxime Ripard
322ad45059SMaxime Ripard  clocks:
332ad45059SMaxime Ripard    items:
342ad45059SMaxime Ripard      - description: Bus Clock
352ad45059SMaxime Ripard      - description: Module Clock
362ad45059SMaxime Ripard
372ad45059SMaxime Ripard  clock-names:
382ad45059SMaxime Ripard    items:
392ad45059SMaxime Ripard      - const: apb
402ad45059SMaxime Ripard      - const: codec
412ad45059SMaxime Ripard
422ad45059SMaxime Ripard  dmas:
432ad45059SMaxime Ripard    items:
442ad45059SMaxime Ripard      - description: RX DMA Channel
452ad45059SMaxime Ripard      - description: TX DMA Channel
462ad45059SMaxime Ripard
472ad45059SMaxime Ripard  dma-names:
482ad45059SMaxime Ripard    items:
492ad45059SMaxime Ripard      - const: rx
502ad45059SMaxime Ripard      - const: tx
512ad45059SMaxime Ripard
522ad45059SMaxime Ripard  resets:
532ad45059SMaxime Ripard    maxItems: 1
542ad45059SMaxime Ripard
552ad45059SMaxime Ripard  allwinner,audio-routing:
562ad45059SMaxime Ripard    description: |-
572ad45059SMaxime Ripard      A list of the connections between audio components.  Each entry
582ad45059SMaxime Ripard      is a pair of strings, the first being the connection's sink, the
592ad45059SMaxime Ripard      second being the connection's source.
60d69c6dddSRob Herring    $ref: /schemas/types.yaml#/definitions/non-unique-string-array
613d21a460SRob Herring    minItems: 2
622ad45059SMaxime Ripard    maxItems: 18
632ad45059SMaxime Ripard    items:
642ad45059SMaxime Ripard      enum:
652ad45059SMaxime Ripard        # Audio Pins on the SoC
662ad45059SMaxime Ripard        - HP
672ad45059SMaxime Ripard        - HPCOM
682ad45059SMaxime Ripard        - LINEIN
692ad45059SMaxime Ripard        - LINEOUT
702ad45059SMaxime Ripard        - MIC1
712ad45059SMaxime Ripard        - MIC2
722ad45059SMaxime Ripard        - MIC3
732ad45059SMaxime Ripard
742ad45059SMaxime Ripard        # Microphone Biases from the SoC
752ad45059SMaxime Ripard        - HBIAS
762ad45059SMaxime Ripard        - MBIAS
772ad45059SMaxime Ripard
782ad45059SMaxime Ripard        # Board Connectors
792ad45059SMaxime Ripard        - Headphone
802ad45059SMaxime Ripard        - Headset Mic
812ad45059SMaxime Ripard        - Line In
822ad45059SMaxime Ripard        - Line Out
832ad45059SMaxime Ripard        - Mic
842ad45059SMaxime Ripard        - Speaker
852ad45059SMaxime Ripard
862ad45059SMaxime Ripard  allwinner,codec-analog-controls:
872ad45059SMaxime Ripard    $ref: /schemas/types.yaml#/definitions/phandle
882ad45059SMaxime Ripard    description: Phandle to the codec analog controls in the PRCM
892ad45059SMaxime Ripard
902ad45059SMaxime Ripard  allwinner,pa-gpios:
910499220dSRob Herring    maxItems: 1
922ad45059SMaxime Ripard    description: GPIO to enable the external amplifier
932ad45059SMaxime Ripard
942ad45059SMaxime Ripardrequired:
952ad45059SMaxime Ripard  - "#sound-dai-cells"
962ad45059SMaxime Ripard  - compatible
972ad45059SMaxime Ripard  - reg
982ad45059SMaxime Ripard  - interrupts
992ad45059SMaxime Ripard  - clocks
1002ad45059SMaxime Ripard  - clock-names
1012ad45059SMaxime Ripard  - dmas
1022ad45059SMaxime Ripard  - dma-names
1032ad45059SMaxime Ripard
1042ad45059SMaxime RipardallOf:
105*58ae9a2aSKrzysztof Kozlowski  - $ref: dai-common.yaml#
1062ad45059SMaxime Ripard  - if:
1072ad45059SMaxime Ripard      properties:
1082ad45059SMaxime Ripard        compatible:
1092ad45059SMaxime Ripard          enum:
1102ad45059SMaxime Ripard            - allwinner,sun6i-a31-codec
1112ad45059SMaxime Ripard            - allwinner,sun8i-a23-codec
1122ad45059SMaxime Ripard            - allwinner,sun8i-h3-codec
1132ad45059SMaxime Ripard            - allwinner,sun8i-v3s-codec
1142ad45059SMaxime Ripard
1152ad45059SMaxime Ripard    then:
1162ad45059SMaxime Ripard      if:
1172ad45059SMaxime Ripard        properties:
1182ad45059SMaxime Ripard          compatible:
1192ad45059SMaxime Ripard            const: allwinner,sun6i-a31-codec
1202ad45059SMaxime Ripard
1212ad45059SMaxime Ripard      then:
1222ad45059SMaxime Ripard        required:
1232ad45059SMaxime Ripard          - resets
1242ad45059SMaxime Ripard          - allwinner,audio-routing
1252ad45059SMaxime Ripard
1262ad45059SMaxime Ripard      else:
1272ad45059SMaxime Ripard        required:
1282ad45059SMaxime Ripard          - resets
1292ad45059SMaxime Ripard          - allwinner,audio-routing
1302ad45059SMaxime Ripard          - allwinner,codec-analog-controls
1312ad45059SMaxime Ripard
1322ad45059SMaxime Ripard  - if:
1332ad45059SMaxime Ripard      properties:
1342ad45059SMaxime Ripard        compatible:
1352ad45059SMaxime Ripard          enum:
1362ad45059SMaxime Ripard            - allwinner,sun6i-a31-codec
1372ad45059SMaxime Ripard
1382ad45059SMaxime Ripard    then:
1392ad45059SMaxime Ripard      properties:
1402ad45059SMaxime Ripard        allwinner,audio-routing:
1412ad45059SMaxime Ripard          items:
1422ad45059SMaxime Ripard            enum:
1432ad45059SMaxime Ripard              - HP
1442ad45059SMaxime Ripard              - HPCOM
1452ad45059SMaxime Ripard              - LINEIN
1462ad45059SMaxime Ripard              - LINEOUT
1472ad45059SMaxime Ripard              - MIC1
1482ad45059SMaxime Ripard              - MIC2
1492ad45059SMaxime Ripard              - MIC3
1502ad45059SMaxime Ripard              - HBIAS
1512ad45059SMaxime Ripard              - MBIAS
1522ad45059SMaxime Ripard              - Headphone
1532ad45059SMaxime Ripard              - Headset Mic
1542ad45059SMaxime Ripard              - Line In
1552ad45059SMaxime Ripard              - Line Out
1562ad45059SMaxime Ripard              - Mic
1572ad45059SMaxime Ripard              - Speaker
1582ad45059SMaxime Ripard
1592ad45059SMaxime Ripard  - if:
1602ad45059SMaxime Ripard      properties:
1612ad45059SMaxime Ripard        compatible:
1622ad45059SMaxime Ripard          enum:
1632ad45059SMaxime Ripard            - allwinner,sun8i-a23-codec
1642ad45059SMaxime Ripard
1652ad45059SMaxime Ripard    then:
1662ad45059SMaxime Ripard      properties:
1672ad45059SMaxime Ripard        allwinner,audio-routing:
1682ad45059SMaxime Ripard          items:
1692ad45059SMaxime Ripard            enum:
1702ad45059SMaxime Ripard              - HP
1712ad45059SMaxime Ripard              - HPCOM
1722ad45059SMaxime Ripard              - LINEIN
1732ad45059SMaxime Ripard              - MIC1
1742ad45059SMaxime Ripard              - MIC2
1752ad45059SMaxime Ripard              - HBIAS
1762ad45059SMaxime Ripard              - MBIAS
1772ad45059SMaxime Ripard              - Headphone
1782ad45059SMaxime Ripard              - Headset Mic
1792ad45059SMaxime Ripard              - Line In
1802ad45059SMaxime Ripard              - Line Out
1812ad45059SMaxime Ripard              - Mic
1822ad45059SMaxime Ripard              - Speaker
1832ad45059SMaxime Ripard
1842ad45059SMaxime Ripard  - if:
1852ad45059SMaxime Ripard      properties:
1862ad45059SMaxime Ripard        compatible:
1872ad45059SMaxime Ripard          enum:
1882ad45059SMaxime Ripard            - allwinner,sun8i-h3-codec
1892ad45059SMaxime Ripard
1902ad45059SMaxime Ripard    then:
1912ad45059SMaxime Ripard      properties:
1922ad45059SMaxime Ripard        allwinner,audio-routing:
1932ad45059SMaxime Ripard          items:
1942ad45059SMaxime Ripard            enum:
1952ad45059SMaxime Ripard              - HP
1962ad45059SMaxime Ripard              - HPCOM
1972ad45059SMaxime Ripard              - LINEIN
1982ad45059SMaxime Ripard              - LINEOUT
1992ad45059SMaxime Ripard              - MIC1
2002ad45059SMaxime Ripard              - MIC2
2012ad45059SMaxime Ripard              - HBIAS
2022ad45059SMaxime Ripard              - MBIAS
2032ad45059SMaxime Ripard              - Headphone
2042ad45059SMaxime Ripard              - Headset Mic
2052ad45059SMaxime Ripard              - Line In
2062ad45059SMaxime Ripard              - Line Out
2072ad45059SMaxime Ripard              - Mic
2082ad45059SMaxime Ripard              - Speaker
2092ad45059SMaxime Ripard
2102ad45059SMaxime Ripard  - if:
2112ad45059SMaxime Ripard      properties:
2122ad45059SMaxime Ripard        compatible:
2132ad45059SMaxime Ripard          enum:
2142ad45059SMaxime Ripard            - allwinner,sun8i-v3s-codec
2152ad45059SMaxime Ripard
2162ad45059SMaxime Ripard    then:
2172ad45059SMaxime Ripard      properties:
2182ad45059SMaxime Ripard        allwinner,audio-routing:
2192ad45059SMaxime Ripard          items:
2202ad45059SMaxime Ripard            enum:
2212ad45059SMaxime Ripard              - HP
2222ad45059SMaxime Ripard              - HPCOM
2232ad45059SMaxime Ripard              - MIC1
2242ad45059SMaxime Ripard              - HBIAS
2252ad45059SMaxime Ripard              - Headphone
2262ad45059SMaxime Ripard              - Headset Mic
2272ad45059SMaxime Ripard              - Line In
2282ad45059SMaxime Ripard              - Line Out
2292ad45059SMaxime Ripard              - Mic
2302ad45059SMaxime Ripard              - Speaker
2312ad45059SMaxime Ripard
232*58ae9a2aSKrzysztof KozlowskiunevaluatedProperties: false
2332ad45059SMaxime Ripard
2342ad45059SMaxime Ripardexamples:
2352ad45059SMaxime Ripard  - |
2362ad45059SMaxime Ripard    codec@1c22c00 {
2372ad45059SMaxime Ripard        #sound-dai-cells = <0>;
2382ad45059SMaxime Ripard        compatible = "allwinner,sun7i-a20-codec";
2392ad45059SMaxime Ripard        reg = <0x01c22c00 0x40>;
2402ad45059SMaxime Ripard        interrupts = <0 30 4>;
2412ad45059SMaxime Ripard        clocks = <&apb0_gates 0>, <&codec_clk>;
2422ad45059SMaxime Ripard        clock-names = "apb", "codec";
2432ad45059SMaxime Ripard        dmas = <&dma 0 19>, <&dma 0 19>;
2442ad45059SMaxime Ripard        dma-names = "rx", "tx";
2452ad45059SMaxime Ripard    };
2462ad45059SMaxime Ripard
2472ad45059SMaxime Ripard  - |
2482ad45059SMaxime Ripard    codec@1c22c00 {
2492ad45059SMaxime Ripard        #sound-dai-cells = <0>;
2502ad45059SMaxime Ripard        compatible = "allwinner,sun6i-a31-codec";
2512ad45059SMaxime Ripard        reg = <0x01c22c00 0x98>;
2522ad45059SMaxime Ripard        interrupts = <0 29 4>;
2532ad45059SMaxime Ripard        clocks = <&ccu 61>, <&ccu 135>;
2542ad45059SMaxime Ripard        clock-names = "apb", "codec";
2552ad45059SMaxime Ripard        resets = <&ccu 42>;
2562ad45059SMaxime Ripard        dmas = <&dma 15>, <&dma 15>;
2572ad45059SMaxime Ripard        dma-names = "rx", "tx";
2582ad45059SMaxime Ripard        allwinner,audio-routing =
2592ad45059SMaxime Ripard            "Headphone", "HP",
2602ad45059SMaxime Ripard            "Speaker", "LINEOUT",
2612ad45059SMaxime Ripard            "LINEIN", "Line In",
2622ad45059SMaxime Ripard            "MIC1", "MBIAS",
2632ad45059SMaxime Ripard            "MIC1", "Mic",
2642ad45059SMaxime Ripard            "MIC2", "HBIAS",
2652ad45059SMaxime Ripard            "MIC2", "Headset Mic";
2662ad45059SMaxime Ripard    };
2672ad45059SMaxime Ripard
2682ad45059SMaxime Ripard...
269