大家好,最近调试在dm8168平台下调试tlv320aic3101这个芯片,开发包是DVRRDK_04.00.00.03
这个芯片的MCLK脚是27MHZ晶振提供的,一开始没注意到这个数值,发现有些情况的噪声无法很好去掉。
后面发现内核里面默认用24.576MHZ的频率,于是乎我修改内核代码中的这个文件:sound/soc/davinci/ti81xx-evm.c
diff --git a/sound/soc/davinci/ti81xx-evm.c b/sound/soc/davinci/ti81xx-evm.c
index 4afed1d..88809f5 100755
--- a/sound/soc/davinci/ti81xx-evm.c
+++ b/sound/soc/davinci/ti81xx-evm.c
@@ -40,9 +40,10 @@ static int ti81xx_evm_hw_params(struct snd_pcm_substream *substream,
struct snd_soc_dai *codec_dai = rtd->codec_dai;
struct snd_soc_dai *cpu_dai = rtd->cpu_dai;
unsigned sysclk, fmt = 0;
+ printk("==================In ti81xx_evm_hw_params\n");
/* default */
- sysclk = 24576000;
+ sysclk = 27000000;
if (!strcmp(rtd->dai_link->name, "TVP5158AUDIO")) {
/* AFSR -> falling edge, ACLKX -> rising edge, 1 bitclock delay
修改后,发现声音听起来,间隔性的断,并且失真。
然后我怀疑是mcasp相关的驱动也需要修改?求指导?