diff options
author | wdenk <wdenk> | 2004-02-06 23:19:44 +0000 |
---|---|---|
committer | wdenk <wdenk> | 2004-02-06 23:19:44 +0000 |
commit | ba56f625767d058b0e05a22729de13be5e0f6334 (patch) | |
tree | 196b8fdb07802d9a64ca8e0278906a1a9279c6fe /lib_ppc/board.c | |
parent | a6cccaea5a4743f4e4fb93a3ae9537e7357c783b (diff) | |
download | u-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/board.c')
-rw-r--r-- | lib_ppc/board.c | 25 |
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) |