summaryrefslogtreecommitdiff
path: root/board/it83xx_evb
diff options
context:
space:
mode:
authorDino Li <Dino.Li@ite.com.tw>2016-09-21 11:21:15 +0800
committerchrome-bot <chrome-bot@chromium.org>2016-09-21 19:37:17 -0700
commit0174d4f85bc83d9081c39de1d5399cab45c61a72 (patch)
treebcbd9a3b40e347822a7e864d23dd3e97f095bcef /board/it83xx_evb
parentc5d03154ee5e5d49d6d1c731dd22a551e1e6c04c (diff)
downloadchrome-ec-0174d4f85bc83d9081c39de1d5399cab45c61a72.tar.gz
it83xx: EC sleep mode for system hibernate
The typical power consumption in sleep mode is 65uA. IT83xx uses deep doze mode for low power idle task. The typical power consumption in this state is 280uA (depends on EC tasks, it should be more) and the wake up time is in microsecond. We are using deep doze mode for low power idle task instead of sleep mode is because the wake up time will be 6ms more. While in system hibernate (EC sleep mode), EC won't wake up frequently so we can keep the power consumption at 65uA. Signed-off-by: Dino Li <dino.li@ite.com.tw> BRANCH=none BUG=none TEST=- hibernate 0 [1|999999] - hibernate [1|5|10|600] - hibernate then press power button. - hibernate then lid open. Change-Id: I94884c010264f01ede4950c6bb1b0a444d7b1e6d Reviewed-on: https://chromium-review.googlesource.com/383332 Commit-Ready: Dino Li <dino0303@gmail.com> Tested-by: Dino Li <dino0303@gmail.com> Reviewed-by: Shawn N <shawnn@chromium.org>
Diffstat (limited to 'board/it83xx_evb')
-rw-r--r--board/it83xx_evb/board.c6
-rw-r--r--board/it83xx_evb/board.h1
2 files changed, 7 insertions, 0 deletions
diff --git a/board/it83xx_evb/board.c b/board/it83xx_evb/board.c
index 52a724ecff..df92683ff8 100644
--- a/board/it83xx_evb/board.c
+++ b/board/it83xx_evb/board.c
@@ -228,6 +228,12 @@ const struct ec2i_t pnpcfg_settings[] = {
};
BUILD_ASSERT(ARRAY_SIZE(pnpcfg_settings) == EC2I_SETTING_COUNT);
+/* Wake-up pins for hibernate */
+const enum gpio_signal hibernate_wake_pins[] = {
+ GPIO_POWER_BUTTON_L, GPIO_LID_OPEN
+};
+const int hibernate_wake_pins_used = ARRAY_SIZE(hibernate_wake_pins);
+
/* Initialize board. */
static void board_init(void)
{
diff --git a/board/it83xx_evb/board.h b/board/it83xx_evb/board.h
index c82ff9f5ba..e19e1bd105 100644
--- a/board/it83xx_evb/board.h
+++ b/board/it83xx_evb/board.h
@@ -59,6 +59,7 @@
#ifndef __ASSEMBLER__
+#include "gpio_signal.h"
#include "registers.h"
#define I2C_PORT_CHARGER IT83XX_I2C_CH_C