summaryrefslogtreecommitdiffstats
path: root/c/src/lib/libbsp/sparc/leon3/amba/amba.c
diff options
context:
space:
mode:
authorJoel Sherrill <joel.sherrill@OARcorp.com>2006-07-12 20:57:29 +0000
committerJoel Sherrill <joel.sherrill@OARcorp.com>2006-07-12 20:57:29 +0000
commitad6a58d00d24b1301aeb2f32f51d5e931134d8c2 (patch)
tree7852e6d3504666721919834cf8035835b42bc4ac /c/src/lib/libbsp/sparc/leon3/amba/amba.c
parent2006-07-12 RTEMS (diff)
downloadrtems-ad6a58d00d24b1301aeb2f32f51d5e931134d8c2.tar.bz2
2006-07-12 Jerry Needell <jerry.needell@unh.edu>
* amba/amba.c, clock/ckinit.c, include/amba.h, timer/timer.c: Search for the Timer Register when initializing the amba rather than before each potential use.
Diffstat (limited to 'c/src/lib/libbsp/sparc/leon3/amba/amba.c')
-rw-r--r--c/src/lib/libbsp/sparc/leon3/amba/amba.c15
1 files changed, 15 insertions, 0 deletions
diff --git a/c/src/lib/libbsp/sparc/leon3/amba/amba.c b/c/src/lib/libbsp/sparc/leon3/amba/amba.c
index 77a3f346eb..f9fd786771 100644
--- a/c/src/lib/libbsp/sparc/leon3/amba/amba.c
+++ b/c/src/lib/libbsp/sparc/leon3/amba/amba.c
@@ -93,6 +93,21 @@ void bsp_leon3_predriver_hook(void)
}
i++;
}
+ /* find GP Timer */
+ i = 0;
+ while (i < amba_conf.apbslv.devnr)
+ {
+ conf = amba_get_confword(amba_conf.apbslv, i, 0);
+ if ((amba_vendor(conf) == VENDOR_GAISLER) &&
+ (amba_device(conf) == GAISLER_GPTIMER)) {
+ iobar = amba_apb_get_membar(amba_conf.apbslv, i);
+ LEON3_Timer_Regs = (volatile LEON3_Timer_Regs_Map *)
+ amba_iobar_start(amba_conf.apbmst, iobar);
+ break;
+ }
+ i++;
+ }
+
}