* Pavel Machek <pavel@xxxxxx> [190819 12:44]: > Hmm. Related changes make it harder, not easier but.. here you > go... But... while this is simple... you are applying it at your own > risk. Untested. One potential problem is that while mainline will charge > to 4.2V, "power off charging" and Adroid will still charge to 4.35V, > leading to charge/discharge cycles even while charging is connected. I guess not much we can do about Android charging at 4.35V. > > Then later on we may want to optionally consider implementing > > support for 4.35V charge voltages assuming we scale down the > > charge voltage to 4.2V after reaching full charge. > > Not sure how that would work / why we'd want to do that / what do you > consider to be full charge. Well that would be if we wanted to make use of the extra capacity.. > https://secondlifestorage.com/t-Li-ion-4-35V-How-much-do-we-lose-by-charging-it-at-4-20V > https://batteryuniversity.com/learn/article/confusion_with_voltages .. but yeah I don't know what we should consider full. I guess it's a 3.8V/4.35V battery vs 3.7V/4.2V battery.. To me it seems safest to set charge voltage to 4.2V and battery full to 4.2V until we we have some better ideas. > Signed-off-by: Pavel Machek <pavel@xxxxxx> > > diff --git a/drivers/power/supply/cpcap-charger.c b/drivers/power/supply/cpcap-charger.c > index cc546bc..3a82f30 100644 > --- a/drivers/power/supply/cpcap-charger.c > +++ b/drivers/power/supply/cpcap-charger.c > @@ -440,7 +440,7 @@ static void cpcap_usb_detect(struct work_struct *work) > max_current = CPCAP_REG_CRM_ICHRG_0A532; > > error = cpcap_charger_set_state(ddata, > - CPCAP_REG_CRM_VCHRG_4V35, > + CPCAP_REG_CRM_VCHRG_4V20, > max_current, 0); > if (error) > goto out_err; > So I think you also need to change the battery full to 4.2V too? Sure if Android charged to 4.35V, we show 15 minutes of over 100%.. Regards, Tony