1*4882a593Smuzhiyun# SPDX-License-Identifier: GPL-2.0 2*4882a593Smuzhiyun%YAML 1.2 3*4882a593Smuzhiyun--- 4*4882a593Smuzhiyun$id: http://devicetree.org/schemas/sound/allwinner,sun4i-a10-codec.yaml# 5*4882a593Smuzhiyun$schema: http://devicetree.org/meta-schemas/core.yaml# 6*4882a593Smuzhiyun 7*4882a593Smuzhiyuntitle: Allwinner A10 Codec Device Tree Bindings 8*4882a593Smuzhiyun 9*4882a593Smuzhiyunmaintainers: 10*4882a593Smuzhiyun - Chen-Yu Tsai <wens@csie.org> 11*4882a593Smuzhiyun - Maxime Ripard <mripard@kernel.org> 12*4882a593Smuzhiyun 13*4882a593Smuzhiyunproperties: 14*4882a593Smuzhiyun "#sound-dai-cells": 15*4882a593Smuzhiyun const: 0 16*4882a593Smuzhiyun 17*4882a593Smuzhiyun compatible: 18*4882a593Smuzhiyun enum: 19*4882a593Smuzhiyun - allwinner,sun4i-a10-codec 20*4882a593Smuzhiyun - allwinner,sun6i-a31-codec 21*4882a593Smuzhiyun - allwinner,sun7i-a20-codec 22*4882a593Smuzhiyun - allwinner,sun8i-a23-codec 23*4882a593Smuzhiyun - allwinner,sun8i-h3-codec 24*4882a593Smuzhiyun - allwinner,sun8i-v3s-codec 25*4882a593Smuzhiyun 26*4882a593Smuzhiyun reg: 27*4882a593Smuzhiyun maxItems: 1 28*4882a593Smuzhiyun 29*4882a593Smuzhiyun interrupts: 30*4882a593Smuzhiyun maxItems: 1 31*4882a593Smuzhiyun 32*4882a593Smuzhiyun clocks: 33*4882a593Smuzhiyun items: 34*4882a593Smuzhiyun - description: Bus Clock 35*4882a593Smuzhiyun - description: Module Clock 36*4882a593Smuzhiyun 37*4882a593Smuzhiyun clock-names: 38*4882a593Smuzhiyun items: 39*4882a593Smuzhiyun - const: apb 40*4882a593Smuzhiyun - const: codec 41*4882a593Smuzhiyun 42*4882a593Smuzhiyun dmas: 43*4882a593Smuzhiyun items: 44*4882a593Smuzhiyun - description: RX DMA Channel 45*4882a593Smuzhiyun - description: TX DMA Channel 46*4882a593Smuzhiyun 47*4882a593Smuzhiyun dma-names: 48*4882a593Smuzhiyun items: 49*4882a593Smuzhiyun - const: rx 50*4882a593Smuzhiyun - const: tx 51*4882a593Smuzhiyun 52*4882a593Smuzhiyun resets: 53*4882a593Smuzhiyun maxItems: 1 54*4882a593Smuzhiyun 55*4882a593Smuzhiyun allwinner,audio-routing: 56*4882a593Smuzhiyun description: |- 57*4882a593Smuzhiyun A list of the connections between audio components. Each entry 58*4882a593Smuzhiyun is a pair of strings, the first being the connection's sink, the 59*4882a593Smuzhiyun second being the connection's source. 60*4882a593Smuzhiyun $ref: /schemas/types.yaml#definitions/non-unique-string-array 61*4882a593Smuzhiyun minItems: 2 62*4882a593Smuzhiyun maxItems: 18 63*4882a593Smuzhiyun items: 64*4882a593Smuzhiyun enum: 65*4882a593Smuzhiyun # Audio Pins on the SoC 66*4882a593Smuzhiyun - HP 67*4882a593Smuzhiyun - HPCOM 68*4882a593Smuzhiyun - LINEIN 69*4882a593Smuzhiyun - LINEOUT 70*4882a593Smuzhiyun - MIC1 71*4882a593Smuzhiyun - MIC2 72*4882a593Smuzhiyun - MIC3 73*4882a593Smuzhiyun 74*4882a593Smuzhiyun # Microphone Biases from the SoC 75*4882a593Smuzhiyun - HBIAS 76*4882a593Smuzhiyun - MBIAS 77*4882a593Smuzhiyun 78*4882a593Smuzhiyun # Board Connectors 79*4882a593Smuzhiyun - Headphone 80*4882a593Smuzhiyun - Headset Mic 81*4882a593Smuzhiyun - Line In 82*4882a593Smuzhiyun - Line Out 83*4882a593Smuzhiyun - Mic 84*4882a593Smuzhiyun - Speaker 85*4882a593Smuzhiyun 86*4882a593Smuzhiyun allwinner,codec-analog-controls: 87*4882a593Smuzhiyun $ref: /schemas/types.yaml#/definitions/phandle 88*4882a593Smuzhiyun description: Phandle to the codec analog controls in the PRCM 89*4882a593Smuzhiyun 90*4882a593Smuzhiyun allwinner,pa-gpios: 91*4882a593Smuzhiyun description: GPIO to enable the external amplifier 92*4882a593Smuzhiyun 93*4882a593Smuzhiyunrequired: 94*4882a593Smuzhiyun - "#sound-dai-cells" 95*4882a593Smuzhiyun - compatible 96*4882a593Smuzhiyun - reg 97*4882a593Smuzhiyun - interrupts 98*4882a593Smuzhiyun - clocks 99*4882a593Smuzhiyun - clock-names 100*4882a593Smuzhiyun - dmas 101*4882a593Smuzhiyun - dma-names 102*4882a593Smuzhiyun 103*4882a593SmuzhiyunallOf: 104*4882a593Smuzhiyun - if: 105*4882a593Smuzhiyun properties: 106*4882a593Smuzhiyun compatible: 107*4882a593Smuzhiyun enum: 108*4882a593Smuzhiyun - allwinner,sun6i-a31-codec 109*4882a593Smuzhiyun - allwinner,sun8i-a23-codec 110*4882a593Smuzhiyun - allwinner,sun8i-h3-codec 111*4882a593Smuzhiyun - allwinner,sun8i-v3s-codec 112*4882a593Smuzhiyun 113*4882a593Smuzhiyun then: 114*4882a593Smuzhiyun if: 115*4882a593Smuzhiyun properties: 116*4882a593Smuzhiyun compatible: 117*4882a593Smuzhiyun const: allwinner,sun6i-a31-codec 118*4882a593Smuzhiyun 119*4882a593Smuzhiyun then: 120*4882a593Smuzhiyun required: 121*4882a593Smuzhiyun - resets 122*4882a593Smuzhiyun - allwinner,audio-routing 123*4882a593Smuzhiyun 124*4882a593Smuzhiyun else: 125*4882a593Smuzhiyun required: 126*4882a593Smuzhiyun - resets 127*4882a593Smuzhiyun - allwinner,audio-routing 128*4882a593Smuzhiyun - allwinner,codec-analog-controls 129*4882a593Smuzhiyun 130*4882a593Smuzhiyun - if: 131*4882a593Smuzhiyun properties: 132*4882a593Smuzhiyun compatible: 133*4882a593Smuzhiyun enum: 134*4882a593Smuzhiyun - allwinner,sun6i-a31-codec 135*4882a593Smuzhiyun 136*4882a593Smuzhiyun then: 137*4882a593Smuzhiyun properties: 138*4882a593Smuzhiyun allwinner,audio-routing: 139*4882a593Smuzhiyun items: 140*4882a593Smuzhiyun enum: 141*4882a593Smuzhiyun - HP 142*4882a593Smuzhiyun - HPCOM 143*4882a593Smuzhiyun - LINEIN 144*4882a593Smuzhiyun - LINEOUT 145*4882a593Smuzhiyun - MIC1 146*4882a593Smuzhiyun - MIC2 147*4882a593Smuzhiyun - MIC3 148*4882a593Smuzhiyun - HBIAS 149*4882a593Smuzhiyun - MBIAS 150*4882a593Smuzhiyun - Headphone 151*4882a593Smuzhiyun - Headset Mic 152*4882a593Smuzhiyun - Line In 153*4882a593Smuzhiyun - Line Out 154*4882a593Smuzhiyun - Mic 155*4882a593Smuzhiyun - Speaker 156*4882a593Smuzhiyun 157*4882a593Smuzhiyun - if: 158*4882a593Smuzhiyun properties: 159*4882a593Smuzhiyun compatible: 160*4882a593Smuzhiyun enum: 161*4882a593Smuzhiyun - allwinner,sun8i-a23-codec 162*4882a593Smuzhiyun 163*4882a593Smuzhiyun then: 164*4882a593Smuzhiyun properties: 165*4882a593Smuzhiyun allwinner,audio-routing: 166*4882a593Smuzhiyun items: 167*4882a593Smuzhiyun enum: 168*4882a593Smuzhiyun - HP 169*4882a593Smuzhiyun - HPCOM 170*4882a593Smuzhiyun - LINEIN 171*4882a593Smuzhiyun - MIC1 172*4882a593Smuzhiyun - MIC2 173*4882a593Smuzhiyun - HBIAS 174*4882a593Smuzhiyun - MBIAS 175*4882a593Smuzhiyun - Headphone 176*4882a593Smuzhiyun - Headset Mic 177*4882a593Smuzhiyun - Line In 178*4882a593Smuzhiyun - Line Out 179*4882a593Smuzhiyun - Mic 180*4882a593Smuzhiyun - Speaker 181*4882a593Smuzhiyun 182*4882a593Smuzhiyun - if: 183*4882a593Smuzhiyun properties: 184*4882a593Smuzhiyun compatible: 185*4882a593Smuzhiyun enum: 186*4882a593Smuzhiyun - allwinner,sun8i-h3-codec 187*4882a593Smuzhiyun 188*4882a593Smuzhiyun then: 189*4882a593Smuzhiyun properties: 190*4882a593Smuzhiyun allwinner,audio-routing: 191*4882a593Smuzhiyun items: 192*4882a593Smuzhiyun enum: 193*4882a593Smuzhiyun - HP 194*4882a593Smuzhiyun - HPCOM 195*4882a593Smuzhiyun - LINEIN 196*4882a593Smuzhiyun - LINEOUT 197*4882a593Smuzhiyun - MIC1 198*4882a593Smuzhiyun - MIC2 199*4882a593Smuzhiyun - HBIAS 200*4882a593Smuzhiyun - MBIAS 201*4882a593Smuzhiyun - Headphone 202*4882a593Smuzhiyun - Headset Mic 203*4882a593Smuzhiyun - Line In 204*4882a593Smuzhiyun - Line Out 205*4882a593Smuzhiyun - Mic 206*4882a593Smuzhiyun - Speaker 207*4882a593Smuzhiyun 208*4882a593Smuzhiyun - if: 209*4882a593Smuzhiyun properties: 210*4882a593Smuzhiyun compatible: 211*4882a593Smuzhiyun enum: 212*4882a593Smuzhiyun - allwinner,sun8i-v3s-codec 213*4882a593Smuzhiyun 214*4882a593Smuzhiyun then: 215*4882a593Smuzhiyun properties: 216*4882a593Smuzhiyun allwinner,audio-routing: 217*4882a593Smuzhiyun items: 218*4882a593Smuzhiyun enum: 219*4882a593Smuzhiyun - HP 220*4882a593Smuzhiyun - HPCOM 221*4882a593Smuzhiyun - MIC1 222*4882a593Smuzhiyun - HBIAS 223*4882a593Smuzhiyun - Headphone 224*4882a593Smuzhiyun - Headset Mic 225*4882a593Smuzhiyun - Line In 226*4882a593Smuzhiyun - Line Out 227*4882a593Smuzhiyun - Mic 228*4882a593Smuzhiyun - Speaker 229*4882a593Smuzhiyun 230*4882a593SmuzhiyunadditionalProperties: false 231*4882a593Smuzhiyun 232*4882a593Smuzhiyunexamples: 233*4882a593Smuzhiyun - | 234*4882a593Smuzhiyun codec@1c22c00 { 235*4882a593Smuzhiyun #sound-dai-cells = <0>; 236*4882a593Smuzhiyun compatible = "allwinner,sun7i-a20-codec"; 237*4882a593Smuzhiyun reg = <0x01c22c00 0x40>; 238*4882a593Smuzhiyun interrupts = <0 30 4>; 239*4882a593Smuzhiyun clocks = <&apb0_gates 0>, <&codec_clk>; 240*4882a593Smuzhiyun clock-names = "apb", "codec"; 241*4882a593Smuzhiyun dmas = <&dma 0 19>, <&dma 0 19>; 242*4882a593Smuzhiyun dma-names = "rx", "tx"; 243*4882a593Smuzhiyun }; 244*4882a593Smuzhiyun 245*4882a593Smuzhiyun - | 246*4882a593Smuzhiyun codec@1c22c00 { 247*4882a593Smuzhiyun #sound-dai-cells = <0>; 248*4882a593Smuzhiyun compatible = "allwinner,sun6i-a31-codec"; 249*4882a593Smuzhiyun reg = <0x01c22c00 0x98>; 250*4882a593Smuzhiyun interrupts = <0 29 4>; 251*4882a593Smuzhiyun clocks = <&ccu 61>, <&ccu 135>; 252*4882a593Smuzhiyun clock-names = "apb", "codec"; 253*4882a593Smuzhiyun resets = <&ccu 42>; 254*4882a593Smuzhiyun dmas = <&dma 15>, <&dma 15>; 255*4882a593Smuzhiyun dma-names = "rx", "tx"; 256*4882a593Smuzhiyun allwinner,audio-routing = 257*4882a593Smuzhiyun "Headphone", "HP", 258*4882a593Smuzhiyun "Speaker", "LINEOUT", 259*4882a593Smuzhiyun "LINEIN", "Line In", 260*4882a593Smuzhiyun "MIC1", "MBIAS", 261*4882a593Smuzhiyun "MIC1", "Mic", 262*4882a593Smuzhiyun "MIC2", "HBIAS", 263*4882a593Smuzhiyun "MIC2", "Headset Mic"; 264*4882a593Smuzhiyun }; 265*4882a593Smuzhiyun 266*4882a593Smuzhiyun... 267