[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电路。
相关文章推荐
- CSS浮动和定位学习笔记
- C#实现txt定位指定行完整实例
- 基于C#技术实现身份证识别功能
- 识别 MS SQL 各个版本的版本号的方法
- Node.js 条形码识别程序构建思路详解
- C#结合数据库实现验证识别ID卡内容的方法
- Flex中怎么给表格中的滚动条定位避免刷新回到原处
- JavaScript实现点击文本自动定位到下拉框选中操作
- 一个JavaScript操作元素定位元素的实例
- C#识别出图片里的数字和字母
- js中的如何定位固定层的位置
- JS弹出层单纯的绝对定位居中示例代码
- 讲解iOS开发中基本的定位功能实现
- iOS中定位当前位置坐标及转换为火星坐标的方法
- JavaScript网页定位详解
- 微信企业号开发之微信考勤百度地图定位
- Shell实现识别物理cpu个数、核心数
- JavaScript人脸识别技术及脸部识别JavaScript类库Tracking.js
- js实现滚动条滚动到某个位置便自动定位某个tr
- 在Android里完美实现基站和WIFI定位