mirror of
https://github.com/Telecominfraproject/OpenCellular.git
synced 2025-12-30 18:41:11 +00:00
Falco: Stop charging after a timeout of 10 hours
BUG=chrome-os-partner:20145 BRANCH=falco TEST=Hack it. Add (uint64_t)599 * MINUTE to ctx->curr.ts.val in the timeout comparison. This makes the 10 hour timeout only take 1 minute. Testing this directly is tricky as a healthy battery will charge quickly. If you force it to trickle charge it will give up before 10 hours pass. Change-Id: I69094a07e58c2d65e322ddc6a1b2ced828da0e26 Signed-off-by: Dave Parker <dparker@chromium.org> Reviewed-on: https://gerrit.chromium.org/gerrit/64309
This commit is contained in:
@@ -157,6 +157,7 @@ enum x86_signal {
|
||||
#define CONFIG_CHARGER_SENSE_RESISTOR 10 /* Charge sense resistor, mOhm */
|
||||
#define CONFIG_CHARGER_SENSE_RESISTOR_AC 10 /* Input sensor resistor, mOhm */
|
||||
#define CONFIG_CHARGER_INPUT_CURRENT 4032 /* mA, about half max */
|
||||
#define CONFIG_CHARGER_TIMEOUT_HOURS 10 /* Max time to charge battery, hours */
|
||||
|
||||
enum adc_channel {
|
||||
/* EC internal die temperature in degrees K. */
|
||||
|
||||
@@ -631,6 +631,16 @@ void charger_task(void)
|
||||
while (1) {
|
||||
state_common(ctx);
|
||||
|
||||
#ifdef CONFIG_CHARGER_TIMEOUT_HOURS
|
||||
if (ctx->curr.state == PWR_STATE_CHARGE &&
|
||||
ctx->power_state_updated_time.val +
|
||||
CONFIG_CHARGER_TIMEOUT_HOURS * HOUR < ctx->curr.ts.val) {
|
||||
CPRINTF("[%T Charge timed out after %d hours]\n",
|
||||
CONFIG_CHARGER_TIMEOUT_HOURS);
|
||||
charge_force_idle(1);
|
||||
}
|
||||
#endif /* CONFIG_CHARGER_TIMEOUT_HOURS */
|
||||
|
||||
switch (ctx->prev.state) {
|
||||
case PWR_STATE_INIT:
|
||||
case PWR_STATE_REINIT:
|
||||
|
||||
@@ -125,6 +125,15 @@
|
||||
/* Value of the input current sense resistor, in mOhms */
|
||||
#undef CONFIG_CHARGER_SENSE_RESISTOR_AC
|
||||
|
||||
/*
|
||||
* Maximum time to charge the battery, in hours.
|
||||
*
|
||||
* If this timeout is reached, the charger will enter force-idle state.
|
||||
* If not defined, charger will provide current until the battery asks it to
|
||||
* stop.
|
||||
*/
|
||||
#undef CONFIG_CHARGER_TIMEOUT_HOURS
|
||||
|
||||
/*****************************************************************************/
|
||||
/* Chipset config */
|
||||
|
||||
|
||||
Reference in New Issue
Block a user