mt6735 [Audio Common]ALSA中外置2in1 speaker

MT6735 问题描述:

在现有PMIC H/W设计,仅能在AU_SPK后外接2in1 speaker;S/W需要作出对应调整(ALSA)


解决方法:
1.projectconfig.mk文件中mtk_2IN1_SPK_SUPPORT=yes
2.Audio_custom_exp.h 文件中进行注释//#define USING_EXTAMP_HP


3.alps/device/mediatek/$platform/audio_device.xml
//添加如下,注意内部顺序
23 <!-- 2-in-1 speaker output-->
24 <path name="two_in_one_speaker_output" value="turnon">
25 <kctl name="Audio_Speaker_class_Switch" value="RECEIVER" />
26 <kctl name="Speaker_Amp_Switch" value="On" />
27 </path>
28 <path name="two_in_one_speaker_output" value="turnoff">
29 <kctl name="Speaker_Amp_Switch" value="Off" />
30 <kctl name="Audio_Speaker_class_Switch" value="CLASSAB" />
31 </path>
//添加如上,注意内部顺序


4.status_t AudioALSAHardwareResourceManagerpenReceiverPath(const uint32_t SampleRate)
{
//添加如下
if (IsAudioSupportFeature(AUDIO_SUPPORT_2IN1_SPEAKER))
{
mDeviceConfigManager->ApplyDeviceTurnonSequenceByName(AUDIO_DEVICE_2IN1_SPEAKER);
}
else
//添加如上
{
mDeviceConfigManager->ApplyDeviceTurnonSequenceByName(AUDIO_DEVICE_RECEIVER);
}
return NO_ERROR;
}


5.status_t AudioALSAHardwareResourceManager::CloseReceiverPath()
{
ALOGD("%s(), AUDIO_DEVICE_OUT_EARPIECE", __FUNCTION__);
//添加如下
if (IsAudioSupportFeature(AUDIO_SUPPORT_2IN1_SPEAKER))
{
mDeviceConfigManager->ApplyDeviceTurnoffSequenceByName(AUDIO_DEVICE_2IN1_SPEAKER);
}
else
//添加如上
{
mDeviceConfigManager->ApplyDeviceTurnoffSequenceByName(AUDIO_DEVICE_RECEIVER);
}
return NO_ERROR;
}


6.status_t AudioALSAVolumeController::setVoiceVolume(float v, audio_mode_t mode,
uint32_t device)
。。。。。。。。。
if (device & AUDIO_DEVICE_OUT_EARPIECE)
。。。。。。。。。。
if (IsAudioSupportFeature(AUDIO_SUPPORT_2IN1_SPEAKER))
{
ApplyMdDlGain(DigitalgradeDb);
ApplyMdDlEhn1Gain(Enh1degradeDb);
//修改如下
#ifndef EXT_SPK_SUPPORT
Set2IN1InternalSpkGain(degradeDb);
#else
Set2IN1ExternalSpkGain(degradeDb);
#endif
//修改如上
}


7.int AudioALSAVolumeController::ApplyAudioGainTuning(int Gain, uint32_t mode, uint32_t
device)
。。。。。。。。
case Audio_Earpiece:
。。。。。。
if (IsAudioSupportFeature(AUDIO_SUPPORT_2IN1_SPEAKER))
{
//修改如下
#ifndef EXT_SPK_SUPPORT
Set2IN1InternalSpkGain(degradeDb);
#else
Set2IN1ExternalSpkGain(degradeDb);
#endif
//修改如上

}

资料来源:MT6735  一牛网论坛

原文地址:http://bbs.16rd.com/thread-454884-1-1.html

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值