日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > linux >内容正文

linux

linux 音频架构绕过,linux音频驱动架构

發布時間:2023/12/29 linux 30 豆豆
生活随笔 收集整理的這篇文章主要介紹了 linux 音频架构绕过,linux音频驱动架构 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

1、linux音頻驅動架構分為3部分組成:硬件無關層(核心層ALSA)、板級音頻數字接口層驅動(McASP、McBSP等)、外部codes驅動

sound/soc/davinci/ti81xx-etv.c;文件定義了板級數字音頻接口驅動和外部code驅動的關聯關系

static struct snd_soc_dai_link ti81xx_mcasp_dai[] = {

{

.name = "TLV320AIC3X",

.stream_name = "AIC3X",

.cpu_dai_name= "davinci-mcasp.2",

.codec_dai_name = "tlv320aic3x-hifi",

.codec_name = "tlv320aic3x-codec.1-0018",

.platform_name = "davinci-pcm-audio",

.init = ti81xx_evm_aic3x_init,

.ops = &ti81xx_evm_ops,

},

#ifdef CONFIG_SND_SOC_TI81XX_HDMI

{

.name = "HDMI_SOC_LINK",

.stream_name = "hdmi",

.cpu_dai_name = "hdmi-dai",

.platform_name = "davinci-pcm-audio",

.codec_dai_name = "HDMI-DAI-CODEC", ? ? /* DAI name */

.codec_name = "hdmi-dummy-codec",

},

#endif

};

上面代碼中定義了兩路音頻通道,每路通道都將其對應的外部code驅動、板級數字音頻接口驅動綁在了一起。其中板級數字音頻接口驅動包括兩部分:McASP驅動(這個主要是負責McASP接口的寄存器配置)、davinci-pcm驅動(McASP接口其實就是一個PCM數字音頻接口,這個驅動主要是負責一些DMA調度)

sound/soc/davinci/davinci-mcasp.c這個源碼是負責McASP接口的配置工作。

sound/soc/davinci/davinci-pcm.c這個驅動是負責pcm數字音頻接口的相關DMA調度工作。

sound/soc/codecs/sii9233a_audio.c

sound/soc/codecs/tlv320aic3x.c

這兩個驅動是外部code驅動,負責外部code的配置工作。

總結

以上是生活随笔為你收集整理的linux 音频架构绕过,linux音频驱动架构的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。