summaryrefslogtreecommitdiff
path: root/board/kukui/board.c
diff options
context:
space:
mode:
Diffstat (limited to 'board/kukui/board.c')
-rw-r--r--board/kukui/board.c11
1 files changed, 7 insertions, 4 deletions
diff --git a/board/kukui/board.c b/board/kukui/board.c
index f388dca751..21d77589fe 100644
--- a/board/kukui/board.c
+++ b/board/kukui/board.c
@@ -161,7 +161,7 @@ int board_set_active_charge_port(int charge_port)
CPRINTS("New chg p%d", charge_port);
/* ignore all request when discharge mode is on */
- if (force_discharge)
+ if (force_discharge && charge_port != CHARGE_PORT_NONE)
return EC_SUCCESS;
switch (charge_port) {
@@ -209,12 +209,15 @@ int board_discharge_on_ac(int enable)
port = charge_manager_get_active_charge_port();
}
- ret = board_set_active_charge_port(port);
+ ret = charger_discharge_on_ac(enable);
if (ret)
return ret;
- force_discharge = enable;
- return charger_discharge_on_ac(enable);
+ if (force_discharge && !enable)
+ rt946x_toggle_bc12_detection();
+
+ force_discharge = enable;
+ return board_set_active_charge_port(port);
}
#ifndef VARIANT_KUKUI_POGO_KEYBOARD