diff options
Diffstat (limited to 'c/src/lib/libcpu/powerpc/ppc403/clock/clock.c')
-rw-r--r-- | c/src/lib/libcpu/powerpc/ppc403/clock/clock.c | 12 |
1 files changed, 8 insertions, 4 deletions
diff --git a/c/src/lib/libcpu/powerpc/ppc403/clock/clock.c b/c/src/lib/libcpu/powerpc/ppc403/clock/clock.c index b0df41f5f1..391a1e2fdd 100644 --- a/c/src/lib/libcpu/powerpc/ppc403/clock/clock.c +++ b/c/src/lib/libcpu/powerpc/ppc403/clock/clock.c @@ -25,7 +25,7 @@ * for these modifications: * COPYRIGHT (c) 1997 by IMD, Puchheim, Germany. * - * COPYRIGHT (c) 1989-1999. + * COPYRIGHT (c) 1989-2007. * On-Line Applications Research Corporation (OAR). * * The license and distribution terms for this file may be @@ -188,6 +188,10 @@ void ClockOn( { uint32_t iocr; register uint32_t tcr; + extern uint32_t bsp_clicks_per_usec; +#ifdef ppc405 + extern boolean bsp_timer_internal_clock; +#endif #ifdef ppc403 uint32_t pvr; #endif /* ppc403 */ @@ -196,7 +200,7 @@ void ClockOn( #ifndef ppc405 /* this is a ppc403 */ asm volatile ("mfdcr %0, 0xa0" : "=r" (iocr)); /* IOCR */ - if (rtems_cpu_configuration_get_timer_internal_clock()) { + if (bsp_timer_internal_clock) { iocr &= ~4; /* timer clocked from system clock */ } else { @@ -220,7 +224,7 @@ void ClockOn( #else /* ppc405 */ asm volatile ("mfdcr %0, 0x0b2" : "=r" (iocr)); /*405GP CPC0_CR1 */ - if (rtems_cpu_configuration_get_timer_internal_clock()) { + if (bsp_timer_internal_clock) { iocr &=~0x800000 ;/* timer clocked from system clock CETE*/ } else { @@ -236,7 +240,7 @@ void ClockOn( #endif /* ppc405 */ pit_value = rtems_configuration_get_microseconds_per_tick() * - rtems_cpu_configuration_get_clicks_per_usec(); + bsp_clicks_per_usec; /* * Set PIT value |