微波EDA网,见证研发工程师的成长!
首页 > 研发问答 > 手机设计讨论 > MTK手机平台交流 > 怎样解决多次插拔耳机有KEY_PLAYPAUSE事件产生的问题

怎样解决多次插拔耳机有KEY_PLAYPAUSE事件产生的问题

时间:10-02 整理:3721RD 点击:
[DESCRIPTION]
在拨打电话过程中,拔插耳机如果有KEY_PLAYPAUSE事件会导致MIC静音功能触发。
插拔过程中由于受到耳机插槽结构的影响,正常速度拔出耳机会概率存在检测到三段式耳机的情况,这样就误认为检测到了按键。
[SOLUTION]
修改文件:
alps\kernel-
3.10\drivers\misc\mediatek\mach\$platform\$project\accdet\accdet_custom.c
#if defined ACCDET_EINT || defined ACCDET_EINT_IRQ
static struct heADSet_mode_settings cust_headset_settings = {
0x900, 0X200, 1, 0x1f0, 0x800, 0x800, 0x20
};
#else
0x20表示耳机拔出的accdet PMIC中断延迟时间,accdet的时钟为32K,这样0x20表示
时间为(0x20/32K)=1ms
可以把0x20修改为0x4000,这样debounce时间为(0x4000/32K)=512ms
调大该数值的目的是,拔出耳机的时候让accdet pmic中断延迟,让耳机插拔的
EINT先产生,
这样在拔出耳机的EINT里面会把accdet关闭掉,这样accdet就不会检测耳机按键了
,就不会有按键上报。

mark一下

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

网站地图

Top