- 易迪拓培训,专注于微波、射频、天线设计工程师的培养
怎样定位插入耳机无法识别的问题
录入:edatop.com 点击:
[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
interruptone[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配置是否正确。
配置LK里面对应Project的DWS文件,把耳机插拔的GPIO配置为输入上拉。
把耳机插拔的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。
按照accdet的检测原理,请用示波器测量HP_MIC的accdet输入电压是否在
0.5~1.77V之间。
如果电压都不在区间范围之内,请按照参考设计check电路。
怎样定位插入耳机后无任何的图标显示问题
[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
interruptone[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配置是否正确。
配置LK里面对应Project的DWS文件,把耳机插拔的GPIO配置为输入上拉。
把耳机插拔的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。
按照accdet的检测原理,请用示波器测量HP_MIC的accdet输入电压是否在
0.5~1.77V之间。
如果电压都不在区间范围之内,请按照参考设计check电路。
这个一定要赞
谢谢 这个赞小编收下了
申明:网友回复良莠不齐,仅供参考。如需专业帮助,请学习易迪拓培训专家讲授的ADS视频培训课程。
上一篇:求教我的ADS2006A工具栏为什么没有东西本人大四没钱买正版
下一篇:请问ADS爱好者:"an instance of an undefined model"是什么意思?
ADS培训课程推荐详情>>
国内最全面、最专业的Agilent ADS培训课程,可以帮助您从零开始,全面系统学习ADS设计应用【More..】
- Agilent ADS教学培训课程套装
- 两周学会ADS2011、ADS2013视频教程
- ADS2012、ADS2013射频电路设计详解
- ADS高低阻抗线微带滤波器设计培训教程
- ADS混频器仿真分析实例视频培训课程
- ADS Momentum电磁仿真设计视频课程
- ADS射频电路与通信系统设计高级培训
- ADS Layout和电磁仿真设计培训视频
- ADS Workspace and Simulators Training Course
- ADS Circuit Simulation Training Course
- ADS Layout and EM Simulation Training Course
- Agilent ADS 内部原版培训教材合集