summaryrefslogtreecommitdiff
path: root/chip/it83xx/gpio.c
diff options
context:
space:
mode:
authorDino Li <dino.li@ite.com.tw>2015-03-20 17:14:45 +0800
committerChromeOS Commit Bot <chromeos-commit-bot@chromium.org>2015-03-22 03:13:58 +0000
commit2c3cf4d1a9d6ed732985ea495e8ebfe1d09a916b (patch)
tree8903dec2bb649fdccfe7af9edcf6cb4c6275f3a6 /chip/it83xx/gpio.c
parentc12181d9af8fbe0b61ac522e813bec463571dda5 (diff)
downloadchrome-ec-2c3cf4d1a9d6ed732985ea495e8ebfe1d09a916b.tar.gz
it8380dev: add KBC/KMSC module
1. DLM 16KB. 2. Add KBC/KMSC module for emulation board. Signed-off-by: Dino Li <dino.li@ite.com.tw> BRANCH=none BUG=none TEST=EVB + x86 MB can boot into DOS and keyboard works. Change-Id: Ia5cc2d4f1733ce07879d410b0447b2d48e50cd95 Reviewed-on: https://chromium-review.googlesource.com/259923 Reviewed-by: Vincent Palatin <vpalatin@chromium.org> Tested-by: Dino Li <dino.li@ite.com.tw> Commit-Queue: Dino Li <dino.li@ite.com.tw>
Diffstat (limited to 'chip/it83xx/gpio.c')
-rw-r--r--chip/it83xx/gpio.c8
1 files changed, 8 insertions, 0 deletions
diff --git a/chip/it83xx/gpio.c b/chip/it83xx/gpio.c
index 8f5f83acdd..7bdc41682c 100644
--- a/chip/it83xx/gpio.c
+++ b/chip/it83xx/gpio.c
@@ -14,6 +14,7 @@
#include "task.h"
#include "timer.h"
#include "util.h"
+#include "kmsc_chip.h"
/*
* Converts port (ie GPIO A) to base address offset of the control register
@@ -361,6 +362,13 @@ static void __gpio_irq(void)
/* Determine interrupt number. */
int irq = IT83XX_INTC_IVCT2 - 16;
+#if defined(HAS_TASK_KEYSCAN) && defined(CONFIG_KEYBOARD_KSI_WUC_INT)
+ if (irq == IT83XX_IRQ_WKINTC) {
+ keyboard_raw_interrupt();
+ return;
+ }
+#endif
+
/* Run the GPIO master handler above with corresponding port/mask. */
gpio_interrupt(gpio_irqs[irq].gpio_port, gpio_irqs[irq].gpio_mask);