拿到的源码RK808默认低于3.5V关机,修改为低于3.0V中断。
那么看一下规格书:
#define VB_LO_ACT BIT(4)
#define VB_LO_SEL_3500MV (7 << 0)
#define VB_LO_SEL_3000MV (2 << 0)
修改寄存器初始化配置:
static const struct rk808_reg_data rk808_pre_init_reg[] = {
{ RK808_BUCK3_CONFIG_REG, BUCK_ILMIN_MASK, BUCK_ILMIN_150MA },
{ RK808_BUCK4_CONFIG_REG, BUCK_ILMIN_MASK, BUCK_ILMIN_200MA },
{ RK808_BOOST_CONFIG_REG, BOOST_ILMIN_MASK, BOOST_ILMIN_100MA },
{ RK808_BUCK1_CONFIG_REG, BUCK1_RATE_MASK, BUCK_ILMIN_200MA },
{ RK808_BUCK2_CONFIG_REG, BUCK2_RATE_MASK, BUCK_ILMIN_200MA },
{ RK808_DCDC_UV_ACT_REG, BUCK_UV_ACT_MASK, BUCK_UV_ACT_DISABLE},
{ RK808_RTC_CTRL_REG, RTC_STOP, RTC_STOP},
#ifdef CONFIG_RK808_DISABLE_VABT_LOW_SHUTDOWN
{ RK808_VB_MON_REG, MASK_ALL, EN_VBAT_LOW_IRQ | VB_LO_SEL_3000MV },
#else
{ RK808_VB_MON_REG, MASK_ALL, EN_VABT_LOW_SHUT_DOWN |
VB_LO_SEL_3500MV },
#endif
};