[RK3288][Android6.0] 调试笔记 --- 低电压引起的关机问题

来源:互联网 发布:2016淘宝热卖行业 编辑:程序博客网 时间:2024/05/05 10:45

Platform: Rockchip
OS: Android 6.0
Kernel: 3.10.92

由于电池电源的输出会经过一个二极管,遇到个别机器使用会出现偶尔关机现象,这个功能是在pmu rk818中控制的。


对应的寄存器描述:
这里写图片描述
这里写图片描述

也就是说可控制电压的范围是在2.8 ~ 3.5V,比如设置3V,那么当电压掉到3V时,可触发两种行为中的一种:

  • 直接关机
  • 发中断交由cpu决定如何处理

代码:
rk818.c

static int rk818_pre_init(struct rk818 *rk818){    /****************set vbat low **********/    val = rk818_reg_read(rk818,RK818_VB_MON_REG);    val &=(~(VBAT_LOW_VOL_MASK | VBAT_LOW_ACT_MASK));    val |= (RK818_VBAT_LOW_3V0 | EN_VABT_LOW_SHUT_DOWN);    ret = rk818_reg_write(rk818,RK818_VB_MON_REG,val);    if (ret <0) {        printk(KERN_ERR "Unable to write RK818_VB_MON_REG reg\n");        return ret;    }}

系统默认是电压低于3V之后关机,如果觉得不能满足需求,可以修改。


参考:
rk818 datasheet

阅读全文
1 0