This patch adds various initializations for eth, flash protection,
no flash, nand flash and mmc.

Signed-off-by: Thomas Chou <tho...@wytron.com.tw>
---
 lib_nios2/board.c |   33 +++++++++++++++++++++++++++++++++
 1 files changed, 33 insertions(+), 0 deletions(-)

diff --git a/lib_nios2/board.c b/lib_nios2/board.c
index 41d3297..34d811e 100644
--- a/lib_nios2/board.c
+++ b/lib_nios2/board.c
@@ -38,6 +38,8 @@
 
 DECLARE_GLOBAL_DATA_PTR;
 
+unsigned long monitor_flash_len = CONFIG_SYS_MONITOR_LEN;
+
 /*
  * All attempts to come up with a "common" initialization sequence
  * that works for all boards and architectures failed: some of the
@@ -78,6 +80,21 @@ init_fnc_t *init_sequence[] = {
 };
 
 
+static void board_net_init_r(bd_t *bd)
+{
+#ifdef CONFIG_CMD_NET
+       char *s = getenv("bootfile");
+
+       if (s != NULL)
+               copy_filename(BootFile, s, sizeof(BootFile));
+
+       bd->bi_ip_addr = getenv_IPaddr("ipaddr");
+
+       printf("Net:   ");
+       eth_initialize(gd->bd);
+#endif
+}
+
 /***********************************************************************/
 void board_init (void)
 {
@@ -100,7 +117,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 +138,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();            /* go init the NAND */
+#endif
+
+#ifdef CONFIG_GENERIC_MMC
+       puts("MMC:  ");
+       mmc_initialize(bd);
+#endif
 
        WATCHDOG_RESET ();
        env_relocate();
@@ -135,6 +166,8 @@ void board_init (void)
        WATCHDOG_RESET ();
        interrupt_init ();
 
+       board_net_init_r(bd);
+
 #if defined(CONFIG_BOARD_LATE_INIT)
        board_late_init ();
 #endif
-- 
1.6.6.1

_______________________________________________
U-Boot mailing list
U-Boot@lists.denx.de
http://lists.denx.de/mailman/listinfo/u-boot

Reply via email to