From bb7bd148ba4bcbc2b1a1e4d17118c4c4b5464f9b Mon Sep 17 00:00:00 2001 From: Sebastian Huber Date: Mon, 22 Dec 2014 11:46:17 +0100 Subject: powerpc: Use alternate time base for CPU counter --- c/src/lib/libbsp/powerpc/qoriq/startup/bspstart.c | 2 +- cpukit/score/cpu/powerpc/rtems/score/cpu.h | 6 +++--- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/c/src/lib/libbsp/powerpc/qoriq/startup/bspstart.c b/c/src/lib/libbsp/powerpc/qoriq/startup/bspstart.c index 43caabbfae..364d8af875 100644 --- a/c/src/lib/libbsp/powerpc/qoriq/startup/bspstart.c +++ b/c/src/lib/libbsp/powerpc/qoriq/startup/bspstart.c @@ -89,8 +89,8 @@ void bsp_start(void) #ifdef HAS_UBOOT BSP_bus_frequency = bsp_uboot_board_info.bi_busfreq; bsp_clicks_per_usec = bsp_uboot_board_info.bi_busfreq / 8000000; + rtems_counter_initialize_converter(bsp_uboot_board_info.bi_intfreq); #endif /* HAS_UBOOT */ - rtems_counter_initialize_converter(BSP_bus_frequency / 8); /* Initialize some console parameters */ for (i = 0; i < console_device_count; ++i) { diff --git a/cpukit/score/cpu/powerpc/rtems/score/cpu.h b/cpukit/score/cpu/powerpc/rtems/score/cpu.h index 15854d54aa..2d3f05fe70 100644 --- a/cpukit/score/cpu/powerpc/rtems/score/cpu.h +++ b/cpukit/score/cpu/powerpc/rtems/score/cpu.h @@ -782,9 +782,9 @@ static inline CPU_Counter_ticks _CPU_Counter_read( void ) { CPU_Counter_ticks value; -#ifdef ppc8540 - /* Book E has no mftb */ - __asm__ volatile( "mfspr %0, 268" : "=r" (value) ); +#if defined(ppc8540) || defined(__PPC_CPU_E6500__) + /* Use Alternate Time Base */ + __asm__ volatile( "mfspr %0, 526" : "=r" (value) ); #else __asm__ volatile( "mftb %0" : "=r" (value) ); #endif -- cgit v1.2.3