zoukankan      html  css  js  c++  java
  • Android驱动笔记(13)——PMIC reset介绍

     遇到系统卡死的情形,我们经常长按power键10多s触发reset,强制机器重启。Pmic可以通过设置寄存器来配置不同的reset等级实现不同的效果。

    13.1、reset等级(RESET_TYPE)

    1. warm reset:这种等级的reset将保留DDR memory以及一部分的PMIC寄存器。
    2. hard reset:将清空DDR memory,以及保留和warm reset一样的部分PMIC寄存器。
    3. dvdd hard reset:将清空DDR memory,以及保留更多的PMIC寄存器,类似拔电池并保留VCOIN的状态。
    4. xvdd hard reset:将清空DDR memory和PMIC寄存器。

     如果想达到拔电池的reset效果,可以通过配置DVDD hard reset来实现。如果要达到拔掉纽扣电池的效果,配置XVDD hard reset。
     如果要想触发reset后可以抓dump,需要warm reset。有时候本身release代码,长按电源键,默认是warm reset,我们需要改成vdd hard reset。

    13.2、reset设置

     如果需要配置触发reset的等级和时间,通常需要修改两处:

    /*pm_sbl_boot_oem.c*/
    err_flag |= pm_app_pon_reset_cfg(PM_APP_PON_RESET_SOURCE_KPDPWR, ...)
    
    /**.dtsi*/
    qcom, pon_1 {
        ......
        qcom.s1-timer = <6720> //modify here
    }
    
  • 相关阅读:
    Git 修改已提交的commit注释
    设置git bash中显示行号等
    JS 获取字符串长度
    泛型接口
    约束
    泛型方法
    泛型
    重载运算符
    自定义转换
    装箱和拆箱
  • 原文地址:https://www.cnblogs.com/hansenn/p/12822365.html
Copyright © 2011-2022 走看看