summaryrefslogtreecommitdiff
path: root/lib_ppc/board.c
diff options
context:
space:
mode:
Diffstat (limited to 'lib_ppc/board.c')
-rw-r--r--lib_ppc/board.c25
1 files changed, 16 insertions, 9 deletions
diff --git a/lib_ppc/board.c b/lib_ppc/board.c
index db80f77..844bbc9 100644
--- a/lib_ppc/board.c
+++ b/lib_ppc/board.c
@@ -1,5 +1,5 @@
/*
- * (C) Copyright 2000-2004
+ * (C) Copyright 2000-2006
* Wolfgang Denk, DENX Software Engineering, wd@denx.de.
*
* See file CREDITS for list of people who contributed to this
@@ -504,7 +504,7 @@ void board_init_f (ulong bootflag)
#endif
#if defined(CONFIG_8xx) || defined(CONFIG_8260) || defined(CONFIG_5xx) || \
- defined(CONFIG_E500)
+ defined(CONFIG_E500) || defined(CONFIG_MPC86xx)
bd->bi_immr_base = CFG_IMMR; /* base of IMMR register */
#endif
#if defined(CONFIG_MPC5xxx)
@@ -763,6 +763,12 @@ void board_init_r (gd_t *id, ulong dest_addr)
spi_init_r ();
#endif
+#if (CONFIG_COMMANDS & CFG_CMD_NAND)
+ WATCHDOG_RESET ();
+ puts ("NAND: ");
+ nand_init(); /* go init the NAND */
+#endif
+
/* relocate environment function pointers etc. */
env_relocate ();
@@ -799,7 +805,10 @@ void board_init_r (gd_t *id, ulong dest_addr)
#endif /* CFG_EXTBDINFO */
s = getenv ("ethaddr");
-#if defined (CONFIG_MBX) || defined (CONFIG_RPXCLASSIC) || defined(CONFIG_IAD210)
+#if defined (CONFIG_MBX) || \
+ defined (CONFIG_RPXCLASSIC) || \
+ defined(CONFIG_IAD210) || \
+ defined(CONFIG_V38B)
if (s == NULL)
board_get_enetaddr (bd->bi_enetaddr);
else
@@ -862,6 +871,10 @@ void board_init_r (gd_t *id, ulong dest_addr)
}
#endif
+#ifdef CFG_ID_EEPROM
+ mac_read_from_eeprom();
+#endif
+
#if defined(CONFIG_TQM8xxL) || defined(CONFIG_TQM8260) || \
defined(CONFIG_CCM) || defined(CONFIG_KUP4K) || defined(CONFIG_KUP4X)
load_sernum_ethaddr ();
@@ -959,12 +972,6 @@ void board_init_r (gd_t *id, ulong dest_addr)
doc_init ();
#endif
-#if (CONFIG_COMMANDS & CFG_CMD_NAND)
- WATCHDOG_RESET ();
- puts ("NAND: ");
- nand_init(); /* go init the NAND */
-#endif
-
#if (CONFIG_COMMANDS & CFG_CMD_NET)
#if defined(CONFIG_NET_MULTI)
WATCHDOG_RESET ();