赞
踩
待机平均电流非常容易出问题,也很难分析理清楚,应为涉及APK/Modem/Wifi这些不确定的因素,这类问题一定要遵循一个处理原则,到底在出现啥样的环境下复现,做几个实验,给出清晰的问题描述,问题复制条件、电流波形。
最干净的待机电流波形应该只有Paging,不过要注意两点
1)每个Paging 的间隔,不同的网络不一样,有可能是256ms,512ms,1.24S,2.48S.
系统进入到suspend 后会由SPM 控制,系统由suspend状态转到resume 状态必须先唤醒CPU,所谓的唤醒源其实是一些系统IRQ 资源,通过设定SPM的寄存器,可以选择哪些irq可以被SPM处理并作为系统唤醒源,而哪些不行。MTK 平台为suspend/deep idle/sodi状态设定了不同的唤醒源,suspend的唤醒源可以在mt_spm_sleep.c中找到,
- #if defined(CONFIG_MICROTRUST_TEE_SUPPORT)
- #define WAKE_SRC_FOR_SUSPEND \
- (WAKE_SRC_R12_PCM_TIMER | \
- WAKE_SRC_R12_PMCU_WDT_EVENT_B | \
- WAKE_SRC_R12_KP_IRQ_B | \
- WAKE_SRC_R12_CONN2AP_SPM_WAKEUP_B | \
- WAKE_SRC_R12_EINT_EVENT_B | \
- WAKE_SRC_R12_CONN_WDT_IRQ_B | \
- WAKE_SRC_R12_CCIF0_EVENT_B | \
- WAKE_SRC_R12_CCIF1_EVENT_B | \
- WAKE_SRC_R12_PMCU_SPM_IRQ_B | \
- WAKE_SRC_R12_USBX_CDSC_B | \
- WAKE_SRC_R12_USBX_POWERDWN_B | \
- WAKE_SRC_R12_EINT_EVENT_SECURE_B | \
- WAKE_SRC_R12_MD1_WDT_B | \
- WAKE_SRC_R12_CLDMA_EVENT_B | \
- WAKE_SRC_R12_SCP_SPM_IRQ_B | \
- WAKE_SRC_R12_SCP_WDT_EVENT_B | \
- WAKE_SRC_R12_C2K_WDT_IRQ_B | \
- WAKE_SRC_R12_CSYSPWREQ_B | \
- WAKE_SRC_R12_ALL_MD32_WAKEUP_B)
- #else
- #define WAKE_SRC_FOR_SUSPEND \
- (WAKE_SRC_R12_PCM_TIMER | \
- WAKE_SRC_R12_PMCU_WDT_EVENT_B | \
- WAKE_SRC_R12_KP_IRQ_B | \
- WAKE_SRC_R12_CONN2AP_SPM_WAKEUP_B | \
- WAKE_SRC_R12_EINT_EVENT_B | \
- WAKE_SRC_R12_CONN_WDT_IRQ_B | \
- WAKE_SRC_R12_CCIF0_EVENT_B | \
- WAKE_SRC_R12_CCIF1_EVENT_B | \
- WAKE_SRC_R12_PMCU_SPM_IRQ_B | \
- WAKE_SRC_R12_USBX_CDSC_B | \
- WAKE_SRC_R12_USBX_POWERDWN_B | \
- WAKE_SRC_R12_EINT_EVENT_SECURE_B | \
- WAKE_SRC_R12_MD1_WDT_B | \
- WAKE_SRC_R12_CLDMA_EVENT_B | \
- WAKE_SRC_R12_SCP_SPM_IRQ_B | \
- WAKE_SRC_R12_SCP_WDT_EVENT_B | \
- WAKE_SRC_R12_C2K_WDT_IRQ_B | \
- WAKE_SRC_R12_CSYSPWREQ_B | \
- WAKE_SRC_R12_SEJ_EVENT_B | \
- WAKE_SRC_R12_ALL_MD32_WAKEUP_B)
- #endif /* #if defined(CONFIG_MICROTRUST_TEE_SUPPORT) */

全部唤醒源定义在mt_spm.h 中,重要关注的是以下几个唤醒源:
1)KP 键盘 如果需要侧键唤醒,需要打开这个唤醒源
2)EINT外部中断,其中最重要的是PMIC 中断(RTC alarm 也是这个中断)
3)CONN2AP connectivity子系统
4)CCIF0_MD 和CCIF1_MD 旧架构中使用的modem 唤醒源
5)CLDMA_MD 新架构中使用的唤醒源
6)SEJ 目前只有指纹模块用到
对于modem和connectivity ,不同的架构有不同的唤醒源,在分析问题之前需要确认清楚架构。
pmic/modem/connectivity 用到的EINT channel 的每个平台也不一样,可以在各自的驱动中找到注册的EINT channel,也可以在DWS中看定义。
唤醒源是我们定位问题的关键,需要了解清楚哥哥MTK 硬件平台的差异。
如果传导测试失败,请RF 相关的人处理,检查下面的因子:
1)RF 参数
2)白卡和仪器是否适配
3)仪器设定是否正确
确认手机进行过校正
确认手机是装过天线的
确认手机又IMEI 号
确认modem基本功能正常
确认SIM 不欠费和不是特殊SIM卡
复现问题时插的卡以及modem类型:
1)单卡还是双卡
2)卡类型(移动、电信、联通、2G、3G、4G )
3)每个卡对应的modem
A)问题描述:
B)log
C) 电流波形
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。