diff options
| author | Wolfgang Denk <wd@denx.de> | 2006-06-14 17:52:00 +0200 | 
|---|---|---|
| committer | Wolfgang Denk <wd@pollux.denx.de> | 2006-06-14 17:52:00 +0200 | 
| commit | 007d67da94db86989c3d0ad0a9728391b7eed02b (patch) | |
| tree | b24a2708448b83ef0b372c1e3502b7908f54d283 /cpu/nios2/interrupts.c | |
| parent | 16c8d5e76ae0f78f39a60608574adfe0feb9cc70 (diff) | |
| parent | df02bd1b3f2eecca04bfecb62eae7c2ff698506a (diff) | |
| download | olio-uboot-2014.01-007d67da94db86989c3d0ad0a9728391b7eed02b.tar.xz olio-uboot-2014.01-007d67da94db86989c3d0ad0a9728391b7eed02b.zip | |
Merge with /home/wd/git/u-boot/master
Diffstat (limited to 'cpu/nios2/interrupts.c')
| -rw-r--r-- | cpu/nios2/interrupts.c | 18 | 
1 files changed, 10 insertions, 8 deletions
| diff --git a/cpu/nios2/interrupts.c b/cpu/nios2/interrupts.c index 4a6da582b..4685161b8 100644 --- a/cpu/nios2/interrupts.c +++ b/cpu/nios2/interrupts.c @@ -27,6 +27,7 @@  #include <nios2.h>  #include <nios2-io.h> +#include <asm/io.h>  #include <asm/ptrace.h>  #include <common.h>  #include <command.h> @@ -79,7 +80,7 @@ void tmr_isr (void *arg)  	/* Interrupt is cleared by writing anything to the  	 * status register.  	 */ -	tmr->status = 0; +	writel (&tmr->status, 0);  	timestamp += CFG_NIOS_TMRMS;  #ifdef CONFIG_STATUS_LED  	status_led_tick(timestamp); @@ -88,16 +89,17 @@ void tmr_isr (void *arg)  static void tmr_init (void)  { -	nios_timer_t *tmr =(nios_timer_t *)CACHE_BYPASS(CFG_NIOS_TMRBASE); +	nios_timer_t *tmr =(nios_timer_t *)CFG_NIOS_TMRBASE; + +	writel (&tmr->status, 0); +	writel (&tmr->control, 0); +	writel (&tmr->control, NIOS_TIMER_STOP); -	tmr->control &= ~(NIOS_TIMER_START | NIOS_TIMER_ITO); -	tmr->control |= NIOS_TIMER_STOP;  #if defined(CFG_NIOS_TMRCNT) -	tmr->periodl = CFG_NIOS_TMRCNT & 0xffff; -	tmr->periodh = (CFG_NIOS_TMRCNT >> 16) & 0xffff; +	writel (&tmr->periodl, CFG_NIOS_TMRCNT & 0xffff); +	writel (&tmr->periodh, (CFG_NIOS_TMRCNT >> 16) & 0xffff);  #endif -	tmr->control |= ( NIOS_TIMER_ITO | -			  NIOS_TIMER_CONT | +	writel (&tmr->control, NIOS_TIMER_ITO | NIOS_TIMER_CONT |  			  NIOS_TIMER_START );  	irq_install_handler (CFG_NIOS_TMRIRQ, tmr_isr, (void *)tmr);  } |