diff options
author | Simon Glass | 2013-03-05 14:39:53 +0000 |
---|---|---|
committer | Tom Rini | 2013-03-15 16:14:00 -0400 |
commit | be274b99abd5d8ef3b57aa16a3443b0950002c94 (patch) | |
tree | 85b03a03756f82dc21194b0ef603cf5e923a5ad0 /common | |
parent | 48a3380675f4759fd63609d03f5cffc33274f96b (diff) |
x86: Adjust board_r.c for x86
For x86 the global_data is managed entirely by the start.S code so we do
not need to touch it. However, we do have some more initcalls to add.
Signed-off-by: Simon Glass <sjg@chromium.org>
Diffstat (limited to 'common')
-rw-r--r-- | common/board_r.c | 23 |
1 files changed, 21 insertions, 2 deletions
diff --git a/common/board_r.c b/common/board_r.c index c57ae5cace1..63c69365b19 100644 --- a/common/board_r.c +++ b/common/board_r.c @@ -63,6 +63,9 @@ #include <asm/mmu.h> #endif #include <asm/sections.h> +#ifdef CONFIG_X86 +#include <asm/init_helpers.h> +#endif #include <linux/compiler.h> DECLARE_GLOBAL_DATA_PTR; @@ -717,6 +720,9 @@ init_fnc_t init_sequence_r[] = { #ifdef CONFIG_CLOCKS set_cpu_clk_info, /* Setup clock information */ #endif +#ifdef CONFIG_X86 + init_bd_struct_r, +#endif initr_reloc_global_data, initr_serial, initr_announce, @@ -764,11 +770,16 @@ init_fnc_t init_sequence_r[] = { initr_flash, #endif INIT_FUNC_WATCHDOG_RESET -#ifdef CONFIG_PPC +#if defined(CONFIG_PPC) || defined(CONFIG_X86) /* initialize higher level parts of CPU like time base and timers */ cpu_init_r, +#endif +#ifdef CONFIG_PPC initr_spi, #endif +#if defined(CONFIG_X86) && defined(CONFIG_SPI) + init_func_spi, +#endif #ifdef CONFIG_CMD_NAND initr_nand, #endif @@ -822,10 +833,16 @@ init_fnc_t init_sequence_r[] = { #ifdef CONFIG_CMD_KGDB initr_kgdb, #endif +#ifdef CONFIG_X86 + board_early_init_r, +#endif interrupt_init, -#ifdef CONFIG_ARM +#if defined(CONFIG_ARM) || defined(CONFIG_x86) initr_enable_interrupts, #endif +#ifdef CONFIG_X86 + timer_init, /* initialize timer */ +#endif #if defined(CONFIG_STATUS_LED) && defined(STATUS_LED_BOOT) initr_status_led, #endif @@ -887,7 +904,9 @@ init_fnc_t init_sequence_r[] = { void board_init_r(gd_t *new_gd, ulong dest_addr) { +#ifndef CONFIG_X86 gd = new_gd; +#endif if (initcall_run_list(init_sequence_r)) hang(); |