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

2019-07-14 01:35发布

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 "); return ret; } } 系统默认是电压低于3V之后关机,如果觉得不能满足需求,可以修改。
参考:
rk818 datasheet