Index: bsps/powerpc/beatnik/start/bspstart.c
===================================================================
--- bsps/powerpc/beatnik/start/bspstart.c	(revision 1f283f17a8daee9e9ab70599cb2bc91a92b91859)
+++ bsps/powerpc/beatnik/start/bspstart.c	(revision 65f868cac6f7fd5c3ad02046574c19f8f4673255)
@@ -163,4 +163,9 @@
 }
 
+uint32_t _CPU_Counter_frequency(void)
+{
+  return BSP_bus_frequency / (BSP_time_base_divisor / 1000);
+}
+
 /*
  *  bsp_start
@@ -331,7 +336,4 @@
 
   bsp_clicks_per_usec = BSP_bus_frequency/(BSP_time_base_divisor * 1000);
-  rtems_counter_initialize_converter(
-    BSP_bus_frequency / (BSP_time_base_divisor / 1000)
-  );
 
 #ifdef SHOW_MORE_INIT_SETTINGS
Index: bsps/powerpc/gen5200/start/bspstart.c
===================================================================
--- bsps/powerpc/gen5200/start/bspstart.c	(revision 1f283f17a8daee9e9ab70599cb2bc91a92b91859)
+++ bsps/powerpc/gen5200/start/bspstart.c	(revision 65f868cac6f7fd5c3ad02046574c19f8f4673255)
@@ -113,4 +113,9 @@
 uint32_t bsp_clicks_per_usec;
 
+uint32_t _CPU_Counter_frequency(void)
+{
+  return bsp_time_base_frequency;
+}
+
 void bsp_start(void)
 {
@@ -146,5 +151,4 @@
   bsp_time_base_frequency = XLB_CLOCK / 4;
   bsp_clicks_per_usec    = (XLB_CLOCK/4000000);
-  rtems_counter_initialize_converter(bsp_time_base_frequency);
 
   /* Initialize exception handler */
Index: bsps/powerpc/gen83xx/start/bspstart.c
===================================================================
--- bsps/powerpc/gen83xx/start/bspstart.c	(revision 1f283f17a8daee9e9ab70599cb2bc91a92b91859)
+++ bsps/powerpc/gen83xx/start/bspstart.c	(revision 65f868cac6f7fd5c3ad02046574c19f8f4673255)
@@ -52,4 +52,9 @@
 }
 
