[U-Boot] [PATCH 25/32] x86: Move test for cold boot into init functions

Graeme Russ graeme.russ at gmail.com
Fri Feb 4 13:35:52 CET 2011


Signed-off-by: Graeme Russ <graeme.russ at gmail.com>
---
 arch/i386/cpu/sc520/sc520.c |    7 ++++---
 arch/i386/lib/board.c       |   17 +++++++----------
 2 files changed, 11 insertions(+), 13 deletions(-)

diff --git a/arch/i386/cpu/sc520/sc520.c b/arch/i386/cpu/sc520/sc520.c
index d5597ca..e5dcac6 100644
--- a/arch/i386/cpu/sc520/sc520.c
+++ b/arch/i386/cpu/sc520/sc520.c
@@ -45,15 +45,16 @@ int cpu_init_f(void)
 		gd->cpu_clk = 100000000;
 	}
 
-
 	/* wait at least one millisecond */
 	asm("movl	$0x2000, %%ecx\n"
 	    "0:		pushl %%ecx\n"
 	    "popl	%%ecx\n"
 	    "loop 0b\n": : : "ecx");
 
-	/* turn on the SDRAM write buffer */
-	writeb(0x11, &sc520_mmcr->dbctl);
+	if (gd->flags & GD_FLG_COLD_BOOT) {
+		/* turn on the SDRAM write buffer */
+		writeb(0x11, &sc520_mmcr->dbctl);
+	}
 
 	return x86_cpu_init_f();
 }
diff --git a/arch/i386/lib/board.c b/arch/i386/lib/board.c
index 1d47a55..73aaadc 100644
--- a/arch/i386/lib/board.c
+++ b/arch/i386/lib/board.c
@@ -207,16 +207,13 @@ void board_init_f(ulong boot_flags)
 	dest_addr -= (bss_end - text_start);
 	rel_offset = text_start - dest_addr;
 
-	/* Perform low-level initialization only when cold booted */
-	if (gd->flags & GD_FLG_COLD_BOOT) {
-		/* First stage CPU initialization */
-		if (cpu_init_f() != 0)
-			hang();
-
-		/* First stage Board initialization */
-		if (board_early_init_f() != 0)
-			hang();
-	}
+	/* First stage CPU initialization */
+	if (cpu_init_f() != 0)
+		hang();
+
+	/* First stage Board initialization */
+	if (board_early_init_f() != 0)
+		hang();
 
 	/* Copy U-Boot into RAM */
 	dst_addr = (ulong *)dest_addr;
-- 
1.7.1.422.g049e9



More information about the U-Boot mailing list