summaryrefslogtreecommitdiff
path: root/board/poppy/board.c
diff options
context:
space:
mode:
authorShawn Nematbakhsh <shawnn@chromium.org>2017-10-23 15:45:16 -0700
committerchrome-bot <chrome-bot@chromium.org>2017-11-02 23:21:52 -0700
commit2f127f3081be00dc318b4e0b9a9947c68b24849d (patch)
treea5ca33f3e2654f788e676790dee4d5d65a18b773 /board/poppy/board.c
parentf28ab5c2ecd0549a72dc042564374faade58abcc (diff)
downloadchrome-ec-2f127f3081be00dc318b4e0b9a9947c68b24849d.tar.gz
charge_manager: Enter safe mode at boot
Charge port / current selection often needs to be significantly altered when a battery cannot provide sufficient charge, so have charge_manager initially enter safe mode. After a battery with sufficient capacity has been identified, charge manager will leave safe mode, and port / current selection will return to standard rules. BUG=chromium:777596 BRANCH=None TEST=Pass charge_manager unit tests. On kevin, remove battery, attach Apple PD charger, verify safe mode is not exited and device does not brown out. Hot-plug battery and verify safe mode is exited. Next, remove battery, attach to Samus, verify safe mode is not exited and device doesn't brown out. Hot-plug battery, verify that safe mode is exited and no active charge port, due to dual-role exclusion. Change-Id: I7784865750087a037aad8dbbac058b22c77ba6d4 Signed-off-by: Shawn Nematbakhsh <shawnn@chromium.org> Reviewed-on: https://chromium-review.googlesource.com/733954 Commit-Ready: Shawn N <shawnn@chromium.org> Tested-by: Shawn N <shawnn@chromium.org> Reviewed-by: Vincent Palatin <vpalatin@chromium.org>
Diffstat (limited to 'board/poppy/board.c')
-rw-r--r--board/poppy/board.c9
1 files changed, 0 insertions, 9 deletions
diff --git a/board/poppy/board.c b/board/poppy/board.c
index b80be0b7dd..513f17441c 100644
--- a/board/poppy/board.c
+++ b/board/poppy/board.c
@@ -748,7 +748,6 @@ DECLARE_HOOK(HOOK_AC_CHANGE, board_extpower, HOOK_PRIO_DEFAULT);
*/
int board_set_active_charge_port(int charge_port)
{
- static uint8_t initialized;
/* charge port is a physical port */
int is_real_port = (charge_port >= 0 &&
charge_port < CONFIG_USB_PD_PORT_COUNT);
@@ -761,13 +760,6 @@ int board_set_active_charge_port(int charge_port)
return EC_ERROR_INVAL;
}
- if (!initialized &&
- charge_port == CHARGE_PORT_NONE &&
- charge_get_percent() < CONFIG_CHARGER_MIN_BAT_PCT_FOR_POWER_ON) {
- CPRINTS("Bat critical, don't stop charging");
- return -1;
- }
-
CPRINTF("New chg p%d", charge_port);
if (charge_port == CHARGE_PORT_NONE) {
@@ -783,7 +775,6 @@ int board_set_active_charge_port(int charge_port)
GPIO_USB_C0_CHARGE_L, 0);
}
- initialized = 1;
return EC_SUCCESS;
}