linux音频驱动架构
来源:互联网 发布:php沐辰的博客 编辑:程序博客网 时间:2024/05/16 08:43
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音频驱动之ASoC驱动架构
- Linux ASOC音频驱动架构分析
- Linux ASoC音频驱动架构 及 Machine驱动代码分析
- Linux音频驱动之ASoC架构中的Machine
- Linux音频驱动之ASoC架构中的Codec
- Linux音频驱动之ASoC架构中的Platform
- 【转】Linux音频驱动之一:ALSA架构简介
- ALSA下音频驱动架构
- linux音频驱动分析
- linux音频驱动简介
- linux音频驱动分析
- Linux音频驱动简述
- Linux音频驱动简述
- Linux音频驱动简述
- linux多媒体音频架构
- Linux 2.6.32系统中基于dm6467平台ASOC架构的音频驱动
- Linux 2.6.32系统中基于dm6467平台ASOC架构的音频驱动
- 分块计算
- Deep Learning论文笔记之(一)K-means特征学习
- 第二遍C++primer->const成员函数
- MyGUI_Orge官网教程_6.启用工具提示tooltip
- TOMCAT APR
- linux音频驱动架构
- 运行hadoop example aggregatewordcount 出错的解决办法
- C语言 南阳理工ACM 223.小明的烦恼
- hdu 4705 Y/杭电2013年多校第十场1010 组合
- Deep Learning论文笔记之(二)Sparse Filtering稀疏滤波
- python--用 OpenMP 并行多核加速 Python!
- 这几天遇到的问题
- 20130822-STM8L101F3P6的PD0使用异常,尚未解决~!
- java如何获取客户端IP地址