summaryrefslogtreecommitdiff
path: root/chip/it83xx/gpio.c
diff options
context:
space:
mode:
authorDino Li <dino.li@ite.com.tw>2015-10-20 16:55:43 +0800
committerchrome-bot <chrome-bot@chromium.org>2015-10-25 04:34:36 -0700
commit19c1e9905db46b0a669d0af8848be3f28dcedf41 (patch)
tree865aa1fbaf88bf4ca44d31c040c6f1484cbef526 /chip/it83xx/gpio.c
parent9acd84460e953dd793c9594b141ca7e38568820d (diff)
downloadchrome-ec-19c1e9905db46b0a669d0af8848be3f28dcedf41.tar.gz
it8380dev: fix clock module
1. Implement deep doze mode for CONFIG_LOW_POWER_IDLE. Signed-off-by: Dino Li <dino.li@ite.com.tw> BRANCH=none BUG=none TEST=test the following items in deep doze mode. 1. WUI interrupts wake-up OK. (For example, power button, lid, uart rx, keyboard ksi, and so on) 2. LPC access interrupt wake-up OK. 3. Enabled Hook debug, no warning message received (48hrs). Change-Id: I8702a112632cb6c1c0fa75d682badf272130a7d4 Reviewed-on: https://chromium-review.googlesource.com/307060 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 b3d4d11945..063ed222fb 100644
--- a/chip/it83xx/gpio.c
+++ b/chip/it83xx/gpio.c
@@ -378,6 +378,18 @@ int gpio_disable_interrupt(enum gpio_signal signal)
return EC_SUCCESS;
}
+int gpio_clear_pending_interrupt(enum gpio_signal signal)
+{
+ int irq = gpio_to_irq(gpio_list[signal].port, gpio_list[signal].mask);
+
+ if (irq == -1)
+ return EC_ERROR_UNKNOWN;
+
+ *(wuesr(gpio_irqs[irq].wuc_group)) = gpio_irqs[irq].wuc_mask;
+ task_clear_pending_irq(irq);
+ return EC_SUCCESS;
+}
+
void gpio_pre_init(void)
{
const struct gpio_info *g = gpio_list;