mako: power: pm8921-bms: remove Dynamic Unusable Charge algorithm

The dynamic UUC algorithm changes the UUC as load, state of charge and
temperature changes. This uncontrolled behaviour causes unacceptable
jumps in state of charge numbers.

Replace the dynamic UUC algorithm with a simple average current based
UUC. The average current is calculated by remembering the load for last
few (16) samples. Also to maintain a reasonable UUC while charging, a
load of 300mA is assumed.

Note that the first time UUC is calculated we don't have load samples
and in that case the instantaneous current is used.

Since we now don't change the UUC with respect to max possible load
(itest), the usage of this value is removed.  Also instead of failure
voltage we introduce cutoff voltage which represents the loaded voltage
by which the battery should be reported 0%.

Change-Id: I831cea14c0670bbb61e6d7808ad336c5dbc33022
This commit is contained in:
choongryeol.lee 2012-08-15 00:32:40 -07:00 committed by Iliyan Malchev
parent 563f2f32fe
commit 32998c3a82

View file

@ -384,8 +384,7 @@ static struct pm8921_bms_platform_data
apq8064_pm8921_bms_pdata __devinitdata = {
.battery_type = BATT_LGE,
.r_sense = 10,
.i_test = 834,
.v_failure = 3300,
.v_cutoff = 3400,
.max_voltage_uv = MAX_VOLTAGE_MV * 1000,
};