Skip to content
Snippets Groups Projects
Commit baac607c authored by Wolfgang Denk's avatar Wolfgang Denk
Browse files

Change init sequence for multiple network interfaces: initialize

on-chip interfaces before external cards.
parent 32877d66
No related branches found
No related tags found
No related merge requests found
...@@ -2,6 +2,9 @@ ...@@ -2,6 +2,9 @@
Changes since U-Boot 1.1.1: Changes since U-Boot 1.1.1:
====================================================================== ======================================================================
* Change init sequence for multiple network interfaces: initialize
on-chip interfaces before external cards.
* Fix memory leak in the NAND-specific JFFS2 code * Fix memory leak in the NAND-specific JFFS2 code
* Fix SL811 USB controller when attached to a USB hub * Fix SL811 USB controller when attached to a USB hub
......
...@@ -122,7 +122,8 @@ int eth_initialize(bd_t *bis) ...@@ -122,7 +122,8 @@ int eth_initialize(bd_t *bis)
#ifdef CONFIG_DB64460 #ifdef CONFIG_DB64460
mv6446x_eth_initialize(bis); mv6446x_eth_initialize(bis);
#endif #endif
#if defined(CONFIG_405GP) || defined(CONFIG_405EP) || ( defined(CONFIG_440) && !defined(CONFIG_NET_MULTI) ) #if defined(CONFIG_405GP) || defined(CONFIG_405EP) || \
( defined(CONFIG_440) && !defined(CONFIG_NET_MULTI) )
ppc_4xx_eth_initialize(bis); ppc_4xx_eth_initialize(bis);
#endif #endif
#if defined(CONFIG_440) && defined(CONFIG_NET_MULTI) #if defined(CONFIG_440) && defined(CONFIG_NET_MULTI)
...@@ -134,6 +135,24 @@ int eth_initialize(bd_t *bis) ...@@ -134,6 +135,24 @@ int eth_initialize(bd_t *bis)
#ifdef CONFIG_PLB2800_ETHER #ifdef CONFIG_PLB2800_ETHER
plb2800_eth_initialize(bis); plb2800_eth_initialize(bis);
#endif #endif
#ifdef SCC_ENET
scc_initialize(bis);
#endif
#if defined(FEC_ENET) || defined(CONFIG_ETHER_ON_FCC)
fec_initialize(bis);
#endif
#if defined(CONFIG_MPC5xxx_FEC)
mpc5xxx_fec_initialize(bis);
#endif
#if defined(CONFIG_SK98)
skge_initialize(bis);
#endif
#ifdef CONFIG_TSEC_ENET
tsec_initialize(bis);
#endif
#if defined(CONFIG_AU1X00)
au1x00_enet_initialize(bis);
#endif
#ifdef CONFIG_E1000 #ifdef CONFIG_E1000
e1000_initialize(bis); e1000_initialize(bis);
#endif #endif
...@@ -158,24 +177,6 @@ int eth_initialize(bd_t *bis) ...@@ -158,24 +177,6 @@ int eth_initialize(bd_t *bis)
#ifdef CONFIG_NS8382X #ifdef CONFIG_NS8382X
ns8382x_initialize(bis); ns8382x_initialize(bis);
#endif #endif
#ifdef SCC_ENET
scc_initialize(bis);
#endif
#if defined(FEC_ENET) || defined(CONFIG_ETHER_ON_FCC)
fec_initialize(bis);
#endif
#if defined(CONFIG_MPC5xxx_FEC)
mpc5xxx_fec_initialize(bis);
#endif
#if defined(CONFIG_SK98)
skge_initialize(bis);
#endif
#ifdef CONFIG_TSEC_ENET
tsec_initialize(bis);
#endif
#if defined(CONFIG_AU1X00)
au1x00_enet_initialize(bis);
#endif
#if defined(CONFIG_RTL8139) #if defined(CONFIG_RTL8139)
rtl8139_initialize(bis); rtl8139_initialize(bis);
#endif #endif
...@@ -213,13 +214,14 @@ int eth_initialize(bd_t *bis) ...@@ -213,13 +214,14 @@ int eth_initialize(bd_t *bis)
if (memcmp(dev->enetaddr, "\0\0\0\0\0\0", 6) && if (memcmp(dev->enetaddr, "\0\0\0\0\0\0", 6) &&
memcmp(dev->enetaddr, env_enetaddr, 6)) memcmp(dev->enetaddr, env_enetaddr, 6))
{ {
printf("\nWarning: %s MAC addresses don't match:\n", dev->name); printf ("\nWarning: %s MAC addresses don't match:\n",
printf("Address in SROM is " dev->name);
printf ("Address in SROM is "
"%02X:%02X:%02X:%02X:%02X:%02X\n", "%02X:%02X:%02X:%02X:%02X:%02X\n",
dev->enetaddr[0], dev->enetaddr[1], dev->enetaddr[0], dev->enetaddr[1],
dev->enetaddr[2], dev->enetaddr[3], dev->enetaddr[2], dev->enetaddr[3],
dev->enetaddr[4], dev->enetaddr[5]); dev->enetaddr[4], dev->enetaddr[5]);
printf("Address in environment is " printf ("Address in environment is "
"%02X:%02X:%02X:%02X:%02X:%02X\n", "%02X:%02X:%02X:%02X:%02X:%02X\n",
env_enetaddr[0], env_enetaddr[1], env_enetaddr[0], env_enetaddr[1],
env_enetaddr[2], env_enetaddr[3], env_enetaddr[2], env_enetaddr[3],
...@@ -341,8 +343,7 @@ void eth_try_another(int first_restart) ...@@ -341,8 +343,7 @@ void eth_try_another(int first_restart)
if (!eth_current) if (!eth_current)
return; return;
if (first_restart) if (first_restart) {
{
first_failed = eth_current; first_failed = eth_current;
} }
...@@ -357,8 +358,7 @@ void eth_try_another(int first_restart) ...@@ -357,8 +358,7 @@ void eth_try_another(int first_restart)
} }
#endif #endif
if (first_failed == eth_current) if (first_failed == eth_current) {
{
NetRestartWrap = 1; NetRestartWrap = 1;
} }
} }
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment