summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorSebastian Huber <sebastian.huber@embedded-brains.de>2014-12-22 11:46:17 +0100
committerSebastian Huber <sebastian.huber@embedded-brains.de>2015-01-09 14:03:35 +0100
commitbb7bd148ba4bcbc2b1a1e4d17118c4c4b5464f9b (patch)
tree5f29e4c58753434e8a33db44b24e61420d155b63
parentbsp/qoriq: Fix nanoseconds extension (diff)
downloadrtems-bb7bd148ba4bcbc2b1a1e4d17118c4c4b5464f9b.tar.bz2
powerpc: Use alternate time base for CPU counter
-rw-r--r--c/src/lib/libbsp/powerpc/qoriq/startup/bspstart.c2
-rw-r--r--cpukit/score/cpu/powerpc/rtems/score/cpu.h6
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