1*4882a593SmuzhiyunFreescale Generic ASoC Sound Card with ASRC support 2*4882a593Smuzhiyun 3*4882a593SmuzhiyunThe Freescale Generic ASoC Sound Card can be used, ideally, for all Freescale 4*4882a593SmuzhiyunSoCs connecting with external CODECs. 5*4882a593Smuzhiyun 6*4882a593SmuzhiyunThe idea of this generic sound card is a bit like ASoC Simple Card. However, 7*4882a593Smuzhiyunfor Freescale SoCs (especially those released in recent years), most of them 8*4882a593Smuzhiyunhave ASRC (Documentation/devicetree/bindings/sound/fsl,asrc.txt) inside. And 9*4882a593Smuzhiyunthis is a specific feature that might be painstakingly controlled and merged 10*4882a593Smuzhiyuninto the Simple Card. 11*4882a593Smuzhiyun 12*4882a593SmuzhiyunSo having this generic sound card allows all Freescale SoC users to benefit 13*4882a593Smuzhiyunfrom the simplification of a new card support and the capability of the wide 14*4882a593Smuzhiyunsample rates support through ASRC. 15*4882a593Smuzhiyun 16*4882a593SmuzhiyunNote: The card is initially designed for those sound cards who use AC'97, I2S 17*4882a593Smuzhiyun and PCM DAI formats. However, it'll be also possible to support those non 18*4882a593Smuzhiyun AC'97/I2S/PCM type sound cards, such as S/PDIF audio and HDMI audio, as 19*4882a593Smuzhiyun long as the driver has been properly upgraded. 20*4882a593Smuzhiyun 21*4882a593Smuzhiyun 22*4882a593SmuzhiyunThe compatible list for this generic sound card currently: 23*4882a593Smuzhiyun "fsl,imx-audio-ac97" 24*4882a593Smuzhiyun 25*4882a593Smuzhiyun "fsl,imx-audio-cs42888" 26*4882a593Smuzhiyun 27*4882a593Smuzhiyun "fsl,imx-audio-cs427x" 28*4882a593Smuzhiyun (compatible with CS4271 and CS4272) 29*4882a593Smuzhiyun 30*4882a593Smuzhiyun "fsl,imx-audio-wm8962" 31*4882a593Smuzhiyun 32*4882a593Smuzhiyun "fsl,imx-audio-sgtl5000" 33*4882a593Smuzhiyun (compatible with Documentation/devicetree/bindings/sound/imx-audio-sgtl5000.txt) 34*4882a593Smuzhiyun 35*4882a593Smuzhiyun "fsl,imx-audio-wm8960" 36*4882a593Smuzhiyun 37*4882a593Smuzhiyun "fsl,imx-audio-mqs" 38*4882a593Smuzhiyun 39*4882a593Smuzhiyun "fsl,imx-audio-wm8524" 40*4882a593Smuzhiyun 41*4882a593Smuzhiyun "fsl,imx-audio-tlv320aic32x4" 42*4882a593Smuzhiyun 43*4882a593SmuzhiyunRequired properties: 44*4882a593Smuzhiyun 45*4882a593Smuzhiyun - compatible : Contains one of entries in the compatible list. 46*4882a593Smuzhiyun 47*4882a593Smuzhiyun - model : The user-visible name of this sound complex 48*4882a593Smuzhiyun 49*4882a593Smuzhiyun - audio-cpu : The phandle of an CPU DAI controller 50*4882a593Smuzhiyun 51*4882a593Smuzhiyun - audio-codec : The phandle of an audio codec 52*4882a593Smuzhiyun 53*4882a593SmuzhiyunOptional properties: 54*4882a593Smuzhiyun 55*4882a593Smuzhiyun - audio-asrc : The phandle of ASRC. It can be absent if there's no 56*4882a593Smuzhiyun need to add ASRC support via DPCM. 57*4882a593Smuzhiyun 58*4882a593Smuzhiyun - audio-routing : A list of the connections between audio components. 59*4882a593Smuzhiyun Each entry is a pair of strings, the first being the 60*4882a593Smuzhiyun connection's sink, the second being the connection's 61*4882a593Smuzhiyun source. There're a few pre-designed board connectors: 62*4882a593Smuzhiyun * Line Out Jack 63*4882a593Smuzhiyun * Line In Jack 64*4882a593Smuzhiyun * Headphone Jack 65*4882a593Smuzhiyun * Mic Jack 66*4882a593Smuzhiyun * Ext Spk 67*4882a593Smuzhiyun * AMIC (stands for Analog Microphone Jack) 68*4882a593Smuzhiyun * DMIC (stands for Digital Microphone Jack) 69*4882a593Smuzhiyun 70*4882a593Smuzhiyun Note: The "Mic Jack" and "AMIC" are redundant while 71*4882a593Smuzhiyun coexisting in order to support the old bindings 72*4882a593Smuzhiyun of wm8962 and sgtl5000. 73*4882a593Smuzhiyun 74*4882a593Smuzhiyun - hp-det-gpio : The GPIO that detect headphones are plugged in 75*4882a593Smuzhiyun - mic-det-gpio : The GPIO that detect microphones are plugged in 76*4882a593Smuzhiyun - bitclock-master : Indicates dai-link bit clock master; for details see simple-card.yaml. 77*4882a593Smuzhiyun - frame-master : Indicates dai-link frame master; for details see simple-card.yaml. 78*4882a593Smuzhiyun - dai-format : audio format, for details see simple-card.yaml. 79*4882a593Smuzhiyun - frame-inversion : dai-link uses frame clock inversion, for details see simple-card.yaml. 80*4882a593Smuzhiyun - bitclock-inversion : dai-link uses bit clock inversion, for details see simple-card.yaml. 81*4882a593Smuzhiyun 82*4882a593SmuzhiyunOptional unless SSI is selected as a CPU DAI: 83*4882a593Smuzhiyun 84*4882a593Smuzhiyun - mux-int-port : The internal port of the i.MX audio muxer (AUDMUX) 85*4882a593Smuzhiyun 86*4882a593Smuzhiyun - mux-ext-port : The external port of the i.MX audio muxer 87*4882a593Smuzhiyun 88*4882a593SmuzhiyunExample: 89*4882a593Smuzhiyunsound-cs42888 { 90*4882a593Smuzhiyun compatible = "fsl,imx-audio-cs42888"; 91*4882a593Smuzhiyun model = "cs42888-audio"; 92*4882a593Smuzhiyun audio-cpu = <&esai>; 93*4882a593Smuzhiyun audio-asrc = <&asrc>; 94*4882a593Smuzhiyun audio-codec = <&cs42888>; 95*4882a593Smuzhiyun audio-routing = 96*4882a593Smuzhiyun "Line Out Jack", "AOUT1L", 97*4882a593Smuzhiyun "Line Out Jack", "AOUT1R", 98*4882a593Smuzhiyun "Line Out Jack", "AOUT2L", 99*4882a593Smuzhiyun "Line Out Jack", "AOUT2R", 100*4882a593Smuzhiyun "Line Out Jack", "AOUT3L", 101*4882a593Smuzhiyun "Line Out Jack", "AOUT3R", 102*4882a593Smuzhiyun "Line Out Jack", "AOUT4L", 103*4882a593Smuzhiyun "Line Out Jack", "AOUT4R", 104*4882a593Smuzhiyun "AIN1L", "Line In Jack", 105*4882a593Smuzhiyun "AIN1R", "Line In Jack", 106*4882a593Smuzhiyun "AIN2L", "Line In Jack", 107*4882a593Smuzhiyun "AIN2R", "Line In Jack"; 108*4882a593Smuzhiyun}; 109