18c2ecf20Sopenharmony_ci# SPDX-License-Identifier: GPL-2.0 28c2ecf20Sopenharmony_ci%YAML 1.2 38c2ecf20Sopenharmony_ci--- 48c2ecf20Sopenharmony_ci$id: http://devicetree.org/schemas/sound/allwinner,sun4i-a10-codec.yaml# 58c2ecf20Sopenharmony_ci$schema: http://devicetree.org/meta-schemas/core.yaml# 68c2ecf20Sopenharmony_ci 78c2ecf20Sopenharmony_cititle: Allwinner A10 Codec Device Tree Bindings 88c2ecf20Sopenharmony_ci 98c2ecf20Sopenharmony_cimaintainers: 108c2ecf20Sopenharmony_ci - Chen-Yu Tsai <wens@csie.org> 118c2ecf20Sopenharmony_ci - Maxime Ripard <mripard@kernel.org> 128c2ecf20Sopenharmony_ci 138c2ecf20Sopenharmony_ciproperties: 148c2ecf20Sopenharmony_ci "#sound-dai-cells": 158c2ecf20Sopenharmony_ci const: 0 168c2ecf20Sopenharmony_ci 178c2ecf20Sopenharmony_ci compatible: 188c2ecf20Sopenharmony_ci enum: 198c2ecf20Sopenharmony_ci - allwinner,sun4i-a10-codec 208c2ecf20Sopenharmony_ci - allwinner,sun6i-a31-codec 218c2ecf20Sopenharmony_ci - allwinner,sun7i-a20-codec 228c2ecf20Sopenharmony_ci - allwinner,sun8i-a23-codec 238c2ecf20Sopenharmony_ci - allwinner,sun8i-h3-codec 248c2ecf20Sopenharmony_ci - allwinner,sun8i-v3s-codec 258c2ecf20Sopenharmony_ci 268c2ecf20Sopenharmony_ci reg: 278c2ecf20Sopenharmony_ci maxItems: 1 288c2ecf20Sopenharmony_ci 298c2ecf20Sopenharmony_ci interrupts: 308c2ecf20Sopenharmony_ci maxItems: 1 318c2ecf20Sopenharmony_ci 328c2ecf20Sopenharmony_ci clocks: 338c2ecf20Sopenharmony_ci items: 348c2ecf20Sopenharmony_ci - description: Bus Clock 358c2ecf20Sopenharmony_ci - description: Module Clock 368c2ecf20Sopenharmony_ci 378c2ecf20Sopenharmony_ci clock-names: 388c2ecf20Sopenharmony_ci items: 398c2ecf20Sopenharmony_ci - const: apb 408c2ecf20Sopenharmony_ci - const: codec 418c2ecf20Sopenharmony_ci 428c2ecf20Sopenharmony_ci dmas: 438c2ecf20Sopenharmony_ci items: 448c2ecf20Sopenharmony_ci - description: RX DMA Channel 458c2ecf20Sopenharmony_ci - description: TX DMA Channel 468c2ecf20Sopenharmony_ci 478c2ecf20Sopenharmony_ci dma-names: 488c2ecf20Sopenharmony_ci items: 498c2ecf20Sopenharmony_ci - const: rx 508c2ecf20Sopenharmony_ci - const: tx 518c2ecf20Sopenharmony_ci 528c2ecf20Sopenharmony_ci resets: 538c2ecf20Sopenharmony_ci maxItems: 1 548c2ecf20Sopenharmony_ci 558c2ecf20Sopenharmony_ci allwinner,audio-routing: 568c2ecf20Sopenharmony_ci description: |- 578c2ecf20Sopenharmony_ci A list of the connections between audio components. Each entry 588c2ecf20Sopenharmony_ci is a pair of strings, the first being the connection's sink, the 598c2ecf20Sopenharmony_ci second being the connection's source. 608c2ecf20Sopenharmony_ci $ref: /schemas/types.yaml#definitions/non-unique-string-array 618c2ecf20Sopenharmony_ci minItems: 2 628c2ecf20Sopenharmony_ci maxItems: 18 638c2ecf20Sopenharmony_ci items: 648c2ecf20Sopenharmony_ci enum: 658c2ecf20Sopenharmony_ci # Audio Pins on the SoC 668c2ecf20Sopenharmony_ci - HP 678c2ecf20Sopenharmony_ci - HPCOM 688c2ecf20Sopenharmony_ci - LINEIN 698c2ecf20Sopenharmony_ci - LINEOUT 708c2ecf20Sopenharmony_ci - MIC1 718c2ecf20Sopenharmony_ci - MIC2 728c2ecf20Sopenharmony_ci - MIC3 738c2ecf20Sopenharmony_ci 748c2ecf20Sopenharmony_ci # Microphone Biases from the SoC 758c2ecf20Sopenharmony_ci - HBIAS 768c2ecf20Sopenharmony_ci - MBIAS 778c2ecf20Sopenharmony_ci 788c2ecf20Sopenharmony_ci # Board Connectors 798c2ecf20Sopenharmony_ci - Headphone 808c2ecf20Sopenharmony_ci - Headset Mic 818c2ecf20Sopenharmony_ci - Line In 828c2ecf20Sopenharmony_ci - Line Out 838c2ecf20Sopenharmony_ci - Mic 848c2ecf20Sopenharmony_ci - Speaker 858c2ecf20Sopenharmony_ci 868c2ecf20Sopenharmony_ci allwinner,codec-analog-controls: 878c2ecf20Sopenharmony_ci $ref: /schemas/types.yaml#/definitions/phandle 888c2ecf20Sopenharmony_ci description: Phandle to the codec analog controls in the PRCM 898c2ecf20Sopenharmony_ci 908c2ecf20Sopenharmony_ci allwinner,pa-gpios: 918c2ecf20Sopenharmony_ci description: GPIO to enable the external amplifier 928c2ecf20Sopenharmony_ci 938c2ecf20Sopenharmony_cirequired: 948c2ecf20Sopenharmony_ci - "#sound-dai-cells" 958c2ecf20Sopenharmony_ci - compatible 968c2ecf20Sopenharmony_ci - reg 978c2ecf20Sopenharmony_ci - interrupts 988c2ecf20Sopenharmony_ci - clocks 998c2ecf20Sopenharmony_ci - clock-names 1008c2ecf20Sopenharmony_ci - dmas 1018c2ecf20Sopenharmony_ci - dma-names 1028c2ecf20Sopenharmony_ci 1038c2ecf20Sopenharmony_ciallOf: 1048c2ecf20Sopenharmony_ci - if: 1058c2ecf20Sopenharmony_ci properties: 1068c2ecf20Sopenharmony_ci compatible: 1078c2ecf20Sopenharmony_ci enum: 1088c2ecf20Sopenharmony_ci - allwinner,sun6i-a31-codec 1098c2ecf20Sopenharmony_ci - allwinner,sun8i-a23-codec 1108c2ecf20Sopenharmony_ci - allwinner,sun8i-h3-codec 1118c2ecf20Sopenharmony_ci - allwinner,sun8i-v3s-codec 1128c2ecf20Sopenharmony_ci 1138c2ecf20Sopenharmony_ci then: 1148c2ecf20Sopenharmony_ci if: 1158c2ecf20Sopenharmony_ci properties: 1168c2ecf20Sopenharmony_ci compatible: 1178c2ecf20Sopenharmony_ci const: allwinner,sun6i-a31-codec 1188c2ecf20Sopenharmony_ci 1198c2ecf20Sopenharmony_ci then: 1208c2ecf20Sopenharmony_ci required: 1218c2ecf20Sopenharmony_ci - resets 1228c2ecf20Sopenharmony_ci - allwinner,audio-routing 1238c2ecf20Sopenharmony_ci 1248c2ecf20Sopenharmony_ci else: 1258c2ecf20Sopenharmony_ci required: 1268c2ecf20Sopenharmony_ci - resets 1278c2ecf20Sopenharmony_ci - allwinner,audio-routing 1288c2ecf20Sopenharmony_ci - allwinner,codec-analog-controls 1298c2ecf20Sopenharmony_ci 1308c2ecf20Sopenharmony_ci - if: 1318c2ecf20Sopenharmony_ci properties: 1328c2ecf20Sopenharmony_ci compatible: 1338c2ecf20Sopenharmony_ci enum: 1348c2ecf20Sopenharmony_ci - allwinner,sun6i-a31-codec 1358c2ecf20Sopenharmony_ci 1368c2ecf20Sopenharmony_ci then: 1378c2ecf20Sopenharmony_ci properties: 1388c2ecf20Sopenharmony_ci allwinner,audio-routing: 1398c2ecf20Sopenharmony_ci items: 1408c2ecf20Sopenharmony_ci enum: 1418c2ecf20Sopenharmony_ci - HP 1428c2ecf20Sopenharmony_ci - HPCOM 1438c2ecf20Sopenharmony_ci - LINEIN 1448c2ecf20Sopenharmony_ci - LINEOUT 1458c2ecf20Sopenharmony_ci - MIC1 1468c2ecf20Sopenharmony_ci - MIC2 1478c2ecf20Sopenharmony_ci - MIC3 1488c2ecf20Sopenharmony_ci - HBIAS 1498c2ecf20Sopenharmony_ci - MBIAS 1508c2ecf20Sopenharmony_ci - Headphone 1518c2ecf20Sopenharmony_ci - Headset Mic 1528c2ecf20Sopenharmony_ci - Line In 1538c2ecf20Sopenharmony_ci - Line Out 1548c2ecf20Sopenharmony_ci - Mic 1558c2ecf20Sopenharmony_ci - Speaker 1568c2ecf20Sopenharmony_ci 1578c2ecf20Sopenharmony_ci - if: 1588c2ecf20Sopenharmony_ci properties: 1598c2ecf20Sopenharmony_ci compatible: 1608c2ecf20Sopenharmony_ci enum: 1618c2ecf20Sopenharmony_ci - allwinner,sun8i-a23-codec 1628c2ecf20Sopenharmony_ci 1638c2ecf20Sopenharmony_ci then: 1648c2ecf20Sopenharmony_ci properties: 1658c2ecf20Sopenharmony_ci allwinner,audio-routing: 1668c2ecf20Sopenharmony_ci items: 1678c2ecf20Sopenharmony_ci enum: 1688c2ecf20Sopenharmony_ci - HP 1698c2ecf20Sopenharmony_ci - HPCOM 1708c2ecf20Sopenharmony_ci - LINEIN 1718c2ecf20Sopenharmony_ci - MIC1 1728c2ecf20Sopenharmony_ci - MIC2 1738c2ecf20Sopenharmony_ci - HBIAS 1748c2ecf20Sopenharmony_ci - MBIAS 1758c2ecf20Sopenharmony_ci - Headphone 1768c2ecf20Sopenharmony_ci - Headset Mic 1778c2ecf20Sopenharmony_ci - Line In 1788c2ecf20Sopenharmony_ci - Line Out 1798c2ecf20Sopenharmony_ci - Mic 1808c2ecf20Sopenharmony_ci - Speaker 1818c2ecf20Sopenharmony_ci 1828c2ecf20Sopenharmony_ci - if: 1838c2ecf20Sopenharmony_ci properties: 1848c2ecf20Sopenharmony_ci compatible: 1858c2ecf20Sopenharmony_ci enum: 1868c2ecf20Sopenharmony_ci - allwinner,sun8i-h3-codec 1878c2ecf20Sopenharmony_ci 1888c2ecf20Sopenharmony_ci then: 1898c2ecf20Sopenharmony_ci properties: 1908c2ecf20Sopenharmony_ci allwinner,audio-routing: 1918c2ecf20Sopenharmony_ci items: 1928c2ecf20Sopenharmony_ci enum: 1938c2ecf20Sopenharmony_ci - HP 1948c2ecf20Sopenharmony_ci - HPCOM 1958c2ecf20Sopenharmony_ci - LINEIN 1968c2ecf20Sopenharmony_ci - LINEOUT 1978c2ecf20Sopenharmony_ci - MIC1 1988c2ecf20Sopenharmony_ci - MIC2 1998c2ecf20Sopenharmony_ci - HBIAS 2008c2ecf20Sopenharmony_ci - MBIAS 2018c2ecf20Sopenharmony_ci - Headphone 2028c2ecf20Sopenharmony_ci - Headset Mic 2038c2ecf20Sopenharmony_ci - Line In 2048c2ecf20Sopenharmony_ci - Line Out 2058c2ecf20Sopenharmony_ci - Mic 2068c2ecf20Sopenharmony_ci - Speaker 2078c2ecf20Sopenharmony_ci 2088c2ecf20Sopenharmony_ci - if: 2098c2ecf20Sopenharmony_ci properties: 2108c2ecf20Sopenharmony_ci compatible: 2118c2ecf20Sopenharmony_ci enum: 2128c2ecf20Sopenharmony_ci - allwinner,sun8i-v3s-codec 2138c2ecf20Sopenharmony_ci 2148c2ecf20Sopenharmony_ci then: 2158c2ecf20Sopenharmony_ci properties: 2168c2ecf20Sopenharmony_ci allwinner,audio-routing: 2178c2ecf20Sopenharmony_ci items: 2188c2ecf20Sopenharmony_ci enum: 2198c2ecf20Sopenharmony_ci - HP 2208c2ecf20Sopenharmony_ci - HPCOM 2218c2ecf20Sopenharmony_ci - MIC1 2228c2ecf20Sopenharmony_ci - HBIAS 2238c2ecf20Sopenharmony_ci - Headphone 2248c2ecf20Sopenharmony_ci - Headset Mic 2258c2ecf20Sopenharmony_ci - Line In 2268c2ecf20Sopenharmony_ci - Line Out 2278c2ecf20Sopenharmony_ci - Mic 2288c2ecf20Sopenharmony_ci - Speaker 2298c2ecf20Sopenharmony_ci 2308c2ecf20Sopenharmony_ciadditionalProperties: false 2318c2ecf20Sopenharmony_ci 2328c2ecf20Sopenharmony_ciexamples: 2338c2ecf20Sopenharmony_ci - | 2348c2ecf20Sopenharmony_ci codec@1c22c00 { 2358c2ecf20Sopenharmony_ci #sound-dai-cells = <0>; 2368c2ecf20Sopenharmony_ci compatible = "allwinner,sun7i-a20-codec"; 2378c2ecf20Sopenharmony_ci reg = <0x01c22c00 0x40>; 2388c2ecf20Sopenharmony_ci interrupts = <0 30 4>; 2398c2ecf20Sopenharmony_ci clocks = <&apb0_gates 0>, <&codec_clk>; 2408c2ecf20Sopenharmony_ci clock-names = "apb", "codec"; 2418c2ecf20Sopenharmony_ci dmas = <&dma 0 19>, <&dma 0 19>; 2428c2ecf20Sopenharmony_ci dma-names = "rx", "tx"; 2438c2ecf20Sopenharmony_ci }; 2448c2ecf20Sopenharmony_ci 2458c2ecf20Sopenharmony_ci - | 2468c2ecf20Sopenharmony_ci codec@1c22c00 { 2478c2ecf20Sopenharmony_ci #sound-dai-cells = <0>; 2488c2ecf20Sopenharmony_ci compatible = "allwinner,sun6i-a31-codec"; 2498c2ecf20Sopenharmony_ci reg = <0x01c22c00 0x98>; 2508c2ecf20Sopenharmony_ci interrupts = <0 29 4>; 2518c2ecf20Sopenharmony_ci clocks = <&ccu 61>, <&ccu 135>; 2528c2ecf20Sopenharmony_ci clock-names = "apb", "codec"; 2538c2ecf20Sopenharmony_ci resets = <&ccu 42>; 2548c2ecf20Sopenharmony_ci dmas = <&dma 15>, <&dma 15>; 2558c2ecf20Sopenharmony_ci dma-names = "rx", "tx"; 2568c2ecf20Sopenharmony_ci allwinner,audio-routing = 2578c2ecf20Sopenharmony_ci "Headphone", "HP", 2588c2ecf20Sopenharmony_ci "Speaker", "LINEOUT", 2598c2ecf20Sopenharmony_ci "LINEIN", "Line In", 2608c2ecf20Sopenharmony_ci "MIC1", "MBIAS", 2618c2ecf20Sopenharmony_ci "MIC1", "Mic", 2628c2ecf20Sopenharmony_ci "MIC2", "HBIAS", 2638c2ecf20Sopenharmony_ci "MIC2", "Headset Mic"; 2648c2ecf20Sopenharmony_ci }; 2658c2ecf20Sopenharmony_ci 2668c2ecf20Sopenharmony_ci... 267