平台: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; }
时间: 2024-10-10 15:29:30