From 3e9a299231c9967e88e28937a8b202fc1a167ec7 Mon Sep 17 00:00:00 2001
From: Wolfgang Denk <wd@fifi.denx.de>
Date: Fri, 16 Jun 2006 15:47:05 +0200
Subject: [PATCH] Fix udelay bug in vfd.c for trab board Patch by Martin
 Krause, 27 Oct 2005

---
 CHANGELOG        | 3 +++
 board/trab/vfd.c | 6 +++++-
 2 files changed, 8 insertions(+), 1 deletion(-)

diff --git a/CHANGELOG b/CHANGELOG
index 50bd498a26..11c47d7884 100644
--- a/CHANGELOG
+++ b/CHANGELOG
@@ -2,6 +2,9 @@
 Changes since U-Boot 1.1.4:
 ======================================================================
 
+* Fix udelay bug in vfd.c for trab board
+  Patch by Martin Krause, 27 Oct 2005
+
 * Disable JFFS2 support for trab board
   Patch by Martin Krause, 27 Oct 2005
 
diff --git a/board/trab/vfd.c b/board/trab/vfd.c
index cea8b0b665..2f1e7d7362 100644
--- a/board/trab/vfd.c
+++ b/board/trab/vfd.c
@@ -358,6 +358,8 @@ void transfer_pic(int display, unsigned char *adr, int height, int width)
  */
 int vfd_init_clocks (void)
 {
+	int i;
+
 	S3C24X0_GPIO * const gpio = S3C24X0_GetBase_GPIO();
 	S3C24X0_TIMERS * const timers = S3C24X0_GetBase_TIMERS();
 	S3C24X0_LCD * const lcd = S3C24X0_GetBase_LCD();
@@ -367,7 +369,9 @@ int vfd_init_clocks (void)
 	 */
 	gpio->PCUP = (gpio->PCUP & 0xFFF0);	/* activate  GPC0...GPC3 pullups */
 	gpio->PCCON = (gpio->PCCON & 0xFFFFFF00);	/* configure GPC0...GPC3 as inputs */
-	udelay (10);				/* allow signals to settle */
+	/* allow signals to settle */
+	for (i=0; i<10000; i++)	/* udelay isn't working yet at this point! */
+		__asm("NOP");
 	vfd_board_id = (~gpio->PCDAT) & 0x000F;	/* read GPC0...GPC3 port pins */
 
 	VFD_DISABLE;				/* activate blank for the vfd */
-- 
2.39.5