From: Wolfgang Denk <wd@fifi.denx.de>
Date: Fri, 16 Jun 2006 13:47:05 +0000 (+0200)
Subject: Fix udelay bug in vfd.c for trab board
X-Git-Tag: v2025.01-rc5-pxa1908~23012^2^2~11
X-Git-Url: http://git.dujemihanovic.xyz/img/static/%7B%7B%20%24.Site.BaseURL%20%7D%7Dposts/index.xml?a=commitdiff_plain;h=3e9a299231c9967e88e28937a8b202fc1a167ec7;p=u-boot.git

Fix udelay bug in vfd.c for trab board
Patch by Martin Krause, 27 Oct 2005
---

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 */