summaryrefslogtreecommitdiff
path: root/firmware/target/arm/imx31/gigabeat-s/system-imx31.c
diff options
context:
space:
mode:
authorMichael Sevakis <jethead71@rockbox.org>2008-02-08 02:20:05 +0000
committerMichael Sevakis <jethead71@rockbox.org>2008-02-08 02:20:05 +0000
commita07c034de77e9159cf5d9501c75ea1f0165b6a13 (patch)
tree4a563faa46f15d67787759e66fa578a6da65273e /firmware/target/arm/imx31/gigabeat-s/system-imx31.c
parent7667a865ff06565a2a7f91ccde0120cd2e0c977e (diff)
Gigabeat S: Interrupt enabled bootloader. Miscellaneous integration changes.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@16243 a1c6a512-1295-4272-9138-f99709370657
Diffstat (limited to 'firmware/target/arm/imx31/gigabeat-s/system-imx31.c')
-rw-r--r--firmware/target/arm/imx31/gigabeat-s/system-imx31.c14
1 files changed, 12 insertions, 2 deletions
diff --git a/firmware/target/arm/imx31/gigabeat-s/system-imx31.c b/firmware/target/arm/imx31/gigabeat-s/system-imx31.c
index ed5a26cd6e..c77c923d60 100644
--- a/firmware/target/arm/imx31/gigabeat-s/system-imx31.c
+++ b/firmware/target/arm/imx31/gigabeat-s/system-imx31.c
@@ -1,6 +1,7 @@
#include "kernel.h"
#include "system.h"
#include "panic.h"
+#include "avic-imx31.h"
#include "mmu-imx31.h"
#include "system-target.h"
#include "lcd.h"
@@ -19,11 +20,20 @@ void system_reboot(void)
void system_init(void)
{
-#ifndef BOOTLOADER
+ /* MCR WFI enables wait mode */
+ CLKCTL_CCMR &= ~(3 << 14);
avic_init();
-#endif
}
+#ifdef BOOTLOADER
+void system_prepare_fw_start(void)
+{
+ set_interrupt_status(IRQ_FIQ_DISABLED, IRQ_FIQ_STATUS);
+ avic_disable_int(ALL);
+ tick_stop();
+}
+#endif
+
inline void dumpregs(void)
{
asm volatile ("mov %0,r0\n\t"