[U-Boot-Users] [PATCH4] microblaze -Support time without timer

Michal Simek Monstr at seznam.cz
Thu Aug 30 09:37:43 CEST 2007


Desc: Support time without timer
Signed-off-by: Michal Simek <monstr at monstr.eu>

diff --git a/cpu/microblaze/timer.c b/cpu/microblaze/timer.c
index ab1cb12..b350453 100644
--- a/cpu/microblaze/timer.c
+++ b/cpu/microblaze/timer.c
@@ -33,10 +33,17 @@ void reset_timer (void)
        timestamp = 0;
 }

+#ifdef CFG_TIMER_0
 ulong get_timer (ulong base)
 {
        return (timestamp - base);
 }
+#else
+ulong get_timer (ulong base)
+{
+       return (timestamp++ - base);
+}
+#endif

 void set_timer (ulong t)
 {
diff --git a/lib_microblaze/time.c b/lib_microblaze/time.c
index 3fa1b11..0fef834 100644
--- a/lib_microblaze/time.c
+++ b/lib_microblaze/time.c
@@ -26,9 +26,17 @@

 #include <common.h>

+#ifdef CFG_TIMER_0
 void udelay (unsigned long usec)
 {
        int i;
        i = get_timer (0);
        while ((get_timer (0) - i) < (usec / 1000)) ;
 }
+#else
+void udelay (unsigned long usec)
+{
+       unsigned int i;
+       for (i = 0; i < (usec * XILINX_CLOCK_FREQ / 10000000); i++);
+}
+#endif




More information about the U-Boot mailing list