2. 模块介绍
2.1. 模块功能介绍
2.1.1. audiocodec 功能
A64 audiocodec 硬件上的实现是通过 I2S 接口与 cpu 进行数据流传输,cpu 通过 apb 总线对audiocodec 进行寄存器配置,软件上采用 alsa-asoc 架构实现,具有以下功能。
(1) 支持多种采样率格式(8khz, 11.025 KHz, 12 KHz, 16 KHz, 22.05 KHz, 24 KHz, 32 KHz, 44.1KHz , 48 KHz, 96KHz, 192KHz);
(2)支持 mono 和 stereo 模式;
(3)支持同时 playback 和 record(全双工模式);
(4)支持 3、4 段耳机插拔检测,hook 键检测,耳机音量加减键定制。
2.1.2. Daudio 功能
(1)支持多种采样率格式(8khz, 11.025 khz, 12 khz, 16 khz, 22.05 khz, 24 khz, 32 khz, 44.1khz , 48 khz, 96khz, 192khz);
(2)支持 mono 和 stereo 模式;
(3)支持同时 playback 和 record(全双工模式);
(4)支持 i2s/pcm
2.1.3. Spdif 功能
spdif 驱动所具有的功能:
(1)支持多种采样率格式(22.05khz,24khz,32khz,44.1khz,48khz,88.2khz,96khz,176.4khz,192khz);
(2)支持 mono 和 stereo 模式;
(3)只支持 playback 模式,不支持 record 模式。
(4)支持 rawdata 模式
2.1.4. hdmiaudio 功能
hdmiaudio 驱动所具有的功能:
(1)支持多种采样率格式(32khz,44.1khz,48khz,96khz,192khz);
(2)支持 mono 和 stereo 模式;
(3)只支持 playback 模式,不支持 record 模式。
(4)支持 rawdata 模式
2.2. 相关术语介绍
2.3. 音频 config 配置
2.3.1. 内核配置
在 lichee/linux-3.10/ A64下执行 make ARCH=arm64 menuconfig, A40I下执行 make ARCH=arm menuconfig选中如图蓝色
选中下图
选中下图
选中下图
选中下图
选中下图
图中加载了 audiocodec 驱动和 HDMI 驱动。
audiocodec 驱动包含三部分:
ASoC support for audiocodec
ASoC support for internal-i2s
ASoC support for audiocodec machine
hdmi 驱动为:
ASoC support for hdmiaudio.