[FAQ09541] [Power]待机电流问题,如何查找EINT唤醒源

来源:互联网 发布:burberry 风衣 知乎 编辑:程序博客网 时间:2024/04/29 18:52
Platform:MT6577MT6582MT6589MT6572
Branch:ICS2JB2JB3JB5

FAQ Content

产生EINTchannel会记录在EINT_STA状态寄存器里面,这一点所有平台都一样;只要知道这个状态寄存器的值就可以知道哪个channel发生了中断;但是不同平台的log细节会有些不同。

--->89/72/82wakeup时,如果唤醒源是EINT,会主动打印出EINT_STA的值

--->77默认不会打印这个寄存器,需要先开启EINT_DEBUG这个宏,才能看到EINT_STA的值

kernel log分析:

---------------------------------------------------------------------------------------------------------------------------

【step1 - kernel log中找到EINT channel id】

MT6577

[Power/Sleep] wake up by EINT (0x20)(0x4)(180689)  (* 这里0x20是EINT wakesrc id,0x4是sleep ISR寄存器状态,都不是channel id!)

EINT Module - EINT_STA = 0x400--->bit[n] =1, channel id 就等于n

MT6589/MT6582

[SPM] wake up by EINT (0x20)(0x20)(370340)

EINT_STA:

3 --->这个值就是EINT channel id,不需要转换

MT6572

[PCM WAKEUP NORMAL]CPU WAKE UP BY: EINT :0x10000 --->bit[n] =1, channel id 就等于n

 

 

【step2 - 过滤PMIC触发的EINT唤醒】

pwrkey/charger/usb/这些事件发生时会有EINT产生,走的都是PMICEINT channel并且89/72平台上,rtc(比如第三方APK造成的唤醒)和其他一些中断也会走PMICEINT;因此要先把PMIC EINT过滤掉,不需要去关注这个channel上的唤醒(当然rtc唤醒的话还是要分析的,只不过并不是去分析EINT唤醒源了)。所幸PMICEINT channel id是固定的,不能修改,所以可以直接看channel id来过滤,各平台的PMIC EINT channel如下:

MT6577    9  EINT_STA=0x400

MT6589    3  EINT_STA=3

MT6572    16EINT_STA=0x10000

MT6582    25EINT_STA=25

 

【step3 -cust_eint.h中找到触发EINT的模块】

 CUST_EINT_XXX_NUM   对应的值就是XXX模块的EINT channel id

如果在这个文件中没有找到造成唤醒的channel id的定义,说明可能没有用DCT Tool去配置EINT,而是直接写死在代码里,那就尝试搜索所有调用mt65xx_eint_registration的代码,看有没有注册这个channel id的。

 

<script>window._bd_share_config={"common":{"bdSnsKey":{},"bdText":"","bdMini":"2","bdMiniList":false,"bdPic":"","bdStyle":"0","bdSize":"16"},"share":{}};with(document)0[(getElementsByTagName('head')[0]||body).appendChild(createElement('script')).src='http://bdimg.share.baidu.com/static/api/js/share.js?v=89860593.js?cdnversion='+~(-new Date()/36e5)];</script>
阅读(1042) | 评论(0) | 转发(0) |
0

上一篇:[FAQ07421] 待机时,怎么看AP每次wake up起来的时长

下一篇:[FAQ09542] [Power]待机电流问题,如何查找wakelock

相关热门文章
  • Android之开发环境搭建
  • Android自定义View的实现...
  • AndroidManifest.xml配置文件...
  • Android相对布局+圆角按钮+Sha...
  • 查看Android应用包名package和...
  • linux dhcp peizhi roc
  • 关于Unix文件的软链接
  • 求教这个命令什么意思,我是新...
  • sed -e "/grep/d" 是什么意思...
  • 谁能够帮我解决LINUX 2.6 10...
给主人留下些什么吧!~~
原创粉丝点击