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

时间:2020-12-21 14:30:58

[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[headset]怎样定位插入耳机无法识别的问题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配置是否正确。
[headset]怎样定位插入耳机无法识别的问题

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

下载附件  保存到相册

2016-5-12 10:50 上传


配置LK里面对应Project的DWS文件,把耳机插拔的GPIO配置为输入上拉。
[headset]怎样定位插入耳机无法识别的问题

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。
[headset]怎样定位插入耳机无法识别的问题

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

下载附件  保存到相册

2016-5-12 10:50 上传


按照accdet的检测原理,请用示波器测量HP_MIC的accdet输入电压是否在
0.5~1.77V之间。
如果电压都不在区间范围之内,请按照参考设计check电路。