在看Alsa soc驱动的是时候,在snd_soc_dai_driver.ops中有3个字段 .set_sysclk .set_pll .set_clkdiv 开始的时候,总是晕头转向,感觉这3个回调函数都是在设置时钟,但不太清楚有什么区别和联系.后来看了很多音频芯片的数据手册,里面复杂的时钟配置模块,总算是顿悟了. 一般来说,芯片的时钟模块有3大部分:时钟源头选择,PLL锁相环,各种分频器配置.请看下面的WM8805的时钟框图: ops中的3个函数,刚好对应这3大部分的配置.具体来说,set_…