[U-Boot] [PATCH 05/17] Fix sc520 timer interrupt generation

Graeme Russ graeme.russ at gmail.com
Sun Aug 23 04:59:49 CEST 2009


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 <graeme.russ at gmail.com>
---
 cpu/i386/sc520/sc520_timer.c |    6 +++---
 1 files changed, 3 insertions(+), 3 deletions(-)

diff --git a/cpu/i386/sc520/sc520_timer.c b/cpu/i386/sc520/sc520_timer.c
index 2cb8656..2a3425b 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;
 }
 
-- 
1.6.0.2.GIT



More information about the U-Boot mailing list