ops中set_sysclk set_clkdiv set_pll详解
生活随笔
收集整理的這篇文章主要介紹了
ops中set_sysclk set_clkdiv set_pll详解
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
在看Alsa soc驅動的是時候,在snd_soc_dai_driver.ops中有3個字段
.set_sysclk
.set_pll
.set_clkdiv
開始的時候,總是暈頭轉向,感覺這3個回調函數都是在設置時鐘,但不太清楚有什么區別和聯系。后來看了很多音頻芯片的數據手冊,里面復雜的時鐘配置模塊,總算是頓悟了。
一般來說,芯片的時鐘模塊有3大部分:時鐘源頭選擇,PLL鎖相環,各種分頻器配置。請看下面的WM8805的時鐘框圖:
ops中的3個函數,剛好對應這3大部分的配置。具體來說,set_sysclk用來選擇各個部分的時鐘源,這個源,并不一定是PLL輸入的那個源,而是框圖中每個多路選擇器都需要選擇,自然
轉載于:https://www.cnblogs.com/swnuwangyun/p/4260344.html
總結
以上是生活随笔為你收集整理的ops中set_sysclk set_clkdiv set_pll详解的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 知乎专栏应用客户端源码项目
- 下一篇: 浙江省2018年高等数学竞赛工科类试题