From: Graeme Russ Date: Sun, 23 Aug 2009 02:59:49 +0000 (+1000) Subject: Fix sc520 timer interrupt generation X-Git-Tag: v2010.09-rc1~28^2~7^2~42^2~182 X-Git-Url: https://git.sur5r.net/?a=commitdiff_plain;h=a219983dc16c90daed5e27133383edd7db95f4cd;p=u-boot Fix sc520 timer interrupt generation The current implementation has the timer being started before the interrupt handler is installed. It the interrupt occurs before the handler is installed, the timer interrupt is never reset and the timer stops Signed-off-by: Graeme Russ --- diff --git a/cpu/i386/sc520/sc520_timer.c b/cpu/i386/sc520/sc520_timer.c index 2cb8656ebd..2a3425b616 100644 --- a/cpu/i386/sc520/sc520_timer.c +++ b/cpu/i386/sc520/sc520_timer.c @@ -54,9 +54,6 @@ int timer_init(void) write_mmcr_word (SC520_GPTMR1MAXCMPA, 100); write_mmcr_word (SC520_GPTMR1CTL, 0xe009); - /* Clear the GP Timers status register */ - write_mmcr_byte (SC520_GPTMRSTA, 0x07); - /* Register the SC520 specific timer interrupt handler */ register_timer_isr (sc520_timer_isr); @@ -64,6 +61,9 @@ int timer_init(void) irq_install_handler (0, timer_isr, NULL); unmask_irq (0); + /* Clear the GP Timer 1 status register to get the show rolling*/ + write_mmcr_byte (SC520_GPTMRSTA, 0x02); + return 0; }