Quantcast
Channel: Embedded Software (Read Only)
Viewing all articles
Browse latest Browse all 25965

Forum Post: RE: Porting new codec for am335x

$
0
0
Dear Yordan, Thanks a lot Yordan once again for your quick responses, 1) I'm trying to understand TRM ie., in section 22.2.2 McASP Clock and Reset Management, it says the auxclk is 26Mhz auxclk 26 MHz CLK_M_OSC pd_per_mcasp_fclk But the below link says http://processors.wiki.ti.com/index.php/Sitara_Linux_SDK_Audio_DAC_Example sysclock is the clock source that is fed to the McASP internally. It is 24 MHz on all Sitara EVMs. ALSA knows what this value is, which is why we request it as a variable. As am bit confused, Could you please clarify my doubt whether this sysclock is same as auxclk ???, if sysclk is same as auxclk, I didn't find anywhere that sysclock ie., fed to mcasp is 24Mhz in mcasp controller section of TRM Could you please clarify this doubt 2) Could you please clarify my doubt w.r.t routing as well, I suspect routing part, could you please confirm that the routing part what ever it is in my client driver(ie., sound/soc/codecs/uda134x.c), I have added the same in davinci-evm.c & dtsi as shown below, could you please let me know whether this routing part is correct or wrong /* 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"), /// to be removed for uda1345ts SND_SOC_DAPM_INPUT("VINR2"), /// to be removed for uda1345ts 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" }, /// to be removed for uda1345ts { "ADC", NULL, "VINR2" }, /// to be removed for uda1345ts { "VOUTL", NULL, "DAC" }, { "VOUTR", NULL, "DAC" }, }; 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; 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) return ret; } 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"), /// to be removed for uda1345ts snd_soc_dapm_enable_pin(dapm, "VINR2"), /// to be removed for uda1345ts snd_soc_dapm_enable_pin(dapm, "VOUTL"); snd_soc_dapm_enable_pin(dapm, "VOUTR"); return 0; } am335x-boneblack.dtsi sound { compatible = "ti,uda134x-audio-codec"; ti,model = "TI UDA1345TS"; //ti,model = "AM335x-EVM"; ti,audio-codec = ; ti,mcasp-controller = ; /*ti,codec-clock-rate = ;*/ ti,codec-clock-rate = ; ti,audio-routing = "ADC", "VINL1", "ADC", "VINR1", "ADC", "VINL2", "ADC", "VINR2", "VOUTL", "DAC", "VOUTR", "DAC"; }; Many Thanks in advance again,

Viewing all articles
Browse latest Browse all 25965

Trending Articles



<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>