summaryrefslogtreecommitdiff
path: root/chip/it83xx/gpio.c
diff options
context:
space:
mode:
authorDino Li <dino.li@ite.com.tw>2015-09-12 15:06:33 +0800
committerchrome-bot <chrome-bot@chromium.org>2015-09-18 01:25:52 -0700
commitad8efdee3f6720d0f443963622babbc27ee25b53 (patch)
treef21bfd007e85ac1c3714ac05593aea7c618b05ca /chip/it83xx/gpio.c
parentc935311856c644700d95a1a49bbac738b6571a9e (diff)
downloadchrome-ec-ad8efdee3f6720d0f443963622babbc27ee25b53.tar.gz
it8380dev: fix idle task and chip id
1. Fix system_get_chip_name() and system_get_chip_revision(). 2. Fix EC doze mode. 3. Enable LPC cycle wake-up EC from doze / deep doze function. Signed-off-by: Dino Li <dino.li@ite.com.tw> BRANCH=none BUG=none TEST=1. console "version". Chip: ite it8390 cx 2. EC doze mode is normally. 3. ectool "version" command x 2000. Change-Id: I167dbfb965e557eb86ed83f45a945e4315f5fa9f Reviewed-on: https://chromium-review.googlesource.com/299110 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/gpio.c')
-rw-r--r--chip/it83xx/gpio.c12
1 files changed, 12 insertions, 0 deletions
diff --git a/chip/it83xx/gpio.c b/chip/it83xx/gpio.c
index f00c954f1c..8ae7c5bbd3 100644
--- a/chip/it83xx/gpio.c
+++ b/chip/it83xx/gpio.c
@@ -440,6 +440,18 @@ static void __gpio_irq(void)
}
#endif
+ if (irq == IT83XX_IRQ_WKINTAD) {
+#if defined(CONFIG_LPC) && defined(CONFIG_IT83XX_LPC_ACCESS_INT)
+ if (BRAM_LPC_ACCESS == LPC_ACCESS_INT_BUSY)
+ task_disable_irq(IT83XX_IRQ_WKINTAD);
+#else
+ task_disable_irq(IT83XX_IRQ_WKINTAD);
+#endif
+ IT83XX_WUC_WUESR4 = 0xff;
+ task_clear_pending_irq(IT83XX_IRQ_WKINTAD);
+ return;
+ }
+
/*
* Clear the WUC status register. Note the external pin first goes
* to the WUC module and is always edge triggered.