diff options
author | Thomas Chou <thomas@wytron.com.tw> | 2010-04-22 17:27:16 +0800 |
---|---|---|
committer | Scott McNutt <smcnutt@psyent.com> | 2010-04-24 18:21:23 -0400 |
commit | 441cac10d8a9438b144ab0ad46280780b58f638b (patch) | |
tree | 2bb8efd78770017d61d22184b4e41e4f09e6f837 /arch/nios2 | |
parent | fd2712d0b1d4c1624bef35b784ee64451ee5a017 (diff) |
nios2: fix no flash, add nand and mmc init in board.c
This patch fixes error when CONFIG_SYS_NO_FLASH. And adds
nand flash and mmc initialization, which should go before
env initialization.
Signed-off-by: Thomas Chou <thomas@wytron.com.tw>
Signed-off-by: Scott McNutt <smcnutt@psyent.com>
Diffstat (limited to 'arch/nios2')
-rw-r--r-- | arch/nios2/lib/board.c | 18 |
1 files changed, 18 insertions, 0 deletions
diff --git a/arch/nios2/lib/board.c b/arch/nios2/lib/board.c index 8ec66a35404..f83e691a349 100644 --- a/arch/nios2/lib/board.c +++ b/arch/nios2/lib/board.c @@ -28,6 +28,7 @@ #include <stdio_dev.h> #include <watchdog.h> #include <malloc.h> +#include <mmc.h> #include <net.h> #ifdef CONFIG_STATUS_LED #include <status_led.h> @@ -35,6 +36,9 @@ #if defined(CONFIG_SYS_NIOS_EPCSBASE) #include <nios2-epcs.h> #endif +#ifdef CONFIG_CMD_NAND +#include <nand.h> /* cannot even include nand.h if it isnt configured */ +#endif DECLARE_GLOBAL_DATA_PTR; @@ -100,7 +104,9 @@ void board_init (void) bd = gd->bd; bd->bi_memstart = CONFIG_SYS_SDRAM_BASE; bd->bi_memsize = CONFIG_SYS_SDRAM_SIZE; +#ifndef CONFIG_SYS_NO_FLASH bd->bi_flashstart = CONFIG_SYS_FLASH_BASE; +#endif #if defined(CONFIG_SYS_SRAM_BASE) && defined(CONFIG_SYS_SRAM_SIZE) bd->bi_sramstart= CONFIG_SYS_SRAM_BASE; bd->bi_sramsize = CONFIG_SYS_SRAM_SIZE; @@ -119,8 +125,20 @@ void board_init (void) /* The Malloc area is immediately below the monitor copy in RAM */ mem_malloc_init(CONFIG_SYS_MALLOC_BASE, CONFIG_SYS_MALLOC_LEN); +#ifndef CONFIG_SYS_NO_FLASH WATCHDOG_RESET (); bd->bi_flashsize = flash_init(); +#endif + +#ifdef CONFIG_CMD_NAND + puts("NAND: "); + nand_init(); +#endif + +#ifdef CONFIG_GENERIC_MMC + puts("MMC: "); + mmc_initialize(bd); +#endif WATCHDOG_RESET (); env_relocate(); |