标签:
只用BQ24296的OTG+PMU充电,第1次接入U盘提示充电问题的解决
平台:msm8909+android5.1.1
目前由于BQ24296充电方式的电量显示还存在不少问题,改为只用BQ24296的OTG功能,还是采用PMU来充电,但发现第1次接入U盘提示充电
为什么会有这种情况,根源暂时没有找出来,但可以kernel\drivers\power\qpnp\linear-charger.c下的get_prop_batt_status()增加下面的处理可以避开此问题
static int get_prop_batt_status(struct qpnp_lbc_chip *chip)
{
int rc;
u8 reg_val;
union power_supply_propval ret = {0,};
if (qpnp_lbc_is_usb_chg_plugged_in(chip) && chip->chg_done)
return POWER_SUPPLY_STATUS_FULL;
rc = qpnp_lbc_read(chip, chip->chgr_base + INT_RT_STS_REG,
®_val, 1);
if (rc) {
pr_err("Failed to read interrupt sts rc= %d\n", rc);
return POWER_SUPPLY_CHARGE_TYPE_NONE;
}
//kandi add start
chip->usb_psy->get_property(chip->usb_psy,POWER_SUPPLY_PROP_ONLINE, &ret);
if(ret.intval)//解决第1次接入U盘显示充电问题
{
if (reg_val & FAST_CHG_ON_IRQ)
{
return POWER_SUPPLY_STATUS_CHARGING;
}
}
//kandi add end
return POWER_SUPPLY_STATUS_DISCHARGING;
}只用BQ24296的OTG+PMU充电,第1次接入U盘提示充电问题的解决
标签:
原文地址:http://blog.csdn.net/loongembedded/article/details/50610677