summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGraeme Russ <graeme.russ@gmail.com>2011-02-12 15:12:01 +1100
committerGraeme Russ <graeme.russ@gmail.com>2011-02-12 15:12:01 +1100
commitbf6af154a48a19d29c17cd35dd78a61bc045026f (patch)
treeda7c3eff78d561838e86a61d2727b38952604a37
parentc869e2ac46a7a8ca00d1fd24c6399ca8e256e244 (diff)
downloadu-boot-imx-bf6af154a48a19d29c17cd35dd78a61bc045026f.zip
u-boot-imx-bf6af154a48a19d29c17cd35dd78a61bc045026f.tar.gz
u-boot-imx-bf6af154a48a19d29c17cd35dd78a61bc045026f.tar.bz2
x86: Move test for cold boot into init functions
-rw-r--r--arch/i386/cpu/sc520/sc520.c7
-rw-r--r--arch/i386/lib/board.c17
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 0b26c83..1fd422f 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;