+uint32_t _CPU_Counter_frequency(void)
+{
+  return bsp_time_base_frequency;
+}
+
 void bsp_start( void)
 {
@@ -93,5 +98,4 @@
   bsp_time_base_frequency = BSP_bus_frequency / 4;
   bsp_clicks_per_usec = bsp_time_base_frequency / 1000000;
-  rtems_counter_initialize_converter(bsp_time_base_frequency);
 
   /* Initialize some console parameters */
Index: bsps/powerpc/haleakala/start/bspstart.c
===================================================================
--- bsps/powerpc/haleakala/start/bspstart.c	(revision 1f283f17a8daee9e9ab70599cb2bc91a92b91859)
+++ bsps/powerpc/haleakala/start/bspstart.c	(revision 65f868cac6f7fd5c3ad02046574c19f8f4673255)
@@ -154,4 +154,9 @@
 BSP_polling_getchar_function_type BSP_poll_char = NULL;
 
+uint32_t _CPU_Counter_frequency(void)
+{
+  return bsp_clicks_per_usec * 1000000;
+}
+
 /*===================================================================*/
 
@@ -179,5 +184,4 @@
   /* timebase register ticks/microsecond = CPU Clk in MHz */
   bsp_clicks_per_usec = 400;
-  rtems_counter_initialize_converter(bsp_clicks_per_usec * 1000000);
 
   /*
Index: bsps/powerpc/motorola_powerpc/start/bspstart.c
===================================================================
--- bsps/powerpc/motorola_powerpc/start/bspstart.c	(revision 1f283f17a8daee9e9ab70599cb2bc91a92b91859)
+++ bsps/powerpc/motorola_powerpc/start/bspstart.c	(revision 65f868cac6f7fd5c3ad02046574c19f8f4673255)
@@ -120,4 +120,9 @@
 #endif
 
+uint32_t _CPU_Counter_frequency(void)
+{
+  return BSP_bus_frequency / (BSP_time_base_divisor / 1000);
+}
+
 /*
  *  bsp_start
@@ -347,7 +352,4 @@
    */
   bsp_clicks_per_usec 	 = BSP_bus_frequency/(BSP_time_base_divisor * 1000);
-  rtems_counter_initialize_converter(
-    BSP_bus_frequency / (BSP_time_base_divisor / 1000)
-  );
 
   /*
Index: bsps/powerpc/mpc55xxevb/start/bspstart.c
===================================================================
--- bsps/powerpc/mpc55xxevb/start/bspstart.c	(revision 1f283f17a8daee9e9ab70599cb2bc91a92b91859)
+++ bsps/powerpc/mpc55xxevb/start/bspstart.c	(revision 65f868cac6f7fd5c3ad02046574c19f8f4673255)
@@ -64,4 +64,9 @@
 }
 
+uint32_t _CPU_Counter_frequency(void)
+{
+	return bsp_clock_speed;
+}
+
 void bsp_start(void)
 {
@@ -83,5 +88,4 @@
 	/* Time reference value */
 	bsp_clicks_per_usec = bsp_clock_speed / 1000000;
-	rtems_counter_initialize_converter(bsp_clock_speed);
 
 	/* Initialize exceptions */
Index: bsps/powerpc/mpc8260ads/start/bspstart.c
===================================================================
--- bsps/powerpc/mpc8260ads/start/bspstart.c	(revision 1f283f17a8daee9e9ab70599cb2bc91a92b91859)
+++ bsps/powerpc/mpc8260ads/start/bspstart.c	(revision 65f868cac6f7fd5c3ad02046574c19f8f4673255)
@@ -115,4 +115,9 @@
 }
 
+uint32_t _CPU_Counter_frequency(void)
+{
+  return bsp_clock_speed;
+}
+
 void bsp_start(void)
 {
@@ -172,5 +177,4 @@
   bsp_serial_rate 	     = 9600;
   bsp_clock_speed 	   = 40000000;
-  rtems_counter_initialize_converter(bsp_clock_speed);
 
 #ifdef REV_0_2
Index: bsps/powerpc/mvme3100/start/bspstart.c
===================================================================
--- bsps/powerpc/mvme3100/start/bspstart.c	(revision 1f283f17a8daee9e9ab70599cb2bc91a92b91859)
+++ bsps/powerpc/mvme3100/start/bspstart.c	(revision 65f868cac6f7fd5c3ad02046574c19f8f4673255)
@@ -193,4 +193,9 @@
 }
 
