summaryrefslogtreecommitdiff
path: root/recipes-bsp/at91bootstrap/at91bootstrap-3.5.3/at91bootstrap-3.5.3-disable-rtc-interrupts.patch
blob: e5dd0134c9cb0438fca6d1aa19096dd46d2b8b78 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
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 */