summaryrefslogtreecommitdiff
path: root/lib_ppc
diff options
context:
space:
mode:
authorwdenk <wdenk>2004-02-06 23:19:44 +0000
committerwdenk <wdenk>2004-02-06 23:19:44 +0000
commitba56f625767d058b0e05a22729de13be5e0f6334 (patch)
tree196b8fdb07802d9a64ca8e0278906a1a9279c6fe /lib_ppc
parenta6cccaea5a4743f4e4fb93a3ae9537e7357c783b (diff)
downloadu-boot-imx-ba56f625767d058b0e05a22729de13be5e0f6334.zip
u-boot-imx-ba56f625767d058b0e05a22729de13be5e0f6334.tar.gz
u-boot-imx-ba56f625767d058b0e05a22729de13be5e0f6334.tar.bz2
Patch by Travis Sawyer, 30 Dec 2003:
Add support for IBM PPC440GX. Multiple EMAC Ethernet devices, select MDI port based on enabled EMAC device. Add support for XES Inc <http://www.xes-inc.com> XPedite1000 440GX base PrPMC board.
Diffstat (limited to 'lib_ppc')
-rw-r--r--lib_ppc/board.c25
1 files changed, 22 insertions, 3 deletions
diff --git a/lib_ppc/board.c b/lib_ppc/board.c
index 5b0dd4d..d7cee2b 100644
--- a/lib_ppc/board.c
+++ b/lib_ppc/board.c
@@ -749,7 +749,7 @@ void board_init_r (gd_t *id, ulong dest_addr)
#endif
#if defined(CFG_GT_6426x) || defined(CONFIG_PN62) || defined(CONFIG_PPCHAMELEONEVB) || \
- defined(CONFIG_MPC8540ADS) || defined(CONFIG_MPC8560ADS)
+ defined(CONFIG_MPC8540ADS) || defined(CONFIG_MPC8560ADS) || defined(CONFIG_440_GX)
/* handle the 2nd ethernet address */
s = getenv ("eth1addr");
@@ -760,11 +760,16 @@ void board_init_r (gd_t *id, ulong dest_addr)
s = (*e) ? e + 1 : e;
}
#endif
-#if defined(CFG_GT_6426x) || defined(CONFIG_MPC8540ADS) || defined(CONFIG_MPC8560ADS)
+#if defined(CFG_GT_6426x) || defined(CONFIG_MPC8540ADS) || defined(CONFIG_MPC8560ADS) || \
+ defined(CONFIG_440_GX)
/* handle the 3rd ethernet address */
s = getenv ("eth2addr");
-
+#if defined(CONFIG_XPEDITE1K)
+ if (s == NULL)
+ board_get_enetaddr(bd->bi_enet2addr);
+ else
+#endif
for (i = 0; i < 6; ++i) {
bd->bi_enet2addr[i] = s ? simple_strtoul (s, &e, 16) : 0;
if (s)
@@ -772,6 +777,20 @@ void board_init_r (gd_t *id, ulong dest_addr)
}
#endif
+#if defined(CONFIG_440_GX)
+ /* handle 4th ethernet address */
+ s = getenv("eth3addr");
+#if defined(CONFIG_XPEDITE1K)
+ if (s == NULL)
+ board_get_enetaddr(bd->bi_enet3addr);
+ else
+#endif
+ for (i = 0; i < 6; ++i) {
+ bd->bi_enet3addr[i] = s ? simple_strtoul (s, &e, 16) : 0;
+ if (s)
+ s = (*e) ? e + 1 : e;
+ }
+#endif
#if defined(CONFIG_TQM8xxL) || defined(CONFIG_TQM8260) || \
defined(CONFIG_CCM)