+uint32_t _CPU_Counter_frequency(void)
+{
+  return BSP_bus_frequency / (BSP_time_base_divisor / 1000);
+}
+
 /*
  *  bsp_start
@@ -368,7 +373,4 @@
 
   bsp_clicks_per_usec = BSP_bus_frequency/(BSP_time_base_divisor * 1000);
-  rtems_counter_initialize_converter(
-    BSP_bus_frequency / (BSP_time_base_divisor / 1000)
-  );
 
   /*
Index: bsps/powerpc/mvme5500/start/bspstart.c
===================================================================
--- bsps/powerpc/mvme5500/start/bspstart.c	(revision 1f283f17a8daee9e9ab70599cb2bc91a92b91859)
+++ bsps/powerpc/mvme5500/start/bspstart.c	(revision 65f868cac6f7fd5c3ad02046574c19f8f4673255)
@@ -170,4 +170,9 @@
 }
 
+uint32_t _CPU_Counter_frequency(void)
+{
+  return BSP_bus_frequency / (BSP_time_base_divisor / 1000);
+}
+
 void bsp_start( void )
 {
@@ -266,7 +271,4 @@
 
   bsp_clicks_per_usec    = BSP_bus_frequency/(BSP_time_base_divisor * 1000);
-  rtems_counter_initialize_converter(
-    BSP_bus_frequency / (BSP_time_base_divisor / 1000)
-  );
 
   /*
Index: bsps/powerpc/psim/start/bspstart.c
===================================================================
--- bsps/powerpc/psim/start/bspstart.c	(revision 1f283f17a8daee9e9ab70599cb2bc91a92b91859)
+++ bsps/powerpc/psim/start/bspstart.c	(revision 65f868cac6f7fd5c3ad02046574c19f8f4673255)
@@ -61,4 +61,9 @@
 extern unsigned long __rtems_end[];
 
+uint32_t _CPU_Counter_frequency(void)
+{
+  return bsp_clicks_per_usec * 1000000;
+}
+
 /*
  *  bsp_start
@@ -82,5 +87,4 @@
   bsp_clicks_per_usec      = BSP_bus_frequency;
   BSP_time_base_divisor    = 1;
-  rtems_counter_initialize_converter(bsp_clicks_per_usec * 1000000);
 
   /*
Index: bsps/powerpc/qemuppc/start/bspstart.c
===================================================================
--- bsps/powerpc/qemuppc/start/bspstart.c	(revision 1f283f17a8daee9e9ab70599cb2bc91a92b91859)
+++ bsps/powerpc/qemuppc/start/bspstart.c	(revision 65f868cac6f7fd5c3ad02046574c19f8f4673255)
@@ -55,4 +55,9 @@
 }
 
+uint32_t _CPU_Counter_frequency(void)
+{
+  return bsp_time_base_frequency;
+}
+
 /*
  *  bsp_start
@@ -81,5 +86,4 @@
   bsp_time_base_frequency  = 20000000;
   bsp_clicks_per_usec      = BSP_bus_frequency;
-  rtems_counter_initialize_converter(bsp_time_base_frequency);
 
   /*
Index: bsps/powerpc/qoriq/start/bspstart.c
===================================================================
--- bsps/powerpc/qoriq/start/bspstart.c	(revision 1f283f17a8daee9e9ab70599cb2bc91a92b91859)
+++ bsps/powerpc/qoriq/start/bspstart.c	(revision 65f868cac6f7fd5c3ad02046574c19f8f4673255)
@@ -55,4 +55,13 @@
 uint32_t qoriq_clock_frequency;
 
+uint32_t _CPU_Counter_frequency(void)
+{
+#ifdef __PPC_CPU_E6500__
+  return qoriq_clock_frequency;
+#else
+  return bsp_time_base_frequency;
+#endif
+}
+
 static void initialize_frequency_parameters(void)
 {
@@ -83,5 +92,4 @@
     qoriq_clock_frequency = fdt32_to_cpu(*val_fdt);
   #endif
-  rtems_counter_initialize_converter(fdt32_to_cpu(*val_fdt));
 }
 
Index: bsps/powerpc/ss555/start/bspstart.c
===================================================================
--- bsps/powerpc/ss555/start/bspstart.c	(revision 1f283f17a8daee9e9ab70599cb2bc91a92b91859)
+++ bsps/powerpc/ss555/start/bspstart.c	(revision 65f868cac6f7fd5c3ad02046574c19f8f4673255)
@@ -40,4 +40,9 @@
 uint32_t   bsp_clicks_per_usec;
 uint32_t   bsp_clock_speed;	       /* Serial clocks per second */
+
+uint32_t _CPU_Counter_frequency(void)
+{
+  return BSP_CRYSTAL_HZ / 4;
+}
 
 /*
@@ -89,5 +94,4 @@
   bsp_clicks_per_usec = BSP_CRYSTAL_HZ / 4 / 1000000;
   bsp_clock_speed     = BSP_CLOCK_HZ;	/* for SCI baud rate generator */
