summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGraeme Russ <graeme.russ@gmail.com>2010-04-24 00:05:50 +1000
committerWolfgang Denk <wd@denx.de>2010-05-06 00:17:37 +0200
commit5204566e53a3c519e8795480d056635bc64b11cd (patch)
tree741a832ce94d7315a6dbbf02e3ca498c568624dc
parent95ffaba39042064c5eb68404894fd6b0f1d6a3e3 (diff)
downloadu-boot-imx-5204566e53a3c519e8795480d056635bc64b11cd.zip
u-boot-imx-5204566e53a3c519e8795480d056635bc64b11cd.tar.gz
u-boot-imx-5204566e53a3c519e8795480d056635bc64b11cd.tar.bz2
sc520: Allow boards to override udelay
If the board has a high precision mico-second timer, it maked sense to use it instead of the on-chip one Signed-off-by: Graeme Russ <graeme.russ@gmail.com>
-rw-r--r--arch/i386/cpu/sc520/sc520_timer.c4
-rw-r--r--arch/i386/include/asm/ic/sc520.h1
2 files changed, 5 insertions, 0 deletions
diff --git a/arch/i386/cpu/sc520/sc520_timer.c b/arch/i386/cpu/sc520/sc520_timer.c
index eca48e0..d5617e9 100644
--- a/arch/i386/cpu/sc520/sc520_timer.c
+++ b/arch/i386/cpu/sc520/sc520_timer.c
@@ -69,7 +69,11 @@ int timer_init(void)
return 0;
}
+/* Allow boards to override udelay implementation */
void __udelay(unsigned long usec)
+ __attribute__((weak, alias("sc520_udelay")));
+
+void sc520_udelay(unsigned long usec)
{
int m = 0;
long u;
diff --git a/arch/i386/include/asm/ic/sc520.h b/arch/i386/include/asm/ic/sc520.h
index 57c9904..20384a4 100644
--- a/arch/i386/include/asm/ic/sc520.h
+++ b/arch/i386/include/asm/ic/sc520.h
@@ -28,6 +28,7 @@
void init_sc520(void);
unsigned long init_sc520_dram(void);
+void sc520_udelay(unsigned long usec);
/* Memory mapped configuration registers */
typedef struct sc520_mmcr {