您的位置:首页 > 其它

[headset]怎样定位插入耳机无法识别的问题

2016-07-20 17:11 141 查看

[headset]怎样定位插入耳机无法识别的问题

[DESCRIPTION]

怎样定位插入耳机后无任何的图标显示问题

[SOLUTION]

首先在kernel log里面搜索关键字accdet,看是否有耳机插拔的EINT中断和ACCDET

PMIC中断。

耳机插拔的eint中断

<4>[ 227.035109] (0)[169:kworker/u16:5][Accdet]EINT func :plug-in

<4>[ 227.035120] (0)[169:kworker/u16:5][Accdet]accdet hardware init

<4>[ 227.035131] (0)[169:kworker/u16:5][Accdet]accdet TOP_CKPDN=0x7573!

<4>[ 227.035136] (0)[169:kworker/u16:5]ACCDET reset : reset start!!

<4>[ 227.035143] (0)[169:kworker/u16:5]ACCDET reset function test: reset finished!!

<4>[ 227.035188] (0)[169:kworker/u16:5] ACCDET_ADC_REG =f80

<4>[ 227.035196] (0)[169:kworker/u16:5] ACCDET_EINT_NV =0

<4>[ 227.035205] (0)[169:kworker/u16:5] ACCDET_RSV =1290

<4>[ 227.035223] (0)[169:kworker/u16:5][Accdet]pin recog start! micbias always on!

<4>[ 227.035234] (0)[169:kworker/u16:5]accdet: enable_accdet

<4>[ 227.035250] (0)[169:kworker/u16:5][Accdet]enable_irq !!!!!!

2、耳机类型判断的accdet pmic中断

<5>[ 227.643324] (0)[53:pmic_6325_threa][Power/PMIC] [accdet_int_handler]....

<4>[ 227.643358] (0)[53:pmic_6325_threa][Accdet]clear_accdet_interrupt: ACCDET_IRQ_STS

(ed8) = 0x101

<4>[ 227.643467] (1)[169:kworker/u16:5][Accdet]accdet interrupt happen:[Plug_out] AB=1

[0x7055]

<4>[ 227.643533] (1)[169:kworker/u16:5][Accdet]check_cable_type: ACCDET_IRQ_STS = 0x100

<4>[ 227.643598] (1)[169:kworker/u16:5][Accdet]check_cable_type:Clear

interrupt

one[0x0]!

<4>[ 227.643623] (1)[169:kworker/u16:5][Accdet]cable type:[Headset_mic], status

switch:[Plug_out]->[Headset_plug_in]

1、如果第一步的log都没有,那就是耳机插拔的GPIO状态不对导致,按照下面的步骤check配置是否正确。



5.12tp-13.png (62.22 KB, 下载次数: 0 )

下载附件  保存到相册

2016-5-12 10:50 上传

配置LK里面对应Project的DWS文件,把耳机插拔的GPIO配置为输入上拉。



5.12tp-14.png (56.04 KB, 下载次数: 0 )

下载附件  保存到相册

2016-5-12 10:50 上传

把耳机插拔的EINT触发方式配置为低电平触发,256ms的debounce time。

开机后,不插入耳机看该GPIO是否为高电平,以及对应的mode是否正确。可以使用

adb命令来check。

#adb shell

#cd /sys/devices/virtual/misc/mtgpio/

check all GPIO setting

index: mode(0~7) pullselect(0 low,1 high) din(1 en) dout(1 en)

pullenable(1 en) dir(0 in, 1 out) ies(1 en)

#cat pin

PIN: [MODE] [PULL_SEL] [DIN] [DOUT] [PULL EN] [DIR] [IES]

36: 0 1 1 0 1 0 1

标红的值表示配置为输入上拉,DIN为1表示该GPIO是高电平,为0表示是低电平。

如果DIN为0,说明该GPIO的电平状态是不正确的,先确保配置正确,配置正确后电平

不正确,请check 硬件电路。

2、如果有第一步的log,没有第二步的accdet pmic 中断log。



5.12tp-15.png (146.06 KB, 下载次数: 0 )

下载附件  保存到相册

2016-5-12 10:50 上传

按照accdet的检测原理,请用示波器测量HP_MIC的accdet输入电压是否在

0.5~1.77V之间。

如果电压都不在区间范围之内,请按照参考设计check电路。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息