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