summaryrefslogtreecommitdiff
path: root/chip/it83xx/clock.c
diff options
context:
space:
mode:
authorDino Li <dino.li@ite.com.tw>2015-11-16 11:23:38 +0800
committerchrome-bot <chrome-bot@chromium.org>2015-11-17 22:06:49 -0800
commitedae3db119fae83a151400ae2142ad6805c71ad3 (patch)
treece09d74f34b1db25f61c90a1a1742d340b6f125c /chip/it83xx/clock.c
parentf0489dc275f8782365b89cdd9db956e7b78018be (diff)
downloadchrome-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.c15
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);