diff options
author | Graeme Russ <graeme.russ@gmail.com> | 2011-02-12 15:12:01 +1100 |
---|---|---|
committer | Graeme Russ <graeme.russ@gmail.com> | 2011-02-12 15:12:01 +1100 |
commit | bf6af154a48a19d29c17cd35dd78a61bc045026f (patch) | |
tree | da7c3eff78d561838e86a61d2727b38952604a37 /arch/i386 | |
parent | c869e2ac46a7a8ca00d1fd24c6399ca8e256e244 (diff) | |
download | u-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
Diffstat (limited to 'arch/i386')
-rw-r--r-- | arch/i386/cpu/sc520/sc520.c | 7 | ||||
-rw-r--r-- | 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 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; |