diff options
author | Dino Li <dino.li@ite.com.tw> | 2015-11-16 11:23:38 +0800 |
---|---|---|
committer | chrome-bot <chrome-bot@chromium.org> | 2015-11-17 22:06:49 -0800 |
commit | edae3db119fae83a151400ae2142ad6805c71ad3 (patch) | |
tree | ce09d74f34b1db25f61c90a1a1742d340b6f125c /chip/it83xx/clock.c | |
parent | f0489dc275f8782365b89cdd9db956e7b78018be (diff) | |
download | chrome-ec-edae3db119fae83a151400ae2142ad6805c71ad3.tar.gz |
it8380dev: improve power consumption
In doze mode, these improvements help reduce EC power consumption.
Signed-off-by: Dino Li <dino.li@ite.com.tw>
BRANCH=none
BUG=none
TEST=Power consumption has reduced.
Change-Id: I8b0fe3301e408134284b4ac5778656ba9b92b0f1
Reviewed-on: https://chromium-review.googlesource.com/312632
Commit-Ready: Dino Li <dino.li@ite.com.tw>
Tested-by: Dino Li <dino.li@ite.com.tw>
Reviewed-by: Randall Spangler <rspangler@chromium.org>
Diffstat (limited to 'chip/it83xx/clock.c')
-rw-r--r-- | chip/it83xx/clock.c | 15 |
1 files changed, 15 insertions, 0 deletions
diff --git a/chip/it83xx/clock.c b/chip/it83xx/clock.c index 7775ca3d64..a957782815 100644 --- a/chip/it83xx/clock.c +++ b/chip/it83xx/clock.c @@ -51,6 +51,19 @@ struct clock_gate_ctrl { uint8_t mask; }; +static void clock_module_disable(void) +{ + /* bit0: FSPI interface tri-state */ + IT83XX_SMFI_FLHCTRL3R |= (1 << 0); + /* bit7: USB pad power-on disable */ + IT83XX_GCTRL_PMER2 &= ~(1 << 7); + clock_disable_peripheral((CGC_OFFSET_EGPC | CGC_OFFSET_CIR), 0, 0); + clock_disable_peripheral((CGC_OFFSET_SMBA | CGC_OFFSET_SMBB | + CGC_OFFSET_SMBC | CGC_OFFSET_SMBD | CGC_OFFSET_SMBE | + CGC_OFFSET_SMBF), 0, 0); + clock_disable_peripheral((CGC_OFFSET_SSPI | CGC_OFFSET_PECI), 0, 0); +} + void clock_init(void) { #if PLL_CLOCK == 48000000 @@ -80,6 +93,8 @@ void clock_init(void) /* Default doze mode */ IT83XX_ECPM_PLLCTRL = EC_PLL_DOZE; + clock_module_disable(); + #if defined(CONFIG_LPC) && defined(CONFIG_IT83XX_LPC_ACCESS_INT) IT83XX_WUC_WUESR4 = 0xff; task_clear_pending_irq(IT83XX_IRQ_WKINTAD); |