x86: Move test for cold boot into init functions
This commit is contained in:
parent
c869e2ac46
commit
bf6af154a4
2 changed files with 10 additions and 12 deletions
|
@ -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();
|
||||
}
|
||||
|
|
|
@ -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 CPU initialization */
|
||||
if (cpu_init_f() != 0)
|
||||
hang();
|
||||
|
||||
/* First stage Board initialization */
|
||||
if (board_early_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;
|
||||
|
|
Loading…
Reference in a new issue