summaryrefslogtreecommitdiffstats
path: root/c/src/lib/libbsp/arm/rtl22xx/startup
diff options
context:
space:
mode:
authorJoel Sherrill <joel.sherrill@OARcorp.com>2009-08-10 03:16:35 +0000
committerJoel Sherrill <joel.sherrill@OARcorp.com>2009-08-10 03:16:35 +0000
commit6522e79aa6f9eed8d503f4d4103fff78a182d8c0 (patch)
treea8bde4359c03b8d3954cb60763a545faa51d3a3c /c/src/lib/libbsp/arm/rtl22xx/startup
parent2009-08-09 Joel Sherrill <joel.sherrill@oarcorp.com> (diff)
downloadrtems-6522e79aa6f9eed8d503f4d4103fff78a182d8c0.tar.bz2
2009-08-09 Joel Sherrill <joel.sherrill@oarcorp.com>
* configure.ac, startup/bspreset.c: Add Skyeye reset device.
Diffstat (limited to 'c/src/lib/libbsp/arm/rtl22xx/startup')
-rw-r--r--c/src/lib/libbsp/arm/rtl22xx/startup/bspreset.c29
1 files changed, 17 insertions, 12 deletions
diff --git a/c/src/lib/libbsp/arm/rtl22xx/startup/bspreset.c b/c/src/lib/libbsp/arm/rtl22xx/startup/bspreset.c
index 9af7807a37..2bad09cd68 100644
--- a/c/src/lib/libbsp/arm/rtl22xx/startup/bspreset.c
+++ b/c/src/lib/libbsp/arm/rtl22xx/startup/bspreset.c
@@ -13,20 +13,25 @@
void bsp_reset(void)
{
- rtems_interrupt_level level;
+#if ON_SKYEYE == 1
+ #define SKYEYE_MAGIC_ADDRESS (*(volatile unsigned int *)(0xb0000000))
- rtems_interrupt_disable(level);
+ SKYEYE_MAGIC_ADDRESS = 0xff;
+#else
+ rtems_interrupt_level level;
-#ifdef __thumb__
- int tmp;
- asm volatile (" .code 16 \n" \
- "ldr %[tmp], =_start \n" \
- "bx %[tmp] \n" \
- "nop \n" \
- : [tmp]"=&r" (tmp) );
-#else
- asm volatile ("b _start");
-#endif
+ rtems_interrupt_disable(level);
+ #ifdef __thumb__
+ int tmp;
+ asm volatile (" .code 16 \n" \
+ "ldr %[tmp], =_start \n" \
+ "bx %[tmp] \n" \
+ "nop \n" \
+ : [tmp]"=&r" (tmp) );
+ #else
+ asm volatile ("b _start");
+ #endif
while(1);
+#endif
}