]> git.kernelconcepts.de Git - karo-tx-uboot.git/blobdiff - net/eth.c
rename CFG_ENV_IS_IN_EEPROM in CONFIG_ENV_IS_IN_EEPROM
[karo-tx-uboot.git] / net / eth.c
index 99897ca476a01b0608a585921ddf14f4fafb7a6c..432dd60bdc8f56c7db9d77853f6a34f61b987749 100644 (file)
--- a/net/eth.c
+++ b/net/eth.c
 
 #if defined(CONFIG_CMD_NET) && defined(CONFIG_NET_MULTI)
 
-#ifdef CFG_GT_6426x
-extern int gt6426x_eth_initialize(bd_t *bis);
-#endif
+/*
+ * CPU and board-specific Ethernet initializations.  Aliased function
+ * signals caller to move on
+ */
+static int __def_eth_init(bd_t *bis)
+{
+       return -1;
+}
+int cpu_eth_init(bd_t *bis) __attribute((weak, alias("__def_eth_init")));
+int board_eth_init(bd_t *bis) __attribute((weak, alias("__def_eth_init")));
 
 extern int au1x00_enet_initialize(bd_t*);
-extern int dc21x4x_initialize(bd_t*);
-extern int e1000_initialize(bd_t*);
-extern int eepro100_initialize(bd_t*);
-extern int eth_3com_initialize(bd_t*);
 extern int fec_initialize(bd_t*);
-extern int inca_switch_initialize(bd_t*);
-extern int mpc5xxx_fec_initialize(bd_t*);
-extern int mpc512x_fec_initialize(bd_t*);
 extern int mpc8220_fec_initialize(bd_t*);
 extern int mv6436x_eth_initialize(bd_t *);
 extern int mv6446x_eth_initialize(bd_t *);
-extern int natsemi_initialize(bd_t*);
-extern int ns8382x_initialize(bd_t*);
-extern int pcnet_initialize(bd_t*);
-extern int plb2800_eth_initialize(bd_t*);
 extern int ppc_4xx_eth_initialize(bd_t *);
-extern int rtl8139_initialize(bd_t*);
-extern int rtl8169_initialize(bd_t*);
 extern int scc_initialize(bd_t*);
-extern int skge_initialize(bd_t*);
-extern int tsi108_eth_initialize(bd_t*);
-extern int uli526x_initialize(bd_t *);
-extern int tsec_initialize(bd_t*, int, char *);
 extern int npe_initialize(bd_t *);
 extern int uec_initialize(int);
-extern int bfin_EMAC_initialize(bd_t *);
-extern int atstk1000_eth_initialize(bd_t *);
-extern int atngw100_eth_initialize(bd_t *);
-extern int mcffec_initialize(bd_t*);
-extern int mcdmafec_initialize(bd_t*);
-extern int at91sam9_eth_initialize(bd_t *);
 
 #ifdef CONFIG_API
 extern void (*push_packet)(volatile void *, int);
@@ -164,6 +148,10 @@ int eth_initialize(bd_t *bis)
 #if defined(CONFIG_MII) || defined(CONFIG_CMD_MII)
        miiphy_init();
 #endif
+       /* Try board-specific initialization first.  If it fails or isn't
+        * present, try the cpu-specific initialization */
+       if (board_eth_init(bis) < 0)
+               cpu_eth_init(bis);
 
 #if defined(CONFIG_DB64360) || defined(CONFIG_CPCI750)
        mv6436x_eth_initialize(bis);
@@ -174,43 +162,12 @@ int eth_initialize(bd_t *bis)
 #if defined(CONFIG_4xx) && !defined(CONFIG_IOP480) && !defined(CONFIG_AP1000)
        ppc_4xx_eth_initialize(bis);
 #endif
-#ifdef CONFIG_INCA_IP_SWITCH
-       inca_switch_initialize(bis);
-#endif
-#ifdef CONFIG_PLB2800_ETHER
-       plb2800_eth_initialize(bis);
-#endif
 #ifdef SCC_ENET
        scc_initialize(bis);
 #endif
-#if defined(CONFIG_MPC5xxx_FEC)
-       mpc5xxx_fec_initialize(bis);
-#endif
-#if defined(CONFIG_MPC512x_FEC)
-       mpc512x_fec_initialize (bis);
-#endif
 #if defined(CONFIG_MPC8220_FEC)
        mpc8220_fec_initialize(bis);
 #endif
