diff options
author | Mike Lee <mike5@huaqin.corp-partner.google.com> | 2020-12-10 22:45:43 +0800 |
---|---|---|
committer | Commit Bot <commit-bot@chromium.org> | 2020-12-21 17:03:50 +0000 |
commit | 826a71d409d6c220d68bdfc73753c7687a8933b1 (patch) | |
tree | 370fc9798d7b50564ec707106228a19ccc35b0aa | |
parent | 0f7da4f97e7cd7f2c647beeee3e0b137a9179e5b (diff) | |
download | chrome-ec-826a71d409d6c220d68bdfc73753c7687a8933b1.tar.gz |
Cerise: Enable DC-DC mode ctrl
Enable DC-DC mode ctrl to solve S3 power consumption over spec
BUG=b:173343526
BRANCH=firmware-kukui-12573.B
TEST=test S3 power consumption meet spec.
Signed-off-by: Mike Lee <mike5@huaqin.corp-partner.google.com>
Change-Id: Ia9df2bbe9b86030243c399b8e2ffc2f9993f5e9b
Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/2584542
Reviewed-by: Chen-Tsung Hsieh <chentsung@chromium.org>
Reviewed-by: Ting Shen <phoenixshen@chromium.org>
Signed-off-by: Abe Levkoy <alevkoy@chromium.org>
Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/2599997
-rw-r--r-- | board/cerise/board.c | 19 | ||||
-rw-r--r-- | board/cerise/gpio.inc | 2 |
2 files changed, 21 insertions, 0 deletions
diff --git a/board/cerise/board.c b/board/cerise/board.c index 71f8f5a742..99c80c60fb 100644 --- a/board/cerise/board.c +++ b/board/cerise/board.c @@ -324,6 +324,9 @@ static void board_init(void) /* Enable BC12 interrupt */ gpio_enable_interrupt(GPIO_BC12_EC_INT_ODL); + + /* Enable USM mode */ + ioex_set_level(IOEX_5V_DC_DC_MODE_CTRL, 1); } DECLARE_HOOK(HOOK_INIT, board_init, HOOK_PRIO_DEFAULT); @@ -447,6 +450,22 @@ static void board_chipset_shutdown(void) } DECLARE_HOOK(HOOK_CHIPSET_SHUTDOWN, board_chipset_shutdown, HOOK_PRIO_DEFAULT); +/* Called on AP S3 -> S0 transition, 5V DC-DC ctrl */ +static void board_chipset_resume(void) +{ + /* Enable USM mode */ + ioex_set_level(IOEX_5V_DC_DC_MODE_CTRL, 1); +} +DECLARE_HOOK(HOOK_CHIPSET_RESUME, board_chipset_resume, HOOK_PRIO_DEFAULT); + +/* Called on AP S0 -> S3 transition */ +static void board_chipset_suspend(void) +{ + /* Enable Normal mode */ + ioex_set_level(IOEX_5V_DC_DC_MODE_CTRL, 0); +} +DECLARE_HOOK(HOOK_CHIPSET_SUSPEND, board_chipset_suspend, HOOK_PRIO_DEFAULT); + int board_get_charger_i2c(void) { /* TODO(b:138415463): confirm the bus allocation for future builds */ diff --git a/board/cerise/gpio.inc b/board/cerise/gpio.inc index 51972ec367..fbc887f740 100644 --- a/board/cerise/gpio.inc +++ b/board/cerise/gpio.inc @@ -87,6 +87,8 @@ GPIO(USB_C0_DISCHARGE, PIN(B, 6), GPIO_OUT_LOW) IOEX(PWR_LED_WHITE_L, EXPIN(0, 1, 4), GPIO_OUT_HIGH) IOEX(BAT_LED_WHITE_L, EXPIN(0, 1, 3), GPIO_OUT_HIGH) IOEX(BAT_LED_AMBER_L, EXPIN(0, 1, 2), GPIO_OUT_HIGH) +IOEX(5V_DC_DC_MODE_CTRL, EXPIN(0, 0, 7), GPIO_OUT_LOW) + /* * TODO(b:138352732): On IT88801 expander, To be readded once IT8801 driver and * gpio expander framework has landed. |