From ad6a58d00d24b1301aeb2f32f51d5e931134d8c2 Mon Sep 17 00:00:00 2001 From: Joel Sherrill Date: Wed, 12 Jul 2006 20:57:29 +0000 Subject: 2006-07-12 Jerry Needell * 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. --- c/src/lib/libbsp/sparc/leon3/ChangeLog | 6 ++++++ c/src/lib/libbsp/sparc/leon3/amba/amba.c | 15 ++++++++++++++ c/src/lib/libbsp/sparc/leon3/clock/ckinit.c | 32 ----------------------------- c/src/lib/libbsp/sparc/leon3/include/amba.h | 4 ++++ c/src/lib/libbsp/sparc/leon3/timer/timer.c | 2 -- 5 files changed, 25 insertions(+), 34 deletions(-) (limited to 'c/src/lib/libbsp') diff --git a/c/src/lib/libbsp/sparc/leon3/ChangeLog b/c/src/lib/libbsp/sparc/leon3/ChangeLog index 16181f8a9f..3a33f8a030 100644 --- a/c/src/lib/libbsp/sparc/leon3/ChangeLog +++ b/c/src/lib/libbsp/sparc/leon3/ChangeLog @@ -1,3 +1,9 @@ +2006-07-12 Jerry Needell + + * 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. + 2006-07-12 Joel Sherrill * Makefile.am, include/leon.h: Try to merge rest of 4.6 BSP changes. 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++; + } + } diff --git a/c/src/lib/libbsp/sparc/leon3/clock/ckinit.c b/c/src/lib/libbsp/sparc/leon3/clock/ckinit.c index 2be926d84d..bd6746bf17 100644 --- a/c/src/lib/libbsp/sparc/leon3/clock/ckinit.c +++ b/c/src/lib/libbsp/sparc/leon3/clock/ckinit.c @@ -60,37 +60,6 @@ void Clock_exit( void ); rtems_device_major_number rtems_clock_major = ~0; rtems_device_minor_number rtems_clock_minor; -/* - * LEON3_Find_timer - * - * This method searches for the timer on the AMBA bus. - * - * Input parameters: NONE - * - * Output parameters: NONE - * - * Return values: NONE - */ - -void LEON3_Find_timer(void) -{ - int i = 0; - unsigned int iobar, conf; - - 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++; - } - -} /* * Clock_isr @@ -157,7 +126,6 @@ void Install_clock( { Clock_driver_ticks = 0; - LEON3_Find_timer(); clkirq = (LEON3_Timer_Regs->status & 0xfc) >> 3; diff --git a/c/src/lib/libbsp/sparc/leon3/include/amba.h b/c/src/lib/libbsp/sparc/leon3/include/amba.h index fb98df9582..2701d44daa 100644 --- a/c/src/lib/libbsp/sparc/leon3/include/amba.h +++ b/c/src/lib/libbsp/sparc/leon3/include/amba.h @@ -10,7 +10,11 @@ * found in the file LICENSE in this distribution or at * http://www.rtems.com/license/LICENSE. * +<<<<<<< amba.h * $Id$ +======= + * $Id$ +>>>>>>> 1.3 */ #define LEON3_IO_AREA 0xfff00000 diff --git a/c/src/lib/libbsp/sparc/leon3/timer/timer.c b/c/src/lib/libbsp/sparc/leon3/timer/timer.c index 368b8cf53c..04ff40d5aa 100644 --- a/c/src/lib/libbsp/sparc/leon3/timer/timer.c +++ b/c/src/lib/libbsp/sparc/leon3/timer/timer.c @@ -27,12 +27,10 @@ rtems_boolean Timer_driver_Find_average_overhead; rtems_boolean Timer_driver_Is_initialized = FALSE; extern volatile LEON3_Timer_Regs_Map *LEON3_Timer_Regs; -extern void LEON3_Find_timer(void); void Timer_initialize() { - LEON3_Find_timer(); /* * Timer runs long and accurate enough not to require an interrupt. -- cgit v1.2.3