首页 > 其他 > 详细

音频kernel部分(架构二)

时间:2017-04-16 15:12:51      阅读:847      评论:0      收藏:0      [点我收藏+]

--

 一:alsa kernel部分主要提供两个东西

①controlC* 一般只有controlC0

②pcmC*D*p/c  23个cpm,C*  card;D* device;p/c p:play back(播放)c:capture(录音);

b3680:/ # cd dev/snd/                                                                                                                       
b3680:/dev/snd # ls -l
total 0
crw-rw---- 1 system audio  14,  12 2016-12-04 01:03 adsp
crw-rw---- 1 system audio  14,   4 2016-12-04 01:03 audio
crw-rw---- 1 system audio 116,  36 2016-12-04 01:03 comprC0D23
crw-rw---- 1 system audio 116,   2 2016-12-04 01:03 controlC0
crw-rw---- 1 system audio  14,   3 2016-12-04 01:03 dsp
crw-rw---- 1 system audio  14,   0 2016-12-04 01:03 mixer
crw-rw---- 1 system audio 116,   3 2016-12-04 01:03 pcmC0D0p
crw-rw---- 1 system audio 116,  19 2016-12-04 01:03 pcmC0D10p
crw-rw---- 1 system audio 116,  20 2016-12-04 01:03 pcmC0D11p
crw-rw---- 1 system audio 116,  21 2016-12-04 01:03 pcmC0D12c
crw-rw---- 1 system audio 116,  22 2016-12-04 01:03 pcmC0D13c
crw-rw---- 1 system audio 116,  23 2016-12-04 01:03 pcmC0D14p
crw-rw---- 1 system audio 116,  24 2016-12-04 01:03 pcmC0D15c
crw-rw---- 1 system audio 116,  25 2016-12-04 01:03 pcmC0D16c
crw-rw---- 1 system audio 116,  27 2016-12-04 01:03 pcmC0D17c
crw-rw---- 1 system audio 116,  26 2016-12-04 01:03 pcmC0D17p
crw-rw---- 1 system audio 116,  28 2016-12-04 01:03 pcmC0D18p
crw-rw---- 1 system audio 116,  29 2016-12-04 01:03 pcmC0D19p
crw-rw---- 1 system audio 116,   4 2016-12-04 01:03 pcmC0D1c
crw-rw---- 1 system audio 116,  30 2016-12-04 01:03 pcmC0D20p
crw-rw---- 1 system audio 116,  31 2016-12-04 01:03 pcmC0D21p
crw-rw---- 1 system audio 116,  34 2016-12-04 01:03 pcmC0D22c
crw-rw---- 1 system audio 116,  35 2016-12-04 01:03 pcmC0D24p
crw-rw---- 1 system audio 116,   6 2016-12-04 01:03 pcmC0D2c
crw-rw---- 1 system audio 116,   5 2016-12-04 01:03 pcmC0D2p
crw-rw---- 1 system audio 116,   8 2016-12-04 01:03 pcmC0D3c
crw-rw---- 1 system audio 116,   7 2016-12-04 01:03 pcmC0D3p
crw-rw---- 1 system audio 116,  10 2016-12-04 01:03 pcmC0D4c
crw-rw---- 1 system audio 116,   9 2016-12-04 01:03 pcmC0D4p
crw-rw---- 1 system audio 116,  12 2016-12-04 01:03 pcmC0D5c
crw-rw---- 1 system audio 116,  11 2016-12-04 01:03 pcmC0D5p
crw-rw---- 1 system audio 116,  14 2016-12-04 01:03 pcmC0D6c
crw-rw---- 1 system audio 116,  13 2016-12-04 01:03 pcmC0D6p
crw-rw---- 1 system audio 116,  16 2016-12-04 01:03 pcmC0D7c
crw-rw---- 1 system audio 116,  15 2016-12-04 01:03 pcmC0D7p
crw-rw---- 1 system audio 116,  17 2016-12-04 01:03 pcmC0D8p
crw-rw---- 1 system audio 116,  18 2016-12-04 01:03 pcmC0D9c
crw-rw---- 1 system audio 116,   1 2016-12-04 01:03 seq
crw-rw---- 1 system audio  14,   1 2016-12-04 01:03 sequencer
crw-rw---- 1 system audio  14,   8 2016-12-04 01:03 sequencer2
crw-rw---- 1 system audio 116,  33 2016-12-04 01:03 timer
b3680:/dev/snd # 

 二:kernel部分代码组成

技术分享

五部分:

01:platform: 一般是指某一个SoC平台,比如MT6582, MT6595, MT6752等等,与音频相关的通常包含该SoC中的Clock、FAE、I2S、DMA等等

02:platform_dai(cpu_dai):连接platform和machine;

03:codec:字面上的意思就是编解码器,Codec里面包含了I2S接口、DAC、ADC、Mixer、PA(功放),通常包含多种输入(Mic、Line-in、I2S、PCM)和多个输出(耳机、喇叭、听筒,Line-out),Codec和Platform一样,是可重用的部件;

04:codec_dai:连接codec和machine;

05:machine:连接platform,coedec;

三:platform(pcm)注册流程

对于mt6737平台用 /kernel-3.18/sound$ vi soc/mediatek/mt_soc_audio_v3/目录下文件,如下pcm相关代码:

lynn.feng:~/project/Git/i6168/kernel-3.18/sound$ vi soc/mediatek/mt_soc_audio_v3/mt_soc_pcm_
mt_soc_pcm_bt_dai.c mt_soc_pcm_dl1_bt.c mt_soc_pcm_fm_i2s_awb.c mt_soc_pcm_mrgrx_awb.c mt_soc_pcm_voice_md2_bt.c
mt_soc_pcm_capture2.c mt_soc_pcm_dl1.c mt_soc_pcm_fm_i2s.c mt_soc_pcm_mrgrx.c mt_soc_pcm_voice_md2.c
mt_soc_pcm_capture.c mt_soc_pcm_dl1_i2s0.c mt_soc_pcm_fmtx.c mt_soc_pcm_routing.c 
mt_soc_pcm_common.c mt_soc_pcm_dl1_i2s0Dl1.c mt_soc_pcm_hdmi.c mt_soc_pcm_uldlloopback.c 
mt_soc_pcm_common.h mt_soc_pcm_dl2.c mt_soc_pcm_hp_impedance.c mt_soc_pcm_voice_md1_bt.c 
mt_soc_pcm_dl1_awb.c mt_soc_pcm_dummy.c mt_soc_pcm_i2s0_awb.c mt_soc_pcm_voice_md1.c

以录音为例来分析:

soc/mediatek/mt_soc_audio_v3/mt_soc_pcm_capture.c

 技术分享

--

技术分享

--

四 

 

 

 

 

 

 

 

 

 

soc/mediatek/mt_soc_audio_v3/mt_soc_codec_63xx.c

 

 

 

 

 

 

 

 

 

 

 

 

 

 

--

音频kernel部分(架构二)

原文:http://www.cnblogs.com/Ph-one/p/6718666.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!