AUDIO驱动点检表
备注:以下都以MT6753,ANDROID 5.1版本为基础。
1.驱动配置部分
1.1 耳机部分
配置文件: accdet_custom_def.h
耳机MIC模式配置:
默认 :#define ACCDET_MIC_MODE (6)
更改为:#define ACCDET_MIC_MODE (1) 模式1,这个是由硬件电路决定的,具体是模式几能跟硬件确定。
耳机检测配置
#define ACCDET_EINT // dengzy modify //ACC mode
MTK建议是ACCDET+EINT, 也可以单独用 ACCDET, 但是会引入POP音和某些情况下带来更多的失效问题。
目前我司几个平台都用的 ACCDET_EINT, 直接定义这个宏即可。
1.2 MIC部分
配置文件: audio_custom_exp.h
#define PHONE_MIC_MODE (1)
配置MIC模式的,具体是模式几要根据电路图或者跟硬件确认。 我司目前自研的几个项目都是1
#define MAIN_REF_MIC_INVERSE 0
如果有2个MIC,可以配置主MIC和副MIC 互换,但是目前这个好像没用了,在projectconfig.mk里配置,MTK_AUDIO_MIC_INVERSE = no
双MIC配置:
MTK_DUAL_MIC_SUPPORT = yes
NMNR配置:
各种模式下的NMNR是可以在 projectconfig.mk里面单独配置的。
1.3 喇叭部分
1.3.1平台内置喇叭
平台喇叭很简单,主要是配置模式,一种是A/B类,一种是D类,一般配置为D类,定义一下宏
#define USING_CLASSD_AMP
1.3.2外置喇叭
外加功放
如果是外置的功放,需要配置宏#define USING_EXTAMP_HP, 当然也需要配置使能GPIO.
智能功放
查看原理图,看看用了哪些GPIO,I2C,I2S信号, 配置后最好用示波器确认是否正常。
需要自己写一个KERNEL I2C设备。
在projectconfig.mk里配置NXP_SMARTPA_SUPPORT = tfa9890
vendor/mediatek/proprietary/external/nxp/tfa9890/tfa9890_cust.h中配置模式,需要匹配上KERNEL设备名称,如果没有拿到参数之前,智能配置BY_PASS模式,参数拿到之后可以配置DSP模式。
校准功能:需要自己扩HAL到应用的接口,这个具体问题得具体分析。
2.音频参数集成
拿到参数直接集成到
vendor/mediatek/proprietary/custom/L5/cgen/cfgdefault目录中即可。