-#if defined(CONFIG_SK98)
-       skge_initialize(bis);
-#endif
-#if defined(CONFIG_TSEC1)
-       tsec_initialize(bis, 0, CONFIG_TSEC1_NAME);
-#endif
-#if defined(CONFIG_TSEC2)
-       tsec_initialize(bis, 1, CONFIG_TSEC2_NAME);
-#endif
-#if defined(CONFIG_MPC85XX_FEC)
-       tsec_initialize(bis, 2, CONFIG_MPC85XX_FEC_NAME);
-#else
-#    if defined(CONFIG_TSEC3)
-       tsec_initialize(bis, 2, CONFIG_TSEC3_NAME);
-#    endif
-#    if defined(CONFIG_TSEC4)
-       tsec_initialize(bis, 3, CONFIG_TSEC4_NAME);
-#    endif
-#endif
 #if defined(CONFIG_UEC_ETH1)
        uec_initialize(0);
 #endif
@@ -233,61 +190,6 @@ int eth_initialize(bd_t *bis)
 #if defined(CONFIG_IXP4XX_NPE)
        npe_initialize(bis);
 #endif
-#ifdef CONFIG_E1000
-       e1000_initialize(bis);
-#endif
-#ifdef CONFIG_EEPRO100
-       eepro100_initialize(bis);
-#endif
-#ifdef CONFIG_TULIP
-       dc21x4x_initialize(bis);
-#endif
-#ifdef CONFIG_3COM
-       eth_3com_initialize(bis);
-#endif
-#ifdef CONFIG_PCNET
-       pcnet_initialize(bis);
-#endif
-#ifdef CFG_GT_6426x
-       gt6426x_eth_initialize(bis);
-#endif
-#ifdef CONFIG_NATSEMI
-       natsemi_initialize(bis);
-#endif
-#ifdef CONFIG_NS8382X
-       ns8382x_initialize(bis);
-#endif
-#if defined(CONFIG_TSI108_ETH)
-       tsi108_eth_initialize(bis);
-#endif
-#if defined(CONFIG_ULI526X)
-       uli526x_initialize(bis);
-#endif
-#if defined(CONFIG_RTL8139)
-       rtl8139_initialize(bis);
-#endif
-#if defined(CONFIG_RTL8169)
-       rtl8169_initialize(bis);
-#endif
-#if defined(CONFIG_BF537)
-       bfin_EMAC_initialize(bis);
-#endif
-#if defined(CONFIG_ATSTK1000)
-       atstk1000_eth_initialize(bis);
-#endif
-#if defined(CONFIG_ATNGW100)
-       atngw100_eth_initialize(bis);
-#endif
-#if defined(CONFIG_MCFFEC)
-       mcffec_initialize(bis);
-#endif
-#if defined(CONFIG_FSLDMAFEC)
-       mcdmafec_initialize(bis);
-#endif
-#if defined(CONFIG_AT91CAP9) || defined(CONFIG_AT91SAM9260)
-       at91sam9_eth_initialize(bis);
-#endif
-
        if (!eth_devices) {
                puts ("No ethernet found.\n");
                show_boot_progress (-64);
@@ -605,7 +507,7 @@ extern int at91rm9200_miiphy_initialize(bd_t *bis);
 extern int emac4xx_miiphy_initialize(bd_t *bis);
 extern int mcf52x2_miiphy_initialize(bd_t *bis);
 extern int ns7520_miiphy_initialize(bd_t *bis);
-extern int dm644x_eth_miiphy_initialize(bd_t *bis);
+extern int davinci_eth_miiphy_initialize(bd_t *bis);
 
 
 int eth_initialize(bd_t *bis)
@@ -624,11 +526,11 @@ int eth_initialize(bd_t *bis)
 #if defined(CONFIG_MCF52x2)
        mcf52x2_miiphy_initialize(bis);
 #endif
-#if defined(CONFIG_NETARM)
+#if defined(CONFIG_DRIVER_NS7520_ETHERNET)
        ns7520_miiphy_initialize(bis);
 #endif
 #if defined(CONFIG_DRIVER_TI_EMAC)
-       dm644x_eth_miiphy_initialize(bis);
+       davinci_eth_miiphy_initialize(bis);
 #endif
        return 0;
 }