ASoC框架

Posted jiangjh

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了ASoC框架相关的知识,希望对你有一定的参考价值。

ASoC框架分为3部分:

1. platform(用来描述芯片的DAI接口,负责数据传输):

  DAI:snd_soc_dai_driver,

    用来表示支持哪些格式数据,

    提供设置格式的函数,

    启动数据传输

 

  数据传输:snd_soc_platform_driver

 

2. codec (用来描述音频编解码芯片,含有2部分:DAI接口,控制接口):

  DAI:snd_soc_dai_driver,

    用来表示支持哪些格式数据,

    提供设置格式的函数

 

  控制接口:snd_soc_codec_driver

    读写芯片的寄存器

 

3. machine (snd_soc_card,snd_soc_dai_link,

    用来确定使用哪一个platform,哪一个codec芯片)

    最后会注册一个名为“soc-audio”的平台设备,

    导致soc-core.c中的soc_probe函数被调用,

    进而分配/设置/注册 snd_card

 

以上是关于ASoC框架的主要内容,如果未能解决你的问题,请参考以下文章

I2C协议和驱动框架分析

I2C协议和驱动框架分析

linux 音频子系统代码分析

音频ALSA架构简介

理解ALSA:从零写ASoC驱动

Linux ALSA声卡驱动之五:移动设备中的ALSA(ASoC)