您的位置:首页 > 其它

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

2017-11-20 09:30 211 查看
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 AudioALSAHardwareResourceManager

penReceiverPath(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
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  MT6735 一牛网论坛