diff options
| author | Greg White <gwhite@rockbox.org> | 2007-01-04 11:33:13 +0000 |
|---|---|---|
| committer | Greg White <gwhite@rockbox.org> | 2007-01-04 11:33:13 +0000 |
| commit | 0b4f3d9cfa3bc9f86f8e86e196b9f9534515e870 (patch) | |
| tree | caead7fdd12fa973dff8b5936d700355d4c16643 | |
| parent | 6c62f2f32a74c60a82024f666594b3bfd3ef8d94 (diff) | |
| download | rockbox-0b4f3d9cfa3bc9f86f8e86e196b9f9534515e870.zip rockbox-0b4f3d9cfa3bc9f86f8e86e196b9f9534515e870.tar.gz rockbox-0b4f3d9cfa3bc9f86f8e86e196b9f9534515e870.tar.bz2 rockbox-0b4f3d9cfa3bc9f86f8e86e196b9f9534515e870.tar.xz | |
Move system specific reboot
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@11903 a1c6a512-1295-4272-9138-f99709370657
| -rw-r--r-- | firmware/system.c | 17 | ||||
| -rw-r--r-- | firmware/target/arm/gigabeat/meg-fx/system-meg-fx.c | 41 |
2 files changed, 34 insertions, 24 deletions
diff --git a/firmware/system.c b/firmware/system.c index 2bbcd06..4ab47fa 100644 --- a/firmware/system.c +++ b/firmware/system.c @@ -81,23 +81,6 @@ void cpu_idle_mode(bool on_off) } #endif /* HAVE_ADJUSTABLE_CPU_FREQ */ -#if CONFIG_CPU == S3C2440 - -void system_reboot(void) { -} - -void system_init(void) -{ - /* Turn off un-needed devices */ - - /* Turn off all of the UARTS */ - CLKCON &= ~( (1<<10) | (1<<11) |(1<<12) ); - - /* Turn off AC97 and Camera */ - CLKCON &= ~( (1<<19) | (1<<20) ); -} - -#endif bool detect_flashed_rockbox(void) { diff --git a/firmware/target/arm/gigabeat/meg-fx/system-meg-fx.c b/firmware/target/arm/gigabeat/meg-fx/system-meg-fx.c index d1c736e..b8bcda3 100644 --- a/firmware/target/arm/gigabeat/meg-fx/system-meg-fx.c +++ b/firmware/target/arm/gigabeat/meg-fx/system-meg-fx.c @@ -5,17 +5,25 @@ #include "lcd.h" #include <stdio.h> -const int TIMER4_MASK = 1 << 14; - -int system_memory_guard(int newmode) +const int TIMER4_MASK = (1 << 14); +const int LCD_MASK = (1 << 16); +const int DMA0_MASK = (1 << 17); +const int DMA1_MASK = (1 << 18); +const int DMA2_MASK = (1 << 19); +const int DMA3_MASK = (1 << 20); + +int system_memory_guard(int newmode) { (void)newmode; return 0; } extern void timer4(void); +extern void dma0(void); +extern void dma1(void); +extern void dma3(void); -void irq(void) +void irq(void) { int intpending = INTPND; @@ -24,12 +32,31 @@ void irq(void) /* Timer 4 */ if ((intpending & TIMER4_MASK) != 0) - { timer4(); - } - else + else { /* unexpected interrupt */ } } +void system_reboot(void) +{ + WTCON = 0; + WTCNT = WTDAT = 1 ; + WTCON = 0x21; + for(;;) + ; +} + +void system_init(void) +{ + /* Turn off un-needed devices */ + + /* Turn off all of the UARTS */ + CLKCON &= ~( (1<<10) | (1<<11) |(1<<12) ); + + /* Turn off AC97 and Camera */ + CLKCON &= ~( (1<<19) | (1<<20) ); +} + + |