mt6735 如何通过I2S添加外部DAC?
时间:10-02
整理:3721RD
点击:
[DESCRIPTION]
如何通过I2S 添加外部codec
[SOLUTION]
以下是MT6592 JB9.MPporting external codec的方法,其它chip添加方法类似。
1,请先在\mediatek\config\common\ProjectConfig.mk中将mtk_AUDIO_EXTCODEC_SUPPORT = no置为yes CUSTOM_KERNEL_SOUND = 改为贵司需要添加的IC 型号。
2,如果单独添加EXT DAC,且挂在I2S DAC上面,即audio通路是和MTK方式一致,见下图。那么这种连接方式会比较简单,软件上不需要做什么修改,只需要配置正确的GPIO,具体配置GPIO 问题,请参考eCourse:。
3,如果是改接其他I2S,比如连接到2ndI2S也是可以的,不过需要在代码中相应位置去修改code。
如下列出来的是UL/DL都走EXTIC的情况,用的是2ndI2SIN/OUT这一组,采用48k输出,如果是其他接法,请在相应的位
置做改动即可。
AudioPlayback的部分
platform/common/hardware/audio/aud_drv/AudioMTKStreamManager.cpp
AudioMTKStreamManager:penOutputStream()
*sampleRate=44100;
改为
*sampleRate=48000;
uint32AudioDigitalControl:lPolicyByDevice(uint32_tDevice)
{
ALOGV("+%s(),Device=%d\n",__FUNCTION__,Device);
if(Device&AUDIO_DEVICE_OUT_bluetooth_SCO||
Device&AUDIO_DEVICE_OUT_BLUETOOTH_SCO_HEADSET||
Device&AUDIO_DEVICE_OUT_BLUETOOTH_SCO_CARKIT){
returnAudioDigitalType::DAI_BT;
}
elseif(Device&AUDIO_DEVICE_OUT_AUX_DIGITAL||
Device&AUDIO_DEVICE_OUT_ANLG_DOCK_HEADSET||
Device&AUDIO_DEVICE_OUT_FM_TX){
returnAudioDigitalType::I2S_OUT_2;
}
else{
returnAudioDigitalType::I2S_OUT_DAC;//这里修改为I2S_OUT_2
}
}
在这里修改,根据需求把AudioDigitalType设定为I2S_OUT_2.
这样应该就可以直接从I2S_OUT_2量到Audio输出的讯号.
完整资料请下载文件
如何通过I2S 添加外部codec
[SOLUTION]
以下是MT6592 JB9.MPporting external codec的方法,其它chip添加方法类似。
1,请先在\mediatek\config\common\ProjectConfig.mk中将mtk_AUDIO_EXTCODEC_SUPPORT = no置为yes CUSTOM_KERNEL_SOUND = 改为贵司需要添加的IC 型号。
2,如果单独添加EXT DAC,且挂在I2S DAC上面,即audio通路是和MTK方式一致,见下图。那么这种连接方式会比较简单,软件上不需要做什么修改,只需要配置正确的GPIO,具体配置GPIO 问题,请参考eCourse:。
3,如果是改接其他I2S,比如连接到2ndI2S也是可以的,不过需要在代码中相应位置去修改code。
如下列出来的是UL/DL都走EXTIC的情况,用的是2ndI2SIN/OUT这一组,采用48k输出,如果是其他接法,请在相应的位
置做改动即可。
AudioPlayback的部分
platform/common/hardware/audio/aud_drv/AudioMTKStreamManager.cpp
AudioMTKStreamManager:penOutputStream()
*sampleRate=44100;
改为
*sampleRate=48000;
uint32AudioDigitalControl:lPolicyByDevice(uint32_tDevice)
{
ALOGV("+%s(),Device=%d\n",__FUNCTION__,Device);
if(Device&AUDIO_DEVICE_OUT_bluetooth_SCO||
Device&AUDIO_DEVICE_OUT_BLUETOOTH_SCO_HEADSET||
Device&AUDIO_DEVICE_OUT_BLUETOOTH_SCO_CARKIT){
returnAudioDigitalType::DAI_BT;
}
elseif(Device&AUDIO_DEVICE_OUT_AUX_DIGITAL||
Device&AUDIO_DEVICE_OUT_ANLG_DOCK_HEADSET||
Device&AUDIO_DEVICE_OUT_FM_TX){
returnAudioDigitalType::I2S_OUT_2;
}
else{
returnAudioDigitalType::I2S_OUT_DAC;//这里修改为I2S_OUT_2
}
}
在这里修改,根据需求把AudioDigitalType设定为I2S_OUT_2.
这样应该就可以直接从I2S_OUT_2量到Audio输出的讯号.
完整资料请下载文件
学习了
666666
给力给力,,,:lol:lol