diff options
author | richardretanubun <richardretanubun@ruggedcom.com> | 2008-09-29 18:28:23 -0400 |
---|---|---|
committer | Wolfgang Denk <wd@denx.de> | 2008-10-18 21:54:00 +0200 |
commit | c68a05feeb88de9fcf158e67ff6423c4cc988f88 (patch) | |
tree | f970fa26b563081ab5a61196d696c6d2bd069018 /lib_ppc/board.c | |
parent | 41410eee472b0f42e03a77f961bbc55ef58f3c01 (diff) |
Adds two more ethernet interface to 83xx
Added as a convenience for other platforms that uses MPC8360 (has 8 UCC).
Six eth interface is chosen because the platform I am using combines
UCC1&2 and UCC3&4 as 1000 Eth and the other four UCCs as 10/100 Eth.
Signed-off-by: Richard Retanubun <RichardRetanubun@RugggedCom.com>
Signed-off-by: Ben Warren <biggerbadderben@gmail.com>
Diffstat (limited to 'lib_ppc/board.c')
-rw-r--r-- | lib_ppc/board.c | 30 |
1 files changed, 30 insertions, 0 deletions
diff --git a/lib_ppc/board.c b/lib_ppc/board.c index 865e74f08a6..3fdd94b7395 100644 --- a/lib_ppc/board.c +++ b/lib_ppc/board.c @@ -954,6 +954,36 @@ void board_init_r (gd_t *id, ulong dest_addr) } #endif +#ifdef CONFIG_HAS_ETH4 + /* handle 5th ethernet address */ + s = getenv("eth4addr"); +#if defined(CONFIG_XPEDITE1K) || defined(CONFIG_METROBOX) || defined(CONFIG_KAREF) + if (s == NULL) + board_get_enetaddr(bd->bi_enet4addr); + else +#endif + for (i = 0; i < 6; ++i) { + bd->bi_enet4addr[i] = s ? simple_strtoul (s, &e, 16) : 0; + if (s) + s = (*e) ? e + 1 : e; + } +#endif + +#ifdef CONFIG_HAS_ETH5 + /* handle 6th ethernet address */ + s = getenv("eth5addr"); +#if defined(CONFIG_XPEDITE1K) || defined(CONFIG_METROBOX) || defined(CONFIG_KAREF) + if (s == NULL) + board_get_enetaddr(bd->bi_enet5addr); + else +#endif + for (i = 0; i < 6; ++i) { + bd->bi_enet5addr[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_TQM8272) || \ defined(CONFIG_CCM) || defined(CONFIG_KUP4K) || \ |