diff options
Diffstat (limited to 'firmware/panic.c')
-rw-r--r-- | firmware/panic.c | 27 |
1 files changed, 14 insertions, 13 deletions
diff --git a/firmware/panic.c b/firmware/panic.c index 2132402254..9226146a48 100644 --- a/firmware/panic.c +++ b/firmware/panic.c | |||
@@ -40,7 +40,7 @@ void panicf( const char *fmt, ...) | |||
40 | 40 | ||
41 | #ifndef SIMULATOR | 41 | #ifndef SIMULATOR |
42 | #if CONFIG_LED == LED_REAL | 42 | #if CONFIG_LED == LED_REAL |
43 | bool state = false; | 43 | bool state = true; |
44 | #endif | 44 | #endif |
45 | 45 | ||
46 | /* Disable interrupts */ | 46 | /* Disable interrupts */ |
@@ -88,31 +88,32 @@ void panicf( const char *fmt, ...) | |||
88 | 88 | ||
89 | while (1) | 89 | while (1) |
90 | { | 90 | { |
91 | #if (CONFIG_LED == LED_REAL) && !defined(SIMULATOR) | 91 | #ifndef SIMULATOR |
92 | #if CONFIG_LED == LED_REAL | ||
92 | volatile long i; | 93 | volatile long i; |
93 | led (state); | 94 | led (state); |
94 | state = state?false:true; | 95 | state = !state; |
95 | 96 | ||
96 | for (i = 0; i < 240000; ++i); | 97 | for (i = 0; i < 240000; ++i); |
97 | #endif | 98 | #endif |
98 | #ifndef SIMULATOR | 99 | |
100 | /* try to restart firmware if ON is pressed */ | ||
99 | #ifdef IRIVER_H100_SERIES | 101 | #ifdef IRIVER_H100_SERIES |
100 | /* check for the ON button (and !hold) */ | 102 | if ((GPIO1_READ & 0x22) == 0) /* check for ON button and !hold */ |
101 | if ((GPIO1_READ & 0x22) == 0) | ||
102 | system_reboot(); | ||
103 | #elif CONFIG_CPU == SH7034 | 103 | #elif CONFIG_CPU == SH7034 |
104 | /* try to restart firmware if ON is pressed */ | ||
105 | #if CONFIG_KEYPAD == PLAYER_PAD | 104 | #if CONFIG_KEYPAD == PLAYER_PAD |
106 | if (!(PADR & 0x0020)) | 105 | if (!(PADRL & 0x20)) |
107 | #elif CONFIG_KEYPAD == RECORDER_PAD | 106 | #elif CONFIG_KEYPAD == RECORDER_PAD |
108 | #ifdef HAVE_FMADC | 107 | #ifdef HAVE_FMADC |
109 | if (!(PCDR & 0x0008)) | 108 | if (!(PCDR & 0x0008)) |
110 | #else | 109 | #else |
111 | if (!(PBDR & 0x0100)) | 110 | if (!(PBDRH & 0x01)) |
112 | #endif | ||
113 | #endif | 111 | #endif |
112 | #elif CONFIG_KEYPAD == ONDIO_PAD | ||
113 | if (!(PCDR & 0x0008)) | ||
114 | #endif /* CONFIG_KEYPAD */ | ||
115 | #endif /* CPU */ | ||
114 | system_reboot(); | 116 | system_reboot(); |
115 | #endif | 117 | #endif /* !SIMULATOR */ |
116 | #endif | ||
117 | } | 118 | } |
118 | } | 119 | } |