Dear Yordan, Thanks a lot for your quick suggestions & responses, 1) I would like to follow, as per your 1. suggestion i.e, I would like to adopt similar to aic31xx_audio_map structure in tlv320aic31xx.c in uda134x.c, as I was again confused with aic31xx_audio_map structure members, in my case since am using internal clock source ,whether again I should use CODEC_CLK_IN or CODEC_CLK_OUT???.. & I didn't understand what is PLLCLK, BCLKN_DIV, NDAC_DIV, NADC_DIV, MDAC_DIV & MADC_DIV?.. in tlv320aic31xx.c, aic31xx_audio_map structure {"CODEC_CLK_IN", NULL, "PLLCLK"}, {"CODEC_CLK_IN", NULL, "BCLKN_DIV"}, {"CODEC_CLK_IN", NULL, "NDAC_DIV"}, {"CODEC_CLK_IN", NULL, "NADC_DIV"}, {"CODEC_CLK_IN", NULL, "MDAC_DIV"}, {"CODEC_CLK_IN", NULL, "MADC_DIV"}, /* Clocks for ADC */ {"ADC", NULL, "CODEC_CLK_IN"}, {"ADC", NULL, "MIC_GAIN_CTL"}, {"MIC_GAIN_CTL", NULL, "Mic Bias"}, /* Clocks for DAC */ {"DAC Left", NULL, "CODEC_CLK_IN" }, {"DAC Right", NULL, "CODEC_CLK_IN"}, /* Left Output */ {"Output Left", "From Left DAC", "DAC Left"}, {"Output Left", "From MIC1LP", "MIC1LP"}, {"Output Left", "From MIC1RP", "MIC1RP"}, /* Right Output */ {"Output Right", "From Right DAC", "DAC Right"}, {"Output Right", "From MIC1RP", "MIC1RP"}, {"ADC", NULL, "MIC_GAIN_CTL"}, {"MIC_GAIN_CTL", NULL, "Mic Bias"}, /* Clocks for DAC */ {"DAC Left", NULL, "CODEC_CLK_IN" }, {"DAC Right", NULL, "CODEC_CLK_IN"}, /* Left Output */ {"Output Left", "From Left DAC", "DAC Left"}, {"Output Left", "From MIC1LP", "MIC1LP"}, {"Output Left", "From MIC1RP", "MIC1RP"}, /* Right Output */ {"Output Right", "From Right DAC", "DAC Right"}, {"Output Right", "From MIC1RP", "MIC1RP"}, 2) How mclk, bit clock & lrclk mapping from mcasp to codec is done in this structure??? 3) as am new to alsa, as am using uda1345TS chipset ( datasheet - UDA1345TS ), as of now I have changed the routing particularly according to uda1345ts instead of uda134x, could you please help me in creating the structure the similar to Could you please help me in creating uda134x_audio_map structure similar to aic31xx_audio_map In sound/soc/codecs/uda134x.c /* Common DAPM widgets */ static const struct snd_soc_dapm_widget uda134x_dapm_widgets[] = { //SND_SOC_DAPM_INPUT("VINL1"), //SND_SOC_DAPM_INPUT("VINR1"), //SND_SOC_DAPM_INPUT("VINL2"), //SND_SOC_DAPM_INPUT("VINR2"), SND_SOC_DAPM_INPUT("VINL"), SND_SOC_DAPM_INPUT("VINR"), SND_SOC_DAPM_OUTPUT("VOUTL"), SND_SOC_DAPM_OUTPUT("VOUTR"), }; static const struct snd_soc_dapm_route uda134x_dapm_routes[] = { //{ "ADC", NULL, "VINL1" }, //{ "ADC", NULL, "VINR1" }, //{ "ADC", NULL, "VINL2" }, //{ "ADC", NULL, "VINR2" }, { "ADC", NULL, "VINL" }, { "ADC", NULL, "VINR" }, { "VOUTL", NULL, "DAC" }, { "VOUTR", NULL, "DAC" }, }; In DTSI ti,audio-routing = "ADC", "VINL", "ADC", "VINR", "VOUTL", "DAC", "VOUTR", "DAC"; In davinci-evm.c static int evm_uda134x_init(struct snd_soc_pcm_runtime *rtd) { struct snd_soc_codec *codec = rtd->codec; struct snd_soc_dapm_context *dapm = &codec->dapm; struct device_node *np = codec->card->dev->of_node; int ret; printk("DAVINCIIIIIIIIIII UDA134XXXXX evm_uda134x_init ENTERED\n"); snd_soc_dapm_new_controls(dapm, uda134x_dapm_widgets, ARRAY_SIZE(uda134x_dapm_widgets)); if (np) { ret = snd_soc_of_parse_audio_routing(codec->card, "ti,audio-routing"); if (ret) { printk("DAVINCIIIIIIIIIII UDA134XXXXX DAPM ROUTING BASED ON DTS IS FAILURE\n"); return ret; } else { printk("DAVINCIIIIIIIIIII UDA134XXXXX DAPM ROUTING BASED ON DTS IS SUCCESSFULL\n"); } } else { /* Set up davinci-evm specific audio path audio_map */ printk("DAVINCIIIIIIIIIII UDA134XXXXX DAPM ROUTING\n"); snd_soc_dapm_add_routes(dapm, uda134x_dapm_routes, ARRAY_SIZE(uda134x_dapm_routes)); } //snd_soc_dapm_enable_pin(dapm, "VINL1"), //snd_soc_dapm_enable_pin(dapm, "VINR1"), //snd_soc_dapm_enable_pin(dapm, "VINL2"), //snd_soc_dapm_enable_pin(dapm, "VINR2"), snd_soc_dapm_enable_pin(dapm, "VINL"), snd_soc_dapm_enable_pin(dapm, "VINR"), snd_soc_dapm_enable_pin(dapm, "VOUTL"); snd_soc_dapm_enable_pin(dapm, "VOUTR"); return 0; } I hope this should resolve all my problems Yordan, & would appreciate a lot once again for providing since long term support w.r.t this thread Could you please help me in creating this uda134x_audio_map structure as it is simple, because I don't know how mclk, bitclk & lrclk binding of mcasp with codec is done in this structure Would be very grateful to you.. Yordan, please help me in creating this structure as early as possible Awaiting for you replies Many Thanks in advance Yordan once again
↧