]> git.sur5r.net Git - u-boot/blobdiff - arch/arm/cpu/arm926ejs/armada100/timer.c
Merge branch 'master' of git://git.denx.de/u-boot-blackfin
[u-boot] / arch / arm / cpu / arm926ejs / armada100 / timer.c
index 86da0ce5b0c9bd0657a3d8624ea6f334f3d4e8f2..355cd6d1d8200e055b639698273b7fc70a12f9b2 100644 (file)
@@ -24,6 +24,7 @@
  */
 
 #include <common.h>
+#include <asm/arch/cpu.h>
 #include <asm/arch/armada100.h>
 
 /*
@@ -77,13 +78,6 @@ ulong read_timer(void)
        return(readl(&armd1timers->cvwr));
 }
 
-void reset_timer_masked(void)
-{
-       /* reset time */
-       gd->tbl = read_timer();
-       gd->tbu = 0;
-}
-
 ulong get_timer_masked(void)
 {
        ulong now = read_timer();
@@ -142,7 +136,8 @@ int timer_init(void)
        /* Enable timer 0 */
        writel(0x1, &armd1timers->cer);
        /* init the gd->tbu and gd->tbl value */
-       reset_timer_masked();
+       gd->tbl = read_timer();
+       gd->tbu = 0;
 
        return 0;
 }
@@ -195,3 +190,21 @@ void reset_cpu (unsigned long ignored)
 
        while(1);
 }
+
+/*
+ * This function is derived from PowerPC code (read timebase as long long).
+ * On ARM it just returns the timer value.
+ */
+unsigned long long get_ticks(void)
+{
+       return get_timer(0);
+}
+
+/*
+ * This function is derived from PowerPC code (timebase clock frequency).
+ * On ARM it returns the number of timer ticks per second.
+ */
+ulong get_tbclk (void)
+{
+       return (ulong)CONFIG_SYS_HZ;
+}