ASoC框架分爲3部分:框架
1. platform(用來描述芯片的DAI接口,負責數據傳輸):函數
DAI:snd_soc_dai_driver,code
用來表示支持哪些格式數據,orm
提供設置格式的函數,接口
啓動數據傳輸io
數據傳輸:snd_soc_platform_driverform
2. codec (用來描述音頻編解碼芯片,含有2部分:DAI接口,控制接口):音頻
DAI:snd_soc_dai_driver,數據
用來表示支持哪些格式數據,di
提供設置格式的函數
控制接口:snd_soc_codec_driver
讀寫芯片的寄存器
3. machine (snd_soc_card,snd_soc_dai_link,
用來肯定使用哪個platform,哪個codec芯片)
最後會註冊一個名爲「soc-audio」的平臺設備,
致使soc-core.c中的soc_probe函數被調用,
進而分配/設置/註冊 snd_card