diff options
-rw-r--r-- | nuttx/arch/arm/src/str71x/str71x_irq.c | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/nuttx/arch/arm/src/str71x/str71x_irq.c b/nuttx/arch/arm/src/str71x/str71x_irq.c index d3fcf57c9..6be5e945b 100644 --- a/nuttx/arch/arm/src/str71x/str71x_irq.c +++ b/nuttx/arch/arm/src/str71x/str71x_irq.c @@ -87,6 +87,14 @@ void up_irqinitialize(void) putreg32(STR71X_EICICR_IRQEN, STR71X_EIC_ICR); + /* This shouldn't be necessary, but it appears that something is needed + * here to prevent spurious interrupts when the ARM interrupts are enabled + * (Needs more investigation). + */ + + putreg32(0, STR71X_EIC_IER); /* Make sure that all interrupts are disabled */ + putreg32(0xffffffff, STR71X_EIC_IPR); /* And that no interrupts are pending */ + /* Enable global ARM interrupts */ #ifndef CONFIG_SUPPRESS_INTERRUPTS |