-  rtems_counter_initialize_converter(BSP_CRYSTAL_HZ / 4);
 
   /*
Index: bsps/powerpc/t32mppc/start/bspstart.c
===================================================================
--- bsps/powerpc/t32mppc/start/bspstart.c	(revision 1f283f17a8daee9e9ab70599cb2bc91a92b91859)
+++ bsps/powerpc/t32mppc/start/bspstart.c	(revision 65f868cac6f7fd5c3ad02046574c19f8f4673255)
@@ -78,11 +78,13 @@
 }
 
+uint32_t _CPU_Counter_frequency(void)
+{
+  return bsp_time_base_frequency;
+}
+
 void bsp_start(void)
 {
   get_ppc_cpu_type();
   get_ppc_cpu_revision();
-
-  rtems_counter_initialize_converter(bsp_time_base_frequency);
-
   t32mppc_initialize_exceptions(bsp_section_work_begin);
   bsp_interrupt_initialize();
Index: bsps/powerpc/tqm8xx/start/bspstart.c
===================================================================
--- bsps/powerpc/tqm8xx/start/bspstart.c	(revision 1f283f17a8daee9e9ab70599cb2bc91a92b91859)
+++ bsps/powerpc/tqm8xx/start/bspstart.c	(revision 65f868cac6f7fd5c3ad02046574c19f8f4673255)
@@ -93,4 +93,9 @@
 }
 
+uint32_t _CPU_Counter_frequency(void)
+{
+  return bsp_time_base_frequency;
+}
+
 void bsp_start( void)
 {
@@ -143,5 +148,4 @@
   bsp_time_base_frequency = BSP_bus_frequency / 16;
   bsp_clicks_per_usec = bsp_time_base_frequency / 1000000;
-  rtems_counter_initialize_converter(bsp_time_base_frequency);
 
   /* Initialize exception handler */
Index: bsps/powerpc/virtex/start/bspstart.c
===================================================================
--- bsps/powerpc/virtex/start/bspstart.c	(revision 1f283f17a8daee9e9ab70599cb2bc91a92b91859)
+++ bsps/powerpc/virtex/start/bspstart.c	(revision 65f868cac6f7fd5c3ad02046574c19f8f4673255)
@@ -75,4 +75,9 @@
 uint32_t bsp_time_base_frequency = XPAR_CPU_PPC405_CORE_CLOCK_FREQ_HZ;
 
+uint32_t _CPU_Counter_frequency(void)
+{
+  return bsp_time_base_frequency;
+}
+
 /*
  *  bsp_start
@@ -90,6 +95,4 @@
   get_ppc_cpu_revision();
 
-  rtems_counter_initialize_converter(bsp_time_base_frequency);
-
   /*
    * Initialize default raw exception handlers.
Index: bsps/powerpc/virtex4/start/bspstart.c
===================================================================
--- bsps/powerpc/virtex4/start/bspstart.c	(revision 1f283f17a8daee9e9ab70599cb2bc91a92b91859)
+++ bsps/powerpc/virtex4/start/bspstart.c	(revision 65f868cac6f7fd5c3ad02046574c19f8f4673255)
@@ -131,4 +131,8 @@
 }
 
+uint32_t _CPU_Counter_frequency(void)
+{
+  return bsp_clicks_per_usec * 1000000;
+}
 
 /*===================================================================*/
@@ -167,5 +171,4 @@
   /* Timebase register ticks/microsecond;  The application may override these */
   bsp_clicks_per_usec        = 350;
-  rtems_counter_initialize_converter(bsp_clicks_per_usec * 1000000);
 
   /*
Index: bsps/powerpc/virtex5/start/bspstart.c
===================================================================
--- bsps/powerpc/virtex5/start/bspstart.c	(revision 1f283f17a8daee9e9ab70599cb2bc91a92b91859)
+++ bsps/powerpc/virtex5/start/bspstart.c	(revision 65f868cac6f7fd5c3ad02046574c19f8f4673255)
@@ -145,4 +145,8 @@
 }
 
+uint32_t _CPU_Counter_frequency(void)
+{
+  return BSP_bus_frequency / (BSP_time_base_divisor / 1000);
+}
 
 /*===================================================================*/
@@ -186,7 +190,4 @@
   /* Timebase register ticks/microsecond;  The application may override these */
   bsp_clicks_per_usec        = BSP_bus_frequency/(BSP_time_base_divisor * 1000);
-  rtems_counter_initialize_converter(
-    BSP_bus_frequency / (BSP_time_base_divisor / 1000)
-  );
 
   /*
