微波EDA网,见证研发工程师的成长!
首页 > 研发问答 > 手机设计讨论 > MTK手机平台交流 > mt6735 外加smart PA,FM切到外放播放无声

mt6735 外加smart PA,FM切到外放播放无声

时间:10-02 整理:3721RD 点击:
[DESCRIPTION]
外加smart PA,FM切到外放播放无声,耳机是正常的。
[SOLUTION]
原因:FM的interconnection没有连到O0,O1,导致无声~
修改方法:
1.MT6795
/kernel-3.10/sound/soc/mediatek/ mt_soc_audio_v1/mt_soc_pcm_mrgrx.c
static int mtk_pcm_mrgrx_prepare(struct snd_pcm_substream *substream)
{
struct snd_pcm_runtime *runtime = substream->runtime;
printk("%s rate = %d\n", __func__, runtime->rate);
if (mPrepareDone == false)
{
mtk_wcn_cmb_stub_audio_ctrl((CMB_STUB_AIF_X)CMB_STUB_AIF_3);
// interconnection setting
SetConnection(Soc_Aud_InterCon_Connection, Soc_Aud_InterConnectionInput_I15,
_Aud_InterConnectionOutput_O13);
SetConnection(Soc_Aud_InterCon_Connection, Soc_Aud_InterConnectionInput_I16,
Soc_Aud_InterConnectionOutput_O14);
SetConnection(Soc_Aud_InterCon_Connection, Soc_Aud_InterConnectionInput_I10,
Soc_Aud_InterConnectionOutput_O03);
SetConnection(Soc_Aud_InterCon_Connection, Soc_Aud_InterConnectionInput_I11,
Soc_Aud_InterConnectionOutput_O04);
SetConnection(Soc_Aud_InterCon_Connection, Soc_Aud_InterConnectionInput_I10,
Soc_Aud_InterConnectionOutput_O00); //add
SetConnection(Soc_Aud_InterCon_Connection, Soc_Aud_InterConnectionInput_I11,
Soc_Aud_InterConnectionOutput_O01); //add

2.MT6752/6732
在kernel-3.10\sound\soc\mediatek\ mt_soc_audio_v2\mt_soc_pcm_fm_I2S.c中
static int mtk_pcm_fm_i2s_prepare(struct snd_pcm_substream *substream)
{
AudioDigtalI2S m2ndI2SInAttribute;
struct snd_pcm_runtime *runtime = substream->runtime;
printk("%s rate = %d\n", __func__, runtime->rate);
if (mPrepareDone == false)
{
mtk_wcn_cmb_stub_audio_ctrl((CMB_STUB_AIF_X)CMB_STUB_AIF_3);
// interconnection setting
SetConnection(Soc_Aud_InterCon_Connection, Soc_Aud_InterConnectionInput_I00,
Soc_Aud_InterConnectionOutput_O13);
SetConnection(Soc_Aud_InterCon_Connection, Soc_Aud_InterConnectionInput_I01,
Soc_Aud_InterConnectionOutput_O14);
SetConnection(Soc_Aud_InterCon_Connection, Soc_Aud_InterConnectionInput_I10,
Soc_Aud_InterConnectionOutput_O03);
SetConnection(Soc_Aud_InterCon_Connection, Soc_Aud_InterConnectionInput_I11,
Soc_Aud_InterConnectionOutput_O04);
SetConnection(Soc_Aud_InterCon_Connection, Soc_Aud_InterConnectionInput_I10,
Soc_Aud_InterConnectionOutput_O00); //add
SetConnection(Soc_Aud_InterCon_Connection, Soc_Aud_InterConnectionInput_I11,
Soc_Aud_InterConnectionOutput_O01); //add
...

3.mt6735/3735M/6753
在kernel-3.10\sound\soc\mediatek\ mt_soc_audio_v3\mt_soc_pcm_fm_i2s.c中
static int mtk_pcm_fm_i2s_prepare(struct snd_pcm_substream *substream)
{
AudioDigtalI2S m2ndI2SInAttribute;
struct snd_pcm_runtime *runtime = substream->runtime;
printk("%s rate = %d\n", __func__, runtime->rate);
if (mPrepareDone == false)
{
mtk_wcn_cmb_stub_audio_ctrl((CMB_STUB_AIF_X)CMB_STUB_AIF_3);
// interconnection setting
SetConnection(Soc_Aud_InterCon_Connection, Soc_Aud_InterConnectionInput_I00,
Soc_Aud_InterConnectionOutput_O13);
SetConnection(Soc_Aud_InterCon_Connection, Soc_Aud_InterConnectionInput_I01,
Soc_Aud_InterConnectionOutput_O14);
SetConnection(Soc_Aud_InterCon_Connection, Soc_Aud_InterConnectionInput_I10,
Soc_Aud_InterConnectionOutput_O03);
SetConnection(Soc_Aud_InterCon_Connection, Soc_Aud_InterConnectionInput_I11,
Soc_Aud_InterConnectionOutput_O04);
SetConnection(Soc_Aud_InterCon_Connection, Soc_Aud_InterConnectionInput_I10,
Soc_Aud_InterConnectionOutput_O00); //add
SetConnection(Soc_Aud_InterCon_Connection, Soc_Aud_InterConnectionInput_I11,
Soc_Aud_InterConnectionOutput_O01); //add

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top