From 420aa23a49e41cb040adbc40c3ac57be4ca0f733 Mon Sep 17 00:00:00 2001 From: rob Date: Sat, 31 May 2008 11:30:24 +0000 Subject: [PATCH] D2: Stop panic screen from crashing instantly (seems this has been broken for a while). git-svn-id: svn://svn.rockbox.org/rockbox/trunk@17670 a1c6a512-1295-4272-9138-f99709370657 --- firmware/panic.c | 2 ++ firmware/target/arm/tcc780x/system-tcc780x.c | 9 ++++++++- 2 files changed, 10 insertions(+), 1 deletion(-) diff --git a/firmware/panic.c b/firmware/panic.c index dca511473..fbb6afc57 100644 --- a/firmware/panic.c +++ b/firmware/panic.c @@ -111,6 +111,8 @@ void panicf( const char *fmt, ...) if ((GPIO_READ & 0x0c000000) == 0x08000000) /* check for ON button and !hold */ #elif defined(IAUDIO_M3) if ((GPIO1_READ & 0x202) == 0x200) /* check for ON button and !hold */ +#elif defined(COWON_D2) + if (GPIOA & 0x10) /* check for power button */ #elif CONFIG_CPU == SH7034 #if CONFIG_KEYPAD == PLAYER_PAD if (!(PADRL & 0x20)) diff --git a/firmware/target/arm/tcc780x/system-tcc780x.c b/firmware/target/arm/tcc780x/system-tcc780x.c index 54cd3ffcb..7e07ed717 100644 --- a/firmware/target/arm/tcc780x/system-tcc780x.c +++ b/firmware/target/arm/tcc780x/system-tcc780x.c @@ -275,7 +275,14 @@ void system_init(void) void system_reboot(void) { - SWRESET = -1; + disable_interrupt(IRQ_FIQ_DISABLED); + +#ifdef HAVE_ADJUSTABLE_CPU_FREQ + set_cpu_frequency(CPUFREQ_DEFAULT); +#endif + + /* TODO: implement reboot (eg. jump to boot ROM?) */ + while (1); } int system_memory_guard(int newmode) -- 2.11.4.GIT