From b23f483631d9e3fe3bb2b49356462e657aaf2afe Mon Sep 17 00:00:00 2001 From: Diana Z Date: Thu, 3 Sep 2020 16:53:14 -0600 Subject: SM5803: Enable hibernate function for z-state Enable SM5803 hibernation and restore registers after booting back from z-state. BRANCH=None BUG=b:166648029 TEST=on drawlat, z-state power usage is reduced and booting after z-state the charger chips can sink and source as expected Signed-off-by: Diana Z Change-Id: I6e9f9f29a184fa6177e589b3b7810f51a1b3345b Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/2393225 Reviewed-by: Aseda Aboagye Commit-Queue: Aseda Aboagye --- board/drawcia/board.c | 11 +++++++++++ 1 file changed, 11 insertions(+) (limited to 'board/drawcia') diff --git a/board/drawcia/board.c b/board/drawcia/board.c index 4a012aafa8..3adcbb819a 100644 --- a/board/drawcia/board.c +++ b/board/drawcia/board.c @@ -424,6 +424,17 @@ void board_init(void) } DECLARE_HOOK(HOOK_INIT, board_init, HOOK_PRIO_DEFAULT); +void board_hibernate(void) +{ + /* + * Put all charger ICs present into low power mode before entering + * z-state. + */ + sm5803_hibernate(CHARGER_PRIMARY); + if (board_get_charger_chip_count() > 1) + sm5803_hibernate(CHARGER_SECONDARY); +} + __override void board_ocpc_init(struct ocpc_data *ocpc) { /* There's no provision to measure Isys */ -- cgit v1.2.1