1.模块功能介绍
在R311中,存在4个音频设备,软件上可注册为5个声卡,分别为audiocodec, daudio0, daudiol,dmic均采用asoc 架构实现。
ASoC架构是建立在标准 ALSA驱动层上,为了更好地支持嵌入式处理器和移劫设备中的音频Codec的一套软件体系, asoc将音频系统分为3部分:Machine,Platform和Codec
Codec驱动
ASoC中的一个重要设计原则就是要求Codec驱动是平台无关的,它包含了一些音频的控件(Controls),音频接口,DAMP(动态音频电源管理)的定义和某些Codec IO功能。为了保证硬件无关性,任何特定于平台和机器的代码都要移到Platform和 Machine 驱动中。
所有的Codec驱动都要提供以下特性:
Codec DAI (Digital Audio Interface)和 PCM的配置信息;
Codec的IO控制方式(I2C,SPI等);
Mixer和其他的音频控件;
Codec的 ALSA音频操作接口;必要时,也可以提供以下功能:
DAPM描述信息;
DAPM事件处理程序;
DAC数字静音控制
Digital Audio Interface介绍
ASoC当前支持当今在SoC控制器和便携式音频编解码器中发现的三个主要数字音频接口(DAI),即AC97,I2S和PCM。
AC97接口:
AC97是五线接口,通常在许多PC声卡上都可以找到。 现在,它在许多便携式