summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMichal Simek <monstr@monstr.eu>2007-07-14 00:18:48 +0200
committerMichal Simek <monstr@monstr.eu>2007-07-14 00:18:48 +0200
commit5a2f1098d81ad58b309e5e558d0492643166a799 (patch)
tree681bd9075465e789b6733a8727c1ee1bb5dbdd9d
parenta476ca2ac2217ddd05a2bf0c514075814b10a3c0 (diff)
downloadu-boot-imx-5a2f1098d81ad58b309e5e558d0492643166a799.zip
u-boot-imx-5a2f1098d81ad58b309e5e558d0492643166a799.tar.gz
u-boot-imx-5a2f1098d81ad58b309e5e558d0492643166a799.tar.bz2
[PATCH] Support time without timer
-rw-r--r--cpu/microblaze/timer.c7
-rw-r--r--lib_microblaze/time.c8
2 files changed, 15 insertions, 0 deletions
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