summaryrefslogtreecommitdiff
path: root/chip/it83xx/irq.c
diff options
context:
space:
mode:
Diffstat (limited to 'chip/it83xx/irq.c')
-rw-r--r--chip/it83xx/irq.c9
1 files changed, 8 insertions, 1 deletions
diff --git a/chip/it83xx/irq.c b/chip/it83xx/irq.c
index f980147df4..93752f0c7c 100644
--- a/chip/it83xx/irq.c
+++ b/chip/it83xx/irq.c
@@ -8,6 +8,7 @@
#include "common.h"
#include "irq_chip.h"
#include "registers.h"
+#include "util.h"
#define IRQ_GROUP(n, cpu_ints...) \
{(uint32_t)&CONCAT2(IT83XX_INTC_ISR, n) - IT83XX_INTC_BASE, \
@@ -85,5 +86,11 @@ int chip_trigger_irq(int irq)
void chip_init_irqs(void)
{
- /* TODO(crosbug.com/p/23575): IMPLEMENT ME ! */
+ int i;
+
+ /* Clear all IERx and EXT_IERx */
+ for (i = 0; i < ARRAY_SIZE(irq_groups); i++) {
+ IT83XX_INTC_REG(irq_groups[i].ier_off) = 0;
+ IT83XX_INTC_REG(IT83XX_INTC_EXT_IER_OFF(i)) = 0;
+ }
}