音频设备的DAPM框架:从基础概念到实际应用
1. 枚举控制宏
在音频设备的控制中, SOC_ENUM_SINGLE(xreg, xshift, xmax, xtexts) 宏用于定义单个枚举控制。其中, xreg 是用于应用设置的寄存器, xshift 是寄存器中控制位的偏移量, xmax 是控制位的大小, xtexts 是描述每个设置的字符串数组的指针。以下是一个示例:
static const char *aif_text[] = {
" Left", " Right"
};
static const struct soc_enum aifinl_enum =
SOC_ENUM_SINGLE(WM8993_AUDIO_INTERFACE_2, 15, 2, aif_text);
2. DAPM概念
现代声卡由许多独立的离散组件组成,每个组件都有可独立供电的功能单元。由于嵌入式系统大多由电池供电,需要最低功耗模式,手动管理电源域依赖既繁琐又容易出错。动态音频电源管理(DAPM)旨在始终使音频子系统的功耗最低。
DAPM位于ASoC核心中,当音频流、路径或设置发生变化时会自动激活,对所有用户空间应用程序完全透明。普通的kcontrol存在一些问题,如无法描述控制之间的连接关系、缺乏电源管理机制、缺乏时间处理机制、缺乏防爆音机制以及需要手动控制等。为了解决这些问题,DAPM引入了小部件(widget)的
超级会员免费看
订阅专栏 解锁全文
14

被折叠的 条评论
为什么被折叠?



