iMX6q 音频系统调试

http://blog.sina.com.cn/s/blog_71e5db15010103op.html

ALSA的驱动很宏大,哪天一定要写一个完整的分析

首先说,3.0以后对音频管理的调整实在是很不错,结构明显清晰多了

sound/soc/soc-core.c是整个音频体系的核心,用于串联所有的模块。
模块包括两部分,SSI部分和i2c部分,前者负责数据,后者负责控制,通过dai_link连接在一起。

SSI部分的,在sound/soc/imx/imx-ssi.c中实现,通过在arch中定义的资源,注册cpu_dai,并出现在soc_core.c中的dai_list中

I2C部分是指的codecs,在sound/soc/codecs/tlv320aic3x.c中实现(不同的codecs会有差异),通过在arch中定义的i2c资源,初始化并注册codecs,并给这个codec一个唯一的名字,并且为这个codec的driver注册对应的dai

最关键的部分就是sound/soc/imx/imx-wm8962.c,(我直接用原来的文件改的,请忽略这些不着调的名字,如果正式写的时候,这些名字要对应起来),这里有一个dai_link数据结构,把这些信息串接了起来,指定好对应的cpu_dai_name,codec_dai_name,codec_name,就可以在soc-core里面把这些数据对应起来了,然后整体的逻辑是由soc-sound这个driver来控制的

这个过程中,唯一不理解的就是用字符串来传递这样的对应关系,似乎很不高效,也不够稳定,但好像也没有别的好办法了

这一部分写得太糙,过几天再补一个详细的

  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值