summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--recipes-bsp/at91bootstrap/at91bootstrap-3.5.3/at91bootstrap-3.5.3-disable-rtc-interrupts.patch27
1 files changed, 27 insertions, 0 deletions
diff --git a/recipes-bsp/at91bootstrap/at91bootstrap-3.5.3/at91bootstrap-3.5.3-disable-rtc-interrupts.patch b/recipes-bsp/at91bootstrap/at91bootstrap-3.5.3/at91bootstrap-3.5.3-disable-rtc-interrupts.patch
new file mode 100644
index 0000000..e5dd013
--- /dev/null
+++ b/recipes-bsp/at91bootstrap/at91bootstrap-3.5.3/at91bootstrap-3.5.3-disable-rtc-interrupts.patch
@@ -0,0 +1,27 @@
+Index: at91bootstrap-3.5.3/board/at91sam9x5ek/at91sam9x5ek.c
+===================================================================
+--- at91bootstrap-3.5.3.orig/board/at91sam9x5ek/at91sam9x5ek.c 2015-12-21 15:42:05.498892917 -0600
++++ at91bootstrap-3.5.3/board/at91sam9x5ek/at91sam9x5ek.c 2015-12-22 14:53:59.151521592 -0600
+@@ -46,6 +46,9 @@
+
+ #include "onewire_info.h"
+
++#define RTC_SCCR 0x1C
++#define RTC_IDR 0x24
++
+ #ifdef CONFIG_USER_HW_INIT
+ extern void hw_init_hook(void);
+ #endif
+@@ -207,6 +210,12 @@
+ #ifdef CONFIG_USER_HW_INIT
+ hw_init_hook();
+ #endif
++
++ /* disable all RTC interrupts and clear status register.
++ * Prevents possible Linux lockup due to unexpected RTC interrupt
++ */
++ writel(0xFF, RTC_IDR + AT91C_BASE_RTC);
++ writel(0xFF, RTC_SCCR + AT91C_BASE_RTC);
+ }
+ #endif /* #ifdef CONFIG_HW_INIT */
+