首页 > 技术文章 > Power Debug Guide

rainey-forrest 2019-09-09 15:38 原文

  • Check APSS wakeups

    1.Enable the following debug mask to log the interrupt information in the kernel logs:

                  echo 1 > /sys/module/msm_show_resume_irq/parameters/debug_mask

    2.Check prints in the kernel log to identify which interrupt is causing the APSS to wake up. The
     following snippet shows that the APSS is awakened by qpnp_kpdpwr_status, which is the power
     key press interrupt:      

                  <6>[0414 06:51:27.872744]@0 @0 __qpnpint_handle_irq: 288 triggered [0x0,
                      0x08,0x0] qpnp_kpdpwr_status
                  <6>[0414 06:51:27.872751]@0 @0 gic_show_resume_irq: 200 triggered qcom,smdrpm
                  <6>[0414 06:51:27.872758]@0 @0 gic_show_resume_irq: 203 triggered
                        601d0.qcom,mpm
                  <6>[0414 06:51:27.872765]@0 @0 gic_show_resume_irq: 222 triggered
                        200f000.qcom,spmi

  • Check leakage in sleep current  

     1.If the base current is higher than expected, even after the device successfully enters VDD
     minimization, there are one or more leakage sources on the device contributing to the total current
     consumption.

     Leakage can occur from multiple sources, such as the following:

     ■ Leakage from SMPS and LDOs not used during sleep but are kept enabled; a PMIC dump is
        helpful in checking possible leakage from SMPS and LDOs
     ■ Leakage from GPIO pads if one or more GPIOs are not configured correctly in their lowest
        leakage settings; a GPIO dump can be helpful in determining the sleep configuration of the MSM™
        GPIOs
     ■ Leakage from peripherals and external components not disabled or put in Low Power mode
        configuration

推荐阅读