1*7d0873ebSEmmanuel Vadot# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) 2*7d0873ebSEmmanuel Vadot%YAML 1.2 3*7d0873ebSEmmanuel Vadot--- 4*7d0873ebSEmmanuel Vadot$id: http://devicetree.org/schemas/sound/fsl-asoc-card.yaml# 5*7d0873ebSEmmanuel Vadot$schema: http://devicetree.org/meta-schemas/core.yaml# 6*7d0873ebSEmmanuel Vadot 7*7d0873ebSEmmanuel Vadottitle: Freescale Generic ASoC Sound Card with ASRC support 8*7d0873ebSEmmanuel Vadot 9*7d0873ebSEmmanuel Vadotdescription: 10*7d0873ebSEmmanuel Vadot The Freescale Generic ASoC Sound Card can be used, ideally, 11*7d0873ebSEmmanuel Vadot for all Freescale SoCs connecting with external CODECs. 12*7d0873ebSEmmanuel Vadot 13*7d0873ebSEmmanuel Vadot The idea of this generic sound card is a bit like ASoC Simple Card. 14*7d0873ebSEmmanuel Vadot However, for Freescale SoCs (especially those released in recent years), 15*7d0873ebSEmmanuel Vadot most of them have ASRC inside. And this is a specific feature that might 16*7d0873ebSEmmanuel Vadot be painstakingly controlled and merged into the Simple Card. 17*7d0873ebSEmmanuel Vadot 18*7d0873ebSEmmanuel Vadot So having this generic sound card allows all Freescale SoC users to 19*7d0873ebSEmmanuel Vadot benefit from the simplification of a new card support and the capability 20*7d0873ebSEmmanuel Vadot of the wide sample rates support through ASRC. 21*7d0873ebSEmmanuel Vadot 22*7d0873ebSEmmanuel Vadot Note, The card is initially designed for those sound cards who use AC'97, I2S 23*7d0873ebSEmmanuel Vadot and PCM DAI formats. However, it'll be also possible to support those non 24*7d0873ebSEmmanuel Vadot AC'97/I2S/PCM type sound cards, such as S/PDIF audio and HDMI audio, as 25*7d0873ebSEmmanuel Vadot long as the driver has been properly upgraded. 26*7d0873ebSEmmanuel Vadot 27*7d0873ebSEmmanuel Vadotmaintainers: 28*7d0873ebSEmmanuel Vadot - Shengjiu Wang <shengjiu.wang@nxp.com> 29*7d0873ebSEmmanuel Vadot 30*7d0873ebSEmmanuel Vadotproperties: 31*7d0873ebSEmmanuel Vadot compatible: 32*7d0873ebSEmmanuel Vadot oneOf: 33*7d0873ebSEmmanuel Vadot - items: 34*7d0873ebSEmmanuel Vadot - enum: 35*7d0873ebSEmmanuel Vadot - fsl,imx-sgtl5000 36*7d0873ebSEmmanuel Vadot - fsl,imx25-pdk-sgtl5000 37*7d0873ebSEmmanuel Vadot - fsl,imx53-cpuvo-sgtl5000 38*7d0873ebSEmmanuel Vadot - fsl,imx51-babbage-sgtl5000 39*7d0873ebSEmmanuel Vadot - fsl,imx53-m53evk-sgtl5000 40*7d0873ebSEmmanuel Vadot - fsl,imx53-qsb-sgtl5000 41*7d0873ebSEmmanuel Vadot - fsl,imx53-voipac-sgtl5000 42*7d0873ebSEmmanuel Vadot - fsl,imx6-armadeus-sgtl5000 43*7d0873ebSEmmanuel Vadot - fsl,imx6-rex-sgtl5000 44*7d0873ebSEmmanuel Vadot - fsl,imx6-sabreauto-cs42888 45*7d0873ebSEmmanuel Vadot - fsl,imx6-wandboard-sgtl5000 46*7d0873ebSEmmanuel Vadot - fsl,imx6dl-nit6xlite-sgtl5000 47*7d0873ebSEmmanuel Vadot - fsl,imx6q-ba16-sgtl5000 48*7d0873ebSEmmanuel Vadot - fsl,imx6q-nitrogen6_max-sgtl5000 49*7d0873ebSEmmanuel Vadot - fsl,imx6q-nitrogen6_som2-sgtl5000 50*7d0873ebSEmmanuel Vadot - fsl,imx6q-nitrogen6x-sgtl5000 51*7d0873ebSEmmanuel Vadot - fsl,imx6q-sabrelite-sgtl5000 52*7d0873ebSEmmanuel Vadot - fsl,imx6q-sabresd-wm8962 53*7d0873ebSEmmanuel Vadot - fsl,imx6q-udoo-ac97 54*7d0873ebSEmmanuel Vadot - fsl,imx6q-ventana-sgtl5000 55*7d0873ebSEmmanuel Vadot - fsl,imx6sl-evk-wm8962 56*7d0873ebSEmmanuel Vadot - fsl,imx6sx-sdb-mqs 57*7d0873ebSEmmanuel Vadot - fsl,imx6sx-sdb-wm8962 58*7d0873ebSEmmanuel Vadot - fsl,imx7d-evk-wm8960 59*7d0873ebSEmmanuel Vadot - karo,tx53-audio-sgtl5000 60*7d0873ebSEmmanuel Vadot - tq,imx53-mba53-sgtl5000 61*7d0873ebSEmmanuel Vadot - enum: 62*7d0873ebSEmmanuel Vadot - fsl,imx-audio-ac97 63*7d0873ebSEmmanuel Vadot - fsl,imx-audio-cs42888 64*7d0873ebSEmmanuel Vadot - fsl,imx-audio-mqs 65*7d0873ebSEmmanuel Vadot - fsl,imx-audio-sgtl5000 66*7d0873ebSEmmanuel Vadot - fsl,imx-audio-wm8960 67*7d0873ebSEmmanuel Vadot - fsl,imx-audio-wm8962 68*7d0873ebSEmmanuel Vadot - items: 69*7d0873ebSEmmanuel Vadot - enum: 70*7d0873ebSEmmanuel Vadot - fsl,imx-audio-ac97 71*7d0873ebSEmmanuel Vadot - fsl,imx-audio-cs42888 72*7d0873ebSEmmanuel Vadot - fsl,imx-audio-cs427x 73*7d0873ebSEmmanuel Vadot - fsl,imx-audio-mqs 74*7d0873ebSEmmanuel Vadot - fsl,imx-audio-nau8822 75*7d0873ebSEmmanuel Vadot - fsl,imx-audio-sgtl5000 76*7d0873ebSEmmanuel Vadot - fsl,imx-audio-si476x 77*7d0873ebSEmmanuel Vadot - fsl,imx-audio-tlv320aic31xx 78*7d0873ebSEmmanuel Vadot - fsl,imx-audio-tlv320aic32x4 79*7d0873ebSEmmanuel Vadot - fsl,imx-audio-wm8524 80*7d0873ebSEmmanuel Vadot - fsl,imx-audio-wm8904 81*7d0873ebSEmmanuel Vadot - fsl,imx-audio-wm8960 82*7d0873ebSEmmanuel Vadot - fsl,imx-audio-wm8962 83*7d0873ebSEmmanuel Vadot - fsl,imx-audio-wm8958 84*7d0873ebSEmmanuel Vadot 85*7d0873ebSEmmanuel Vadot model: 86*7d0873ebSEmmanuel Vadot $ref: /schemas/types.yaml#/definitions/string 87*7d0873ebSEmmanuel Vadot description: The user-visible name of this sound complex 88*7d0873ebSEmmanuel Vadot 89*7d0873ebSEmmanuel Vadot audio-asrc: 90*7d0873ebSEmmanuel Vadot $ref: /schemas/types.yaml#/definitions/phandle 91*7d0873ebSEmmanuel Vadot description: 92*7d0873ebSEmmanuel Vadot The phandle of ASRC. It can be absent if there's no 93*7d0873ebSEmmanuel Vadot need to add ASRC support via DPCM. 94*7d0873ebSEmmanuel Vadot 95*7d0873ebSEmmanuel Vadot audio-codec: 96*7d0873ebSEmmanuel Vadot $ref: /schemas/types.yaml#/definitions/phandle 97*7d0873ebSEmmanuel Vadot description: The phandle of an audio codec 98*7d0873ebSEmmanuel Vadot 99*7d0873ebSEmmanuel Vadot audio-cpu: 100*7d0873ebSEmmanuel Vadot $ref: /schemas/types.yaml#/definitions/phandle 101*7d0873ebSEmmanuel Vadot description: The phandle of an CPU DAI controller 102*7d0873ebSEmmanuel Vadot 103*7d0873ebSEmmanuel Vadot audio-routing: 104*7d0873ebSEmmanuel Vadot $ref: /schemas/types.yaml#/definitions/non-unique-string-array 105*7d0873ebSEmmanuel Vadot description: 106*7d0873ebSEmmanuel Vadot A list of the connections between audio components. Each entry is a 107*7d0873ebSEmmanuel Vadot pair of strings, the first being the connection's sink, the second 108*7d0873ebSEmmanuel Vadot being the connection's source. There're a few pre-designed board 109*7d0873ebSEmmanuel Vadot connectors. "AMIC" stands for Analog Microphone Jack. 110*7d0873ebSEmmanuel Vadot "DMIC" stands for Digital Microphone Jack. The "Mic Jack" and "AMIC" 111*7d0873ebSEmmanuel Vadot are redundant while coexisting in order to support the old bindings 112*7d0873ebSEmmanuel Vadot of wm8962 and sgtl5000. 113*7d0873ebSEmmanuel Vadot 114*7d0873ebSEmmanuel Vadot hp-det-gpio: 115*7d0873ebSEmmanuel Vadot deprecated: true 116*7d0873ebSEmmanuel Vadot maxItems: 1 117*7d0873ebSEmmanuel Vadot description: The GPIO that detect headphones are plugged in 118*7d0873ebSEmmanuel Vadot 119*7d0873ebSEmmanuel Vadot hp-det-gpios: 120*7d0873ebSEmmanuel Vadot maxItems: 1 121*7d0873ebSEmmanuel Vadot description: The GPIO that detect headphones are plugged in 122*7d0873ebSEmmanuel Vadot 123*7d0873ebSEmmanuel Vadot mic-det-gpio: 124*7d0873ebSEmmanuel Vadot deprecated: true 125*7d0873ebSEmmanuel Vadot maxItems: 1 126*7d0873ebSEmmanuel Vadot description: The GPIO that detect microphones are plugged in 127*7d0873ebSEmmanuel Vadot 128*7d0873ebSEmmanuel Vadot mic-det-gpios: 129*7d0873ebSEmmanuel Vadot maxItems: 1 130*7d0873ebSEmmanuel Vadot description: The GPIO that detect microphones are plugged in 131*7d0873ebSEmmanuel Vadot 132*7d0873ebSEmmanuel Vadot bitclock-master: 133*7d0873ebSEmmanuel Vadot $ref: simple-card.yaml#/definitions/bitclock-master 134*7d0873ebSEmmanuel Vadot description: Indicates dai-link bit clock master. 135*7d0873ebSEmmanuel Vadot 136*7d0873ebSEmmanuel Vadot frame-master: 137*7d0873ebSEmmanuel Vadot $ref: simple-card.yaml#/definitions/frame-master 138*7d0873ebSEmmanuel Vadot description: Indicates dai-link frame master. 139*7d0873ebSEmmanuel Vadot 140*7d0873ebSEmmanuel Vadot format: 141*7d0873ebSEmmanuel Vadot $ref: simple-card.yaml#/definitions/format 142*7d0873ebSEmmanuel Vadot description: audio format. 143*7d0873ebSEmmanuel Vadot 144*7d0873ebSEmmanuel Vadot frame-inversion: 145*7d0873ebSEmmanuel Vadot $ref: simple-card.yaml#/definitions/frame-inversion 146*7d0873ebSEmmanuel Vadot description: dai-link uses frame clock inversion. 147*7d0873ebSEmmanuel Vadot 148*7d0873ebSEmmanuel Vadot bitclock-inversion: 149*7d0873ebSEmmanuel Vadot $ref: simple-card.yaml#/definitions/bitclock-inversion 150*7d0873ebSEmmanuel Vadot description: dai-link uses bit clock inversion. 151*7d0873ebSEmmanuel Vadot 152*7d0873ebSEmmanuel Vadot mclk-id: 153*7d0873ebSEmmanuel Vadot $ref: /schemas/types.yaml#/definitions/uint32 154*7d0873ebSEmmanuel Vadot description: main clock id, specific for each card configuration. 155*7d0873ebSEmmanuel Vadot 156*7d0873ebSEmmanuel Vadot mux-int-port: 157*7d0873ebSEmmanuel Vadot $ref: /schemas/types.yaml#/definitions/uint32 158*7d0873ebSEmmanuel Vadot enum: [1, 2, 7] 159*7d0873ebSEmmanuel Vadot description: The internal port of the i.MX audio muxer (AUDMUX) 160*7d0873ebSEmmanuel Vadot 161*7d0873ebSEmmanuel Vadot mux-ext-port: 162*7d0873ebSEmmanuel Vadot $ref: /schemas/types.yaml#/definitions/uint32 163*7d0873ebSEmmanuel Vadot enum: [3, 4, 5, 6] 164*7d0873ebSEmmanuel Vadot description: The external port of the i.MX audio muxer 165*7d0873ebSEmmanuel Vadot 166*7d0873ebSEmmanuel Vadot ssi-controller: 167*7d0873ebSEmmanuel Vadot $ref: /schemas/types.yaml#/definitions/phandle 168*7d0873ebSEmmanuel Vadot description: The phandle of an CPU DAI controller 169*7d0873ebSEmmanuel Vadot 170*7d0873ebSEmmanuel Vadotrequired: 171*7d0873ebSEmmanuel Vadot - compatible 172*7d0873ebSEmmanuel Vadot - model 173*7d0873ebSEmmanuel Vadot 174*7d0873ebSEmmanuel VadotunevaluatedProperties: false 175*7d0873ebSEmmanuel Vadot 176*7d0873ebSEmmanuel Vadotexamples: 177*7d0873ebSEmmanuel Vadot - | 178*7d0873ebSEmmanuel Vadot sound-cs42888 { 179*7d0873ebSEmmanuel Vadot compatible = "fsl,imx-audio-cs42888"; 180*7d0873ebSEmmanuel Vadot model = "cs42888-audio"; 181*7d0873ebSEmmanuel Vadot audio-cpu = <&esai>; 182*7d0873ebSEmmanuel Vadot audio-asrc = <&asrc>; 183*7d0873ebSEmmanuel Vadot audio-codec = <&cs42888>; 184*7d0873ebSEmmanuel Vadot audio-routing = 185*7d0873ebSEmmanuel Vadot "Line Out Jack", "AOUT1L", 186*7d0873ebSEmmanuel Vadot "Line Out Jack", "AOUT1R", 187*7d0873ebSEmmanuel Vadot "Line Out Jack", "AOUT2L", 188*7d0873ebSEmmanuel Vadot "Line Out Jack", "AOUT2R", 189*7d0873ebSEmmanuel Vadot "Line Out Jack", "AOUT3L", 190*7d0873ebSEmmanuel Vadot "Line Out Jack", "AOUT3R", 191*7d0873ebSEmmanuel Vadot "Line Out Jack", "AOUT4L", 192*7d0873ebSEmmanuel Vadot "Line Out Jack", "AOUT4R", 193*7d0873ebSEmmanuel Vadot "AIN1L", "Line In Jack", 194*7d0873ebSEmmanuel Vadot "AIN1R", "Line In Jack", 195*7d0873ebSEmmanuel Vadot "AIN2L", "Line In Jack", 196*7d0873ebSEmmanuel Vadot "AIN2R", "Line In Jack"; 197*7d0873ebSEmmanuel Vadot }; 198