diff options
author | Michal Simek <michal.simek@xilinx.com> | 2014-01-21 07:30:37 +0100 |
---|---|---|
committer | Michal Simek <michal.simek@xilinx.com> | 2014-02-04 16:39:50 +0100 |
commit | 9d24274509cdd463992dc1fb1a2820d6a4b6d21d (patch) | |
tree | aa599f1c017ae0a597daf3394e8a45ed3192396d /arch/microblaze/lib | |
parent | 22ff7f4d195b49ca7db5b2a0c3aa2c987ab88c34 (diff) | |
download | u-boot-imx-9d24274509cdd463992dc1fb1a2820d6a4b6d21d.zip u-boot-imx-9d24274509cdd463992dc1fb1a2820d6a4b6d21d.tar.gz u-boot-imx-9d24274509cdd463992dc1fb1a2820d6a4b6d21d.tar.bz2 |
microblaze: Add SPL support
Add support for U-BOOT SPL. NOR and RAM mode are supported.
There are 3 images in NOR flash. u-boot.img, dtb and kernel.
Signed-off-by: Michal Simek <michal.simek@xilinx.com>
Diffstat (limited to 'arch/microblaze/lib')
-rw-r--r-- | arch/microblaze/lib/board.c | 11 |
1 files changed, 10 insertions, 1 deletions
diff --git a/arch/microblaze/lib/board.c b/arch/microblaze/lib/board.c index d22aa85..59956a8 100644 --- a/arch/microblaze/lib/board.c +++ b/arch/microblaze/lib/board.c @@ -50,10 +50,14 @@ init_fnc_t *init_sequence[] = { fdtdec_check_fdt, #endif serial_init, +#ifndef CONFIG_SPL_BUILD console_init_f, +#endif display_banner, +#ifndef CONFIG_SPL_BUILD interrupts_init, timer_init, +#endif NULL, }; @@ -66,7 +70,7 @@ void board_init_f(ulong not_used) gd = (gd_t *)(CONFIG_SYS_SDRAM_BASE + CONFIG_SYS_GBL_DATA_OFFSET); bd = (bd_t *)(CONFIG_SYS_SDRAM_BASE + CONFIG_SYS_GBL_DATA_OFFSET - GENERATED_BD_INFO_SIZE); -#if defined(CONFIG_CMD_FLASH) +#if defined(CONFIG_CMD_FLASH) && !defined(CONFIG_SPL_BUILD) ulong flash_size = 0; #endif asm ("nop"); /* FIXME gd is not initialize - wait */ @@ -88,9 +92,12 @@ void board_init_f(ulong not_used) /* FDT is at end of image */ gd->fdt_blob = (void *)__end; #endif + +#ifndef CONFIG_SPL_BUILD /* Allow the early environment to override the fdt address */ gd->fdt_blob = (void *)getenv_ulong("fdtcontroladdr", 16, (uintptr_t)gd->fdt_blob); +#endif /* * The Malloc area is immediately below the monitor copy in DRAM @@ -110,6 +117,7 @@ void board_init_f(ulong not_used) hang(); } +#ifndef CONFIG_SPL_BUILD #ifdef CONFIG_OF_CONTROL /* For now, put this check after the console is ready */ if (fdtdec_prepare_fdt()) @@ -190,4 +198,5 @@ void board_init_f(ulong not_used) WATCHDOG_RESET(); main_loop(); } +#endif /* CONFIG_SPL_BUILD */ } |