summaryrefslogtreecommitdiff
path: root/board
diff options
context:
space:
mode:
authorWolfgang Denk <wd@denx.de>2008-09-03 22:43:57 +0200
committerWolfgang Denk <wd@denx.de>2008-09-03 22:43:57 +0200
commit16116ddd0d0158f4e91c91dc979b845b6e98a99d (patch)
treee2062a888c76462b6335da29092c5fe4134c0859 /board
parent628ffd73bcff0c9f3bc5a8eeb2c7455fe9d28a51 (diff)
parentbe1b0d2777e179191a57b138b660547a17e55aad (diff)
Merge branch 'master' of git://git.denx.de/u-boot-net
Diffstat (limited to 'board')
-rw-r--r--board/MAI/AmigaOneG3SE/AmigaOneG3SE.c9
-rw-r--r--board/MAI/AmigaOneG3SE/enet.c1
-rw-r--r--board/Marvell/db64360/db64360.c6
-rw-r--r--board/Marvell/db64460/db64460.c6
-rw-r--r--board/a3000/a3000.c7
-rw-r--r--board/amcc/katmai/katmai.c6
-rw-r--r--board/amcc/taihu/taihu.c6
-rw-r--r--board/amcc/taishan/taishan.c6
-rw-r--r--board/amcc/yucca/yucca.c6
-rw-r--r--board/amirix/ap1000/ap1000.c7
-rw-r--r--board/atmel/at91cap9adk/at91cap9adk.c11
-rw-r--r--board/atmel/at91sam9260ek/at91sam9260ek.c11
-rw-r--r--board/atmel/at91sam9263ek/at91sam9263ek.c11
-rw-r--r--board/atmel/atngw100/atngw100.c3
-rw-r--r--board/atmel/atstk1000/atstk1000.c3
-rw-r--r--board/bc3450/bc3450.c7
-rw-r--r--board/bf537-stamp/bf537-stamp.c3
-rw-r--r--board/cpc45/cpc45.c6
-rw-r--r--board/cpu87/cpu87.c6
-rw-r--r--board/cu824/cu824.c6
-rw-r--r--board/eXalion/eXalion.c6
-rw-r--r--board/earthlcd/favr-32-ezkit/favr-32-ezkit.c3
-rw-r--r--board/eltec/bab7xx/bab7xx.c6
-rw-r--r--board/eltec/elppc/elppc.c6
-rw-r--r--board/esd/adciop/adciop.c6
-rw-r--r--board/esd/cpci5200/cpci5200.c6
-rw-r--r--board/esd/dasa_sim/dasa_sim.c6
-rw-r--r--board/esd/mecp5200/mecp5200.c6
-rw-r--r--board/esd/pf5200/pf5200.c6
-rw-r--r--board/etin/debris/debris.c6
-rw-r--r--board/etin/kvme080/kvme080.c6
-rw-r--r--board/evb64260/eth.c1
-rw-r--r--board/evb64260/evb64260.c8
-rw-r--r--board/freescale/common/Makefile1
-rw-r--r--board/freescale/common/pixis.c55
-rw-r--r--board/freescale/common/sgmii_riser.c26
-rw-r--r--board/freescale/common/sgmii_riser.h15
-rw-r--r--board/freescale/mpc7448hpc2/mpc7448hpc2.c10
-rw-r--r--board/freescale/mpc8315erdb/mpc8315erdb.c7
-rw-r--r--board/freescale/mpc8544ds/mpc8544ds.c39
-rw-r--r--board/freescale/mpc8610hpcd/mpc8610hpcd.c8
-rw-r--r--board/freescale/mpc8641hpcn/mpc8641hpcn.c8
-rw-r--r--board/hidden_dragon/hidden_dragon.c6
-rw-r--r--board/icecube/icecube.c7
-rw-r--r--board/incaip/incaip.c8
-rw-r--r--board/integratorap/integratorap.c7
-rw-r--r--board/ixdp425/ixdp425.c6
-rw-r--r--board/linkstation/linkstation.c6
-rw-r--r--board/matrix_vision/mvbc_p/mvbc_p.c7
-rw-r--r--board/mimc/mimc200/mimc200.c3
-rw-r--r--board/miromico/hammerhead/hammerhead.c3
-rw-r--r--board/mousse/mousse.c6
-rw-r--r--board/mpc8540eval/mpc8540eval.c12
-rw-r--r--board/musenki/musenki.c6
-rw-r--r--board/mvblue/mvblue.c6
-rw-r--r--board/o2dnt/o2dnt.c7
-rw-r--r--board/oxc/oxc.c6
-rw-r--r--board/pcippc2/pcippc2.c6
-rw-r--r--board/pm520/pm520.c7
-rw-r--r--board/pm826/pm826.c6
-rw-r--r--board/pm828/pm828.c6
-rw-r--r--board/pm854/pm854.c7
-rw-r--r--board/pm856/pm856.c7
-rw-r--r--board/pn62/pn62.c6
-rw-r--r--board/ppmc7xx/ppmc7xx.c6
-rw-r--r--board/purple/purple.c9
-rw-r--r--board/r2dplus/r2dplus.c5
-rw-r--r--board/r7780mp/r7780mp.c6
-rw-r--r--board/sandpoint/sandpoint.c6
-rw-r--r--board/sbc8240/sbc8240.c6
-rw-r--r--board/sc3/sc3.c6
-rw-r--r--board/sc520_cdp/sc520_cdp.c6
-rw-r--r--board/sc520_spunk/sc520_spunk.c6
-rw-r--r--board/sl8245/sl8245.c3
-rw-r--r--board/sorcery/sorcery.c6
-rw-r--r--board/stxssa/stxssa.c8
-rw-r--r--board/tb0229/tb0229.c5
-rw-r--r--board/total5200/total5200.c7
-rw-r--r--board/tqc/tqm5200/tqm5200.c7
-rw-r--r--board/tqc/tqm8272/tqm8272.c6
-rw-r--r--board/tqc/tqm85xx/tqm85xx.c7
-rw-r--r--board/utx8245/utx8245.c6
82 files changed, 599 insertions, 21 deletions
diff --git a/board/MAI/AmigaOneG3SE/AmigaOneG3SE.c b/board/MAI/AmigaOneG3SE/AmigaOneG3SE.c
index e118563fc4..4d44001ffa 100644
--- a/board/MAI/AmigaOneG3SE/AmigaOneG3SE.c
+++ b/board/MAI/AmigaOneG3SE/AmigaOneG3SE.c
@@ -26,6 +26,7 @@
#include <common.h>
#include <command.h>
#include <pci.h>
+#include <netdev.h>
#include "articiaS.h"
#include "memio.h"
#include "via686.h"
@@ -111,3 +112,11 @@ void pci_init_board (void)
articiaS_pci_init ();
#endif
}
+
+int board_eth_init(bd_t *bis)
+{
+#if defined(CONFIG_3COM)
+ eth_3com_initialize(bis);
+#endif
+ return 0;
+}
diff --git a/board/MAI/AmigaOneG3SE/enet.c b/board/MAI/AmigaOneG3SE/enet.c
index 5a90cc57dd..0b4dfe6aa3 100644
--- a/board/MAI/AmigaOneG3SE/enet.c
+++ b/board/MAI/AmigaOneG3SE/enet.c
@@ -28,6 +28,7 @@
#include <common.h>
#include <malloc.h>
#include <net.h>
+#include <netdev.h>
#include <asm/io.h>
#include <pci.h>
diff --git a/board/Marvell/db64360/db64360.c b/board/Marvell/db64360/db64360.c
index 2a810a618b..c03d03d387 100644
--- a/board/Marvell/db64360/db64360.c
+++ b/board/Marvell/db64360/db64360.c
@@ -33,6 +33,7 @@
#include "../include/pci.h"
#include "../include/mv_gen_reg.h"
#include <net.h>
+#include <netdev.h>
#include "eth.h"
#include "mpsc.h"
@@ -929,3 +930,8 @@ void board_prebootm_init ()
icache_disable ();
dcache_disable ();
}
+
+int board_eth_init(bd_t *bis)
+{
+ return pci_eth_init(bis);
+}
diff --git a/board/Marvell/db64460/db64460.c b/board/Marvell/db64460/db64460.c
index 1ae898d1ee..8a05cd2098 100644
--- a/board/Marvell/db64460/db64460.c
+++ b/board/Marvell/db64460/db64460.c
@@ -33,6 +33,7 @@
#include "../include/pci.h"
#include "../include/mv_gen_reg.h"
#include <net.h>
+#include <netdev.h>
#include "eth.h"
#include "mpsc.h"
@@ -929,3 +930,8 @@ void board_prebootm_init ()
icache_disable ();
dcache_disable ();
}
+
+int board_eth_init(bd_t *bis)
+{
+ return pci_eth_init(bis);
+}
diff --git a/board/a3000/a3000.c b/board/a3000/a3000.c
index c1eceaa2f4..040ba89765 100644
--- a/board/a3000/a3000.c
+++ b/board/a3000/a3000.c
@@ -27,6 +27,7 @@
#include <common.h>
#include <mpc824x.h>
#include <pci.h>
+#include <netdev.h>
int checkboard (void)
{
@@ -109,3 +110,9 @@ void pci_init_board(void)
{
pci_mpc824x_init(&hose);
}
+
+int board_eth_init(bd_t *bis)
+{
+ return pci_eth_init(bis);
+}
+
diff --git a/board/amcc/katmai/katmai.c b/board/amcc/katmai/katmai.c
index 08d89d7791..172b5811e3 100644
--- a/board/amcc/katmai/katmai.c
+++ b/board/amcc/katmai/katmai.c
@@ -27,6 +27,7 @@
#include <i2c.h>
#include <libfdt.h>
#include <fdt_support.h>
+#include <netdev.h>
#include <asm/processor.h>
#include <asm/io.h>
#include <asm/gpio.h>
@@ -447,3 +448,8 @@ int post_hotkeys_pressed(void)
return (ctrlc());
}
#endif
+
+int board_eth_init(bd_t *bis)
+{
+ return pci_eth_init(bis);
+}
diff --git a/board/amcc/taihu/taihu.c b/board/amcc/taihu/taihu.c
index 254e3eb837..266f2601c5 100644
--- a/board/amcc/taihu/taihu.c
+++ b/board/amcc/taihu/taihu.c
@@ -28,6 +28,7 @@
#include <asm/processor.h>
#include <asm/io.h>
#include <spi.h>
+#include <netdev.h>
#include <asm/gpio.h>
extern int lcd_init(void);
@@ -200,3 +201,8 @@ int pci_pre_init(struct pci_controller *hose)
return 1;
}
#endif /* CONFIG_PCI */
+
+int board_eth_init(bd_t *bis)
+{
+ return pci_eth_init(bis);
+}
diff --git a/board/amcc/taishan/taishan.c b/board/amcc/taishan/taishan.c
index fdd82e7cca..cd432cb98b 100644
--- a/board/amcc/taishan/taishan.c
+++ b/board/amcc/taishan/taishan.c
@@ -27,6 +27,7 @@
#include <asm/processor.h>
#include <spd_sdram.h>
#include <ppc4xx_enet.h>
+#include <netdev.h>
#ifdef CFG_INIT_SHOW_RESET_REG
void show_reset_reg(void);
@@ -311,3 +312,8 @@ int post_hotkeys_pressed(void)
return (ctrlc());
}
#endif
+
+int board_eth_init(bd_t *bis)
+{
+ return pci_eth_init(bis);
+}
diff --git a/board/amcc/yucca/yucca.c b/board/amcc/yucca/yucca.c
index 84c3938d7d..e0c12687d3 100644
--- a/board/amcc/yucca/yucca.c
+++ b/board/amcc/yucca/yucca.c
@@ -28,6 +28,7 @@
#include <common.h>
#include <ppc4xx.h>
#include <i2c.h>
+#include <netdev.h>
#include <asm/processor.h>
#include <asm/io.h>
#include <asm/4xx_pcie.h>
@@ -952,3 +953,8 @@ int onboard_pci_arbiter_selected(int core_pci)
#endif
return (BOARD_OPTION_NOT_SELECTED);
}
+
+int board_eth_init(bd_t *bis)
+{
+ return pci_eth_init(bis);
+}
diff --git a/board/amirix/ap1000/ap1000.c b/board/amirix/ap1000/ap1000.c
index 55277e72d5..8f30ed966b 100644
--- a/board/amirix/ap1000/ap1000.c
+++ b/board/amirix/ap1000/ap1000.c
@@ -23,6 +23,7 @@
#include <common.h>
#include <command.h>
+#include <netdev.h>
#include <asm/processor.h>
#include "powerspan.h"
@@ -697,3 +698,9 @@ U_BOOT_CMD (swrecon, 1, 0, do_swreconfig,
"swrecon - trigger a board reconfigure to the software selected configuration\n",
"\n"
" - trigger a board reconfigure to the software selected configuration\n");
+
+int board_eth_init(bd_t *bis)
+{
+ return pci_eth_init(bis);
+}
+
diff --git a/board/atmel/at91cap9adk/at91cap9adk.c b/board/atmel/at91cap9adk/at91cap9adk.c
index c5082a0925..787d64d80b 100644
--- a/board/atmel/at91cap9adk/at91cap9adk.c
+++ b/board/atmel/at91cap9adk/at91cap9adk.c
@@ -30,11 +30,13 @@
#include <asm/arch/at91_rstc.h>
#include <asm/arch/gpio.h>
#include <asm/arch/io.h>
+#include <asm/arch/hardware.h>
#include <lcd.h>
#include <atmel_lcdc.h>
#if defined(CONFIG_RESET_PHY_R) && defined(CONFIG_MACB)
#include <net.h>
#endif
+#include <netdev.h>
#define MP_BLOCK_3_BASE 0xFDF00000
@@ -376,3 +378,12 @@ void reset_phy(void)
#endif
}
#endif
+
+int board_eth_init(bd_t *bis)
+{
+ int rc = 0;
+#ifdef CONFIG_MACB
+ rc = macb_eth_initialize(0, (void *)AT91_BASE_EMAC, 0x00);
+#endif
+ return rc;
+}
diff --git a/board/atmel/at91sam9260ek/at91sam9260ek.c b/board/atmel/at91sam9260ek/at91sam9260ek.c
index 06d8512cc9..913e3fb34c 100644
--- a/board/atmel/at91sam9260ek/at91sam9260ek.c
+++ b/board/atmel/at91sam9260ek/at91sam9260ek.c
@@ -30,9 +30,11 @@
#include <asm/arch/at91_rstc.h>
#include <asm/arch/gpio.h>
#include <asm/arch/io.h>
+#include <asm/arch/hardware.h>
#if defined(CONFIG_RESET_PHY_R) && defined(CONFIG_MACB)
#include <net.h>
#endif
+#include <netdev.h>
DECLARE_GLOBAL_DATA_PTR;
@@ -248,3 +250,12 @@ void reset_phy(void)
#endif
}
#endif
+
+int board_eth_init(bd_t *bis)
+{
+ int rc = 0;
+#ifdef CONFIG_MACB
+ rc = macb_eth_initialize(0, (void *)AT91_BASE_EMAC, 0x00);
+#endif
+ return rc;
+}
diff --git a/board/atmel/at91sam9263ek/at91sam9263ek.c b/board/atmel/at91sam9263ek/at91sam9263ek.c
index 927fc912c9..c705074557 100644
--- a/board/atmel/at91sam9263ek/at91sam9263ek.c
+++ b/board/atmel/at91sam9263ek/at91sam9263ek.c
@@ -31,11 +31,13 @@
#include <asm/arch/at91_rstc.h>
#include <asm/arch/gpio.h>
#include <asm/arch/io.h>
+#include <asm/arch/hardware.h>
#include <lcd.h>
#include <atmel_lcdc.h>
#if defined(CONFIG_RESET_PHY_R) && defined(CONFIG_MACB)
#include <net.h>
#endif
+#include <netdev.h>
DECLARE_GLOBAL_DATA_PTR;
@@ -308,3 +310,12 @@ void reset_phy(void)
#endif
}
#endif
+
+int board_eth_init(bd_t *bis)
+{
+ int rc = 0;
+#ifdef CONFIG_MACB
+ rc = macb_eth_initialize(0, (void *)AT91_BASE_EMAC, 0x00);
+#endif
+ return rc;
+}
diff --git a/board/atmel/atngw100/atngw100.c b/board/atmel/atngw100/atngw100.c
index 7f3e48541d..fa1a2aa7c1 100644
--- a/board/atmel/atngw100/atngw100.c
+++ b/board/atmel/atngw100/atngw100.c
@@ -26,6 +26,7 @@
#include <asm/arch/clk.h>
#include <asm/arch/gpio.h>
#include <asm/arch/hmatrix.h>
+#include <netdev.h>
DECLARE_GLOBAL_DATA_PTR;
@@ -93,8 +94,6 @@ void board_init_info(void)
gd->bd->bi_phy_id[1] = 0x03;
}
-extern int macb_eth_initialize(int id, void *regs, unsigned int phy_addr);
-
#ifdef CONFIG_CMD_NET
int board_eth_init(bd_t *bi)
{
diff --git a/board/atmel/atstk1000/atstk1000.c b/board/atmel/atstk1000/atstk1000.c
index 915b1c3539..94523b5a3b 100644
--- a/board/atmel/atstk1000/atstk1000.c
+++ b/board/atmel/atstk1000/atstk1000.c
@@ -26,6 +26,7 @@
#include <asm/arch/clk.h>
#include <asm/arch/gpio.h>
#include <asm/arch/hmatrix.h>
+#include <netdev.h>
DECLARE_GLOBAL_DATA_PTR;
@@ -116,8 +117,6 @@ void board_init_info(void)
gd->bd->bi_phy_id[1] = 0x11;
}
-extern int macb_eth_initialize(int id, void *regs, unsigned int phy_addr);
-
#ifdef CONFIG_CMD_NET
int board_eth_init(bd_t *bi)
{
diff --git a/board/bc3450/bc3450.c b/board/bc3450/bc3450.c
index a728dc64d7..7ddf74c1c8 100644
--- a/board/bc3450/bc3450.c
+++ b/board/bc3450/bc3450.c
@@ -33,6 +33,7 @@
#include <common.h>
#include <mpc5xxx.h>
#include <pci.h>
+#include <netdev.h>
#ifdef CONFIG_VIDEO_SM501
#include <sm501.h>
@@ -669,3 +670,9 @@ int board_get_height (void)
}
#endif /* CONFIG_VIDEO_SM501 */
+
+int board_eth_init(bd_t *bis)
+{
+ cpu_eth_init(bis); /* Built in FEC comes first */
+ return pci_eth_init(bis);
+}
diff --git a/board/bf537-stamp/bf537-stamp.c b/board/bf537-stamp/bf537-stamp.c
index a9b7a68c54..4567213111 100644
--- a/board/bf537-stamp/bf537-stamp.c
+++ b/board/bf537-stamp/bf537-stamp.c
@@ -32,6 +32,7 @@
#include <asm/io.h>
#include <net.h>
#include <asm/mach-common/bits/bootrom.h>
+#include <netdev.h>
/**
* is_valid_ether_addr - Determine if the given Ethernet address is valid
@@ -156,8 +157,6 @@ int misc_init_r(void)
#if defined(CONFIG_BFIN_MAC)
-extern int bfin_EMAC_initialize(bd_t *bis);
-
int board_eth_init(bd_t *bis)
{
return bfin_EMAC_initialize(bis);
diff --git a/board/cpc45/cpc45.c b/board/cpc45/cpc45.c
index f4e867ce7d..16ead75def 100644
--- a/board/cpc45/cpc45.c
+++ b/board/cpc45/cpc45.c
@@ -27,6 +27,7 @@
#include <asm/io.h>
#include <pci.h>
#include <i2c.h>
+#include <netdev.h>
int sysControlDisplay(int digit, uchar ascii_code);
extern void Plx9030Init(void);
@@ -273,3 +274,8 @@ void ide_led (uchar led, uchar status)
writeb(val, BCSR_BASE + 0x04);
}
# endif
+
+int board_eth_init(bd_t *bis)
+{
+ return pci_eth_init(bis);
+}
diff --git a/board/cpu87/cpu87.c b/board/cpu87/cpu87.c
index f5a5de5d82..454987cff2 100644
--- a/board/cpu87/cpu87.c
+++ b/board/cpu87/cpu87.c
@@ -26,6 +26,7 @@
#include <mpc8260.h>
#include "cpu87.h"
#include <pci.h>
+#include <netdev.h>
/*
* I/O Port configuration table
@@ -339,3 +340,8 @@ void pci_init_board(void)
pci_mpc8250_init(&hose);
}
#endif
+
+int board_eth_init(bd_t *bis)
+{
+ return pci_eth_init(bis);
+}
diff --git a/board/cu824/cu824.c b/board/cu824/cu824.c
index ecf6328945..0fd4223e90 100644
--- a/board/cu824/cu824.c
+++ b/board/cu824/cu824.c
@@ -28,6 +28,7 @@
#include <mpc824x.h>
#include <asm/processor.h>
#include <pci.h>
+#include <netdev.h>
DECLARE_GLOBAL_DATA_PTR;
@@ -91,3 +92,8 @@ void pci_init_board(void)
{
pci_mpc824x_init(&hose);
}
+
+int board_eth_init(bd_t *bis)
+{
+ return pci_eth_init(bis);
+}
diff --git a/board/eXalion/eXalion.c b/board/eXalion/eXalion.c
index 385b498d09..c5dff24f05 100644
--- a/board/eXalion/eXalion.c
+++ b/board/eXalion/eXalion.c
@@ -30,6 +30,7 @@
#include <asm/io.h>
#include <pci.h>
#include <ide.h>
+#include <netdev.h>
#include "piix_pci.h"
#include "eXalion.h"
@@ -290,3 +291,8 @@ void pci_init_board (void)
{
pci_mpc824x_init (&hose);
}
+
+int board_eth_init(bd_t *bis)
+{
+ return pci_eth_init(bis);
+}
diff --git a/board/earthlcd/favr-32-ezkit/favr-32-ezkit.c b/board/earthlcd/favr-32-ezkit/favr-32-ezkit.c
index da69e754f9..da055899f5 100644
--- a/board/earthlcd/favr-32-ezkit/favr-32-ezkit.c
+++ b/board/earthlcd/favr-32-ezkit/favr-32-ezkit.c
@@ -18,6 +18,7 @@
* Place, Suite 330, Boston, MA 02111-1307 USA
*/
#include <common.h>
+#include <netdev.h>
#include <asm/io.h>
#include <asm/sdram.h>
@@ -87,8 +88,6 @@ void board_init_info(void)
}
#if defined(CONFIG_MACB) && defined(CONFIG_CMD_NET)
-extern int macb_eth_initialize(int id, void *regs, unsigned int phy_addr);
-
int board_eth_init(bd_t *bi)
{
return macb_eth_initialize(0, (void *)MACB0_BASE, bi->bi_phy_id[0]);
diff --git a/board/eltec/bab7xx/bab7xx.c b/board/eltec/bab7xx/bab7xx.c
index af52352374..8c561161c5 100644
--- a/board/eltec/bab7xx/bab7xx.c
+++ b/board/eltec/bab7xx/bab7xx.c
@@ -30,6 +30,7 @@
#include <74xx_7xx.h>
#include <ns87308.h>
#include <video_fb.h>
+#include <netdev.h>
DECLARE_GLOBAL_DATA_PTR;
@@ -244,3 +245,8 @@ void video_get_info_str (int line_number, char *info)
#endif
/*---------------------------------------------------------------------------*/
+
+int board_eth_init(bd_t *bis)
+{
+ return pci_eth_init(bis);
+}
diff --git a/board/eltec/elppc/elppc.c b/board/eltec/elppc/elppc.c
index 1b70605e28..d3ac2784ac 100644
--- a/board/eltec/elppc/elppc.c
+++ b/board/eltec/elppc/elppc.c
@@ -25,6 +25,7 @@
#include <command.h>
#include <mpc106.h>
#include <video_fb.h>
+#include <netdev.h>
DECLARE_GLOBAL_DATA_PTR;
@@ -172,3 +173,8 @@ void video_get_info_str (int line_number, char *info)
return;
}
#endif
+
+int board_eth_init(bd_t *bis)
+{
+ return pci_eth_init(bis);
+}
diff --git a/board/esd/adciop/adciop.c b/board/esd/adciop/adciop.c
index 0f655b78a5..63aaf2c7a9 100644
--- a/board/esd/adciop/adciop.c
+++ b/board/esd/adciop/adciop.c
@@ -22,6 +22,7 @@
*/
#include <common.h>
+#include <netdev.h>
#include "adciop.h"
/* ------------------------------------------------------------------------- */
@@ -95,3 +96,8 @@ int testdram (void)
}
/* ------------------------------------------------------------------------- */
+
+int board_eth_init(bd_t *bis)
+{
+ return pci_eth_init(bis);
+}
diff --git a/board/esd/cpci5200/cpci5200.c b/board/esd/cpci5200/cpci5200.c
index 20130acfe8..2a42e65de0 100644
--- a/board/esd/cpci5200/cpci5200.c
+++ b/board/esd/cpci5200/cpci5200.c
@@ -32,6 +32,7 @@
#include <mpc5xxx.h>
#include <pci.h>
#include <command.h>
+#include <netdev.h>
#include "mt46v16m16-75.h"
@@ -259,6 +260,11 @@ void init_ata_reset(void)
}
}
+int board_eth_init(bd_t *bis)
+{
+ return pci_eth_init(bis);
+}
+
int do_writepci(cmd_tbl_t * cmdtp, int flag, int argc, char *argv[])
{
unsigned int addr;
diff --git a/board/esd/dasa_sim/dasa_sim.c b/board/esd/dasa_sim/dasa_sim.c
index fb0c77e566..e061878b62 100644
--- a/board/esd/dasa_sim/dasa_sim.c
+++ b/board/esd/dasa_sim/dasa_sim.c
@@ -22,6 +22,7 @@
*/
#include <common.h>
+#include <netdev.h>
#include "dasa_sim.h"
/* ------------------------------------------------------------------------- */
@@ -222,3 +223,8 @@ int testdram (void)
}
/* ------------------------------------------------------------------------- */
+
+int board_eth_init(bd_t *bis)
+{
+ return pci_eth_init(bis);
+}
diff --git a/board/esd/mecp5200/mecp5200.c b/board/esd/mecp5200/mecp5200.c
index 6d776b7a63..ff44abdac5 100644
--- a/board/esd/mecp5200/mecp5200.c
+++ b/board/esd/mecp5200/mecp5200.c
@@ -32,6 +32,7 @@
#include <mpc5xxx.h>
#include <pci.h>
#include <command.h>
+#include <netdev.h>
#include "mt46v16m16-75.h"
@@ -259,3 +260,8 @@ void init_power_switch(void)
__asm__ volatile ("sync");
}
}
+
+int board_eth_init(bd_t *bis)
+{
+ return pci_eth_init(bis);
+}
diff --git a/board/esd/pf5200/pf5200.c b/board/esd/pf5200/pf5200.c
index 7970f8988f..c4c0221d02 100644
--- a/board/esd/pf5200/pf5200.c
+++ b/board/esd/pf5200/pf5200.c
@@ -32,6 +32,7 @@
#include <mpc5xxx.h>
#include <pci.h>
#include <command.h>
+#include <netdev.h>
#include "mt46v16m16-75.h"
@@ -264,6 +265,11 @@ void init_power_switch(void)
__asm__ volatile ("sync");
}
+int board_eth_init(bd_t *bis)
+{
+ return pci_eth_init(bis);
+}
+
void power_set_reset(int power)
{
debug("ide_set_reset(%d)\n", power);
diff --git a/board/etin/debris/debris.c b/board/etin/debris/debris.c
index 763760fd23..3fcf78ecfd 100644
--- a/board/etin/debris/debris.c
+++ b/board/etin/debris/debris.c
@@ -25,6 +25,7 @@
#include <mpc824x.h>
#include <pci.h>
#include <i2c.h>
+#include <netdev.h>
DECLARE_GLOBAL_DATA_PTR;
@@ -177,3 +178,8 @@ int misc_init_r(void)
(char*)&gd->bd->bi_enetaddr[0], 6);
return 0;
}
+
+int board_eth_init(bd_t *bis)
+{
+ return pci_eth_init(bis);
+}
diff --git a/board/etin/kvme080/kvme080.c b/board/etin/kvme080/kvme080.c
index bfd6854c5d..be6924d15a 100644
--- a/board/etin/kvme080/kvme080.c
+++ b/board/etin/kvme080/kvme080.c
@@ -25,6 +25,7 @@
#include <mpc824x.h>
#include <pci.h>
#include <i2c.h>
+#include <netdev.h>
#include <asm/processor.h>
int checkboard(void)
@@ -191,3 +192,8 @@ void nvram_write(long dest, const void *src, size_t count)
asm volatile("sync");
}
}
+
+int board_eth_init(bd_t *bis)
+{
+ return pci_eth_init(bis);
+}
diff --git a/board/evb64260/eth.c b/board/evb64260/eth.c
index fa5b6d4a92..ca8bab52d9 100644
--- a/board/evb64260/eth.c
+++ b/board/evb64260/eth.c
@@ -27,6 +27,7 @@ Skeleton NIC driver for Etherboot
#include <asm/cache.h>
#include <miiphy.h>
#include <net.h>
+#include <netdev.h>
#include "eth.h"
#include "eth_addrtbl.h"
diff --git a/board/evb64260/evb64260.c b/board/evb64260/evb64260.c
index ab599410b2..bc108d0594 100644
--- a/board/evb64260/evb64260.c
+++ b/board/evb64260/evb64260.c
@@ -31,6 +31,7 @@
#include <galileo/pci.h>
#include <galileo/gt64260R.h>
#include <net.h>
+#include <netdev.h>
#include <asm/io.h>
#include "eth.h"
@@ -248,7 +249,6 @@ int board_early_init_f (void)
sram_boot = 1;
#endif
- if (!sram_boot)
memoryMapDeviceSpace(DEVICE0, CFG_DEV0_SPACE, CFG_DEV0_SIZE);
memoryMapDeviceSpace(DEVICE1, CFG_DEV1_SPACE, CFG_DEV1_SIZE);
@@ -443,3 +443,9 @@ display_mem_map(void)
printf(" BOOT: base - 0x%08x\tsize - %dM bytes\twidth - %d bits\n",
base, size>>20, width);
}
+
+int board_eth_init(bd_t *bis)
+{
+ gt6426x_eth_initialize(bis);
+ return 0;
+}
diff --git a/board/freescale/common/Makefile b/board/freescale/common/Makefile
index 508e3b569b..8584374f38 100644
--- a/board/freescale/common/Makefile
+++ b/board/freescale/common/Makefile
@@ -36,6 +36,7 @@ COBJS-${CONFIG_FSL_DIU_FB} += fsl_diu_fb.o fsl_logo_bmp.o
COBJS-${CONFIG_FSL_PIXIS} += pixis.o
COBJS-${CONFIG_PQ_MDS_PIB} += pq-mds-pib.o
COBJS-${CONFIG_ID_EEPROM} += sys_eeprom.o
+COBJS-${CONFIG_FSL_SGMII_RISER} += sgmii_riser.o
COBJS-${CONFIG_MPC8541CDS} += cds_pci_ft.o
COBJS-${CONFIG_MPC8548CDS} += cds_pci_ft.o
diff --git a/board/freescale/common/pixis.c b/board/freescale/common/pixis.c
index 64e2e08c54..b5a0e847ad 100644
--- a/board/freescale/common/pixis.c
+++ b/board/freescale/common/pixis.c
@@ -26,6 +26,7 @@
#include <command.h>
#include <watchdog.h>
#include <asm/cache.h>
+#include <asm/io.h>
#include "pixis.h"
@@ -282,6 +283,60 @@ U_BOOT_CMD(
"diswd - Disable watchdog timer \n",
NULL);
+#ifdef CONFIG_FSL_SGMII_RISER
+int pixis_set_sgmii(cmd_tbl_t *cmdtp, int flag, int argc, char *argv[])
+{
+ int which_tsec = -1;
+ uchar mask;
+ uchar switch_mask;
+
+ if (argc > 2)
+ if (strcmp(argv[1], "all") != 0)
+ which_tsec = simple_strtoul(argv[1], NULL, 0);
+
+ switch (which_tsec) {
+ case 1:
+ mask = PIXIS_VSPEED2_TSEC1SER;
+ switch_mask = PIXIS_VCFGEN1_TSEC1SER;
+ break;
+ case 3:
+ mask = PIXIS_VSPEED2_TSEC3SER;
+ switch_mask = PIXIS_VCFGEN1_TSEC3SER;
+ break;
+ default:
+ mask = PIXIS_VSPEED2_TSEC1SER | PIXIS_VSPEED2_TSEC3SER;
+ switch_mask = PIXIS_VCFGEN1_TSEC1SER | PIXIS_VCFGEN1_TSEC3SER;
+ break;
+ }
+
+ /* Toggle whether the switches or FPGA control the settings */
+ if (!strcmp(argv[argc - 1], "switch"))
+ clrbits_8((unsigned char *)PIXIS_BASE + PIXIS_VCFGEN1,
+ switch_mask);
+ else
+ setbits_8((unsigned char *)PIXIS_BASE + PIXIS_VCFGEN1,
+ switch_mask);
+
+ /* If it's not the switches, enable or disable SGMII, as specified */
+ if (!strcmp(argv[argc - 1], "on"))
+ clrbits_8((unsigned char *)PIXIS_BASE + PIXIS_VSPEED2, mask);
+ else if (!strcmp(argv[argc - 1], "off"))
+ setbits_8((unsigned char *)PIXIS_BASE + PIXIS_VSPEED2, mask);
+
+ return 0;
+}
+
+U_BOOT_CMD(
+ pixis_set_sgmii, CFG_MAXARGS, 1, pixis_set_sgmii,
+ "pixis_set_sgmii"
+ " - Enable or disable SGMII mode for a given TSEC \n",
+ "\npixis_set_sgmii [TSEC num] <on|off|switch>\n"
+ " TSEC num: 1,2,3,4 or 'all'. 'all' is default.\n"
+ " on - enables SGMII\n"
+ " off - disables SGMII\n"
+ " switch - use switch settings\n");
+#endif
+
/*
* This function takes the non-integral cpu:mpx pll ratio
* and converts it to an integer that can be used to assign
diff --git a/board/freescale/common/sgmii_riser.c b/board/freescale/common/sgmii_riser.c
new file mode 100644
index 0000000000..5ccd6bcad5
--- /dev/null
+++ b/board/freescale/common/sgmii_riser.c
@@ -0,0 +1,26 @@
+/*
+ * Freescale SGMII Riser Card
+ *
+ * This driver supports the SGMII Riser card found on the
+ * "DS" style of development board from Freescale.
+ *
+ * This software may be used and distributed according to the
+ * terms of the GNU Public License, Version 2, incorporated
+ * herein by reference.
+ *
+ * Copyright 2008 Freescale Semiconductor, Inc.
+ *
+ */
+
+#include <config.h>
+#include <common.h>
+#include <tsec.h>
+
+void fsl_sgmii_riser_init(struct tsec_info_struct *tsec_info, int num)
+{
+ int i;
+
+ for (i = 0; i < num; i++)
+ if (tsec_info[i].flags & TSEC_SGMII)
+ tsec_info[i].phyaddr += SGMII_RISER_PHY_OFFSET;
+}
diff --git a/board/freescale/common/sgmii_riser.h b/board/freescale/common/sgmii_riser.h
new file mode 100644
index 0000000000..8d56a1f59d
--- /dev/null
+++ b/board/freescale/common/sgmii_riser.h
@@ -0,0 +1,15 @@
+/*
+ * Freescale SGMII Riser Card
+ *
+ * This driver supports the SGMII Riser card found on the
+ * "DS" style of development board from Freescale.
+ *
+ * This software may be used and distributed according to the
+ * terms of the GNU Public License, Version 2, incorporated
+ * herein by reference.
+ *
+ * Copyright 2008 Freescale Semiconductor, Inc.
+ *
+ */
+
+void fsl_sgmii_riser_init(struct tsec_info_struct *tsec_info, int num);
diff --git a/board/freescale/mpc7448hpc2/mpc7448hpc2.c b/board/freescale/mpc7448hpc2/mpc7448hpc2.c
index 6f74c314eb..cfdbed5393 100644
--- a/board/freescale/mpc7448hpc2/mpc7448hpc2.c
+++ b/board/freescale/mpc7448hpc2/mpc7448hpc2.c
@@ -32,6 +32,7 @@
#include <common.h>
#include <74xx_7xx.h>
#include <fdt_support.h>
+#include <netdev.h>
#undef DEBUG
@@ -92,3 +93,12 @@ ft_board_setup(void *blob, bd_t *bd)
fdt_fixup_memory(blob, (u64)bd->bi_memstart, (u64)bd->bi_memsize);
}
#endif
+
+int board_eth_init(bd_t *bis)
+{
+ int rc = 0;
+#if defined(CONFIG_TSI108_ETH)
+ rc = tsi108_eth_initialize(bis);
+#endif
+ return rc;
+}
diff --git a/board/freescale/mpc8315erdb/mpc8315erdb.c b/board/freescale/mpc8315erdb/mpc8315erdb.c
index 3eecee2519..0330218769 100644
--- a/board/freescale/mpc8315erdb/mpc8315erdb.c
+++ b/board/freescale/mpc8315erdb/mpc8315erdb.c
@@ -29,6 +29,7 @@
#include <fdt_support.h>
#include <pci.h>
#include <mpc83xx.h>
+#include <netdev.h>
DECLARE_GLOBAL_DATA_PTR;
@@ -165,3 +166,9 @@ void ft_board_setup(void *blob, bd_t *bd)
fdt_tsec1_fixup(blob, bd);
}
#endif
+
+int board_eth_init(bd_t *bis)
+{
+ cpu_eth_init(bis); /* Initialize TSECs first */
+ return pci_eth_init(bis);
+}
diff --git a/board/freescale/mpc8544ds/mpc8544ds.c b/board/freescale/mpc8544ds/mpc8544ds.c
index 4e976b78fc..eaf6fa3200 100644
--- a/board/freescale/mpc8544ds/mpc8544ds.c
+++ b/board/freescale/mpc8544ds/mpc8544ds.c
@@ -32,8 +32,11 @@
#include <miiphy.h>
#include <libfdt.h>
#include <fdt_support.h>
+#include <tsec.h>
+#include <netdev.h>
#include "../common/pixis.h"
+#include "../common/sgmii_riser.h"
#if defined(CONFIG_DDR_ECC) && !defined(CONFIG_ECC_INIT_VIA_DDRCONTROLLER)
extern void ddr_enable_ecc(unsigned int dram_size);
@@ -463,6 +466,42 @@ get_board_sys_clk(ulong dummy)
return val;
}
+int board_eth_init(bd_t *bis)
+{
+#ifdef CONFIG_TSEC_ENET
+ struct tsec_info_struct tsec_info[2];
+ volatile ccsr_gur_t *gur = (void *)(CFG_MPC85xx_GUTS_ADDR);
+ uint io_sel = (gur->pordevsr & MPC85xx_PORDEVSR_IO_SEL) >> 19;
+ int num = 0;
+
+#ifdef CONFIG_TSEC1
+ SET_STD_TSEC_INFO(tsec_info[num], 1);
+ if (!(gur->pordevsr & MPC85xx_PORDEVSR_SGMII1_DIS))
+ tsec_info[num].flags |= TSEC_SGMII;
+ num++;
+#endif
+#ifdef CONFIG_TSEC3
+ SET_STD_TSEC_INFO(tsec_info[num], 3);
+ if (!(gur->pordevsr & MPC85xx_PORDEVSR_SGMII3_DIS))
+ tsec_info[num].flags |= TSEC_SGMII;
+ num++;
+#endif
+
+ if (!num) {
+ printf("No TSECs initialized\n");
+
+ return 0;
+ }
+
+ if (io_sel & 1)
+ fsl_sgmii_riser_init(tsec_info, num);
+
+
+ tsec_eth_init(bis, tsec_info, num);
+#endif
+ return pci_eth_init(bis);
+}
+
#if defined(CONFIG_OF_BOARD_SETUP)
void
diff --git a/board/freescale/mpc8610hpcd/mpc8610hpcd.c b/board/freescale/mpc8610hpcd/mpc8610hpcd.c
index af79fc2c67..130f7aa8ce 100644
--- a/board/freescale/mpc8610hpcd/mpc8610hpcd.c
+++ b/board/freescale/mpc8610hpcd/mpc8610hpcd.c
@@ -32,6 +32,7 @@
#include <libfdt.h>
#include <fdt_support.h>
#include <spd_sdram.h>
+#include <netdev.h>
#include "../common/pixis.h"
@@ -520,12 +521,7 @@ get_board_sys_clk(ulong dummy)
return val;
}
-extern int uli526x_initialize(bd_t *);
-
int board_eth_init(bd_t *bis)
{
-#if defined(CONFIG_ULI526)
- uli526x_initialize(bis);
-#endif
- return 0;
+ return pci_eth_init(bis);
}
diff --git a/board/freescale/mpc8641hpcn/mpc8641hpcn.c b/board/freescale/mpc8641hpcn/mpc8641hpcn.c
index 1bb563e41d..97f7f49e49 100644
--- a/board/freescale/mpc8641hpcn/mpc8641hpcn.c
+++ b/board/freescale/mpc8641hpcn/mpc8641hpcn.c
@@ -29,6 +29,7 @@
#include <asm/io.h>
#include <libfdt.h>
#include <fdt_support.h>
+#include <netdev.h>
#include "../common/pixis.h"
@@ -379,3 +380,10 @@ get_board_sys_clk(ulong dummy)
return val;
}
+
+int board_eth_init(bd_t *bis)
+{
+ /* Initialize TSECs */
+ cpu_eth_init(bis);
+ return pci_eth_init(bis);
+}
diff --git a/board/hidden_dragon/hidden_dragon.c b/board/hidden_dragon/hidden_dragon.c
index 5713a3384f..2d7a7870e5 100644
--- a/board/hidden_dragon/hidden_dragon.c
+++ b/board/hidden_dragon/hidden_dragon.c
@@ -27,6 +27,7 @@
#include <common.h>
#include <mpc824x.h>
#include <pci.h>
+#include <netdev.h>
int checkboard (void)
{
@@ -93,3 +94,8 @@ void pci_init_board(void)
{
pci_mpc824x_init(&hose);
}
+
+int board_eth_init(bd_t *bis)
+{
+ return pci_eth_init(bis);
+}
diff --git a/board/icecube/icecube.c b/board/icecube/icecube.c
index 760db73687..d84ab3adce 100644
--- a/board/icecube/icecube.c
+++ b/board/icecube/icecube.c
@@ -29,6 +29,7 @@
#include <pci.h>
#include <asm/processor.h>
#include <libfdt.h>
+#include <netdev.h>
#if defined(CONFIG_LITE5200B)
#include "mt46v32m16.h"
@@ -390,3 +391,9 @@ ft_board_setup(void *blob, bd_t *bd)
ft_cpu_setup(blob, bd);
}
#endif
+
+int board_eth_init(bd_t *bis)
+{
+ cpu_eth_init(bis); /* Built in FEC comes first */
+ return pci_eth_init(bis);
+}
diff --git a/board/incaip/incaip.c b/board/incaip/incaip.c
index ac7ad8f292..6fe852cf9e 100644
--- a/board/incaip/incaip.c
+++ b/board/incaip/incaip.c
@@ -23,6 +23,7 @@
#include <common.h>
#include <command.h>
+#include <netdev.h>
#include <asm/addrspace.h>
#include <asm/inca-ip.h>
#include <asm/io.h>
@@ -116,3 +117,10 @@ int checkboard (void)
return 0;
}
+
+#if defined(CONFIG_INCA_IP_SWITCH)
+int board_eth_init(bd_t *bis)
+{
+ return inca_switch_initialize(bis);
+}
+#endif
diff --git a/board/integratorap/integratorap.c b/board/integratorap/integratorap.c
index e659907567..687c486c82 100644
--- a/board/integratorap/integratorap.c
+++ b/board/integratorap/integratorap.c
@@ -39,6 +39,8 @@
#include <pci.h>
#endif
+#include <netdev.h>
+
DECLARE_GLOBAL_DATA_PTR;
void flash__init (void);
@@ -647,3 +649,8 @@ ulong get_tbclk (void)
{
return CFG_HZ_CLOCK/div_clock;
}
+
+int board_eth_init(bd_t *bis)
+{
+ return pci_eth_init(bis);
+}
diff --git a/board/ixdp425/ixdp425.c b/board/ixdp425/ixdp425.c
index e0d763780e..b379c7535f 100644
--- a/board/ixdp425/ixdp425.c
+++ b/board/ixdp425/ixdp425.c
@@ -31,6 +31,7 @@
#include <common.h>
#include <command.h>
#include <malloc.h>
+#include <netdev.h>
#include <asm/arch/ixp425.h>
DECLARE_GLOBAL_DATA_PTR;
@@ -118,3 +119,8 @@ void pci_init_board(void)
pci_ixp_init(&hose);
}
#endif
+
+int board_eth_init(bd_t *bis)
+{
+ return pci_eth_init(bis);
+}
diff --git a/board/linkstation/linkstation.c b/board/linkstation/linkstation.c
index 241cf032d8..afb96ae6ce 100644
--- a/board/linkstation/linkstation.c
+++ b/board/linkstation/linkstation.c
@@ -26,6 +26,7 @@
#include <mpc824x.h>
#include <asm/io.h>
#include <ns16550.h>
+#include <netdev.h>
#ifdef CONFIG_PCI
#include <pci.h>
@@ -128,3 +129,8 @@ int board_early_init_f (void)
out_8((volatile u8*)UART_DCR, 1);
return 0;
}
+
+int board_eth_init(bd_t *bis)
+{
+ return pci_eth_init(bis);
+}
diff --git a/board/matrix_vision/mvbc_p/mvbc_p.c b/board/matrix_vision/mvbc_p/mvbc_p.c
index 3332f5aca6..c88c4a6043 100644
--- a/board/matrix_vision/mvbc_p/mvbc_p.c
+++ b/board/matrix_vision/mvbc_p/mvbc_p.c
@@ -35,6 +35,7 @@
#include <fpga.h>
#include <environment.h>
#include <fdt_support.h>
+#include <netdev.h>
#include <asm/io.h>
#include "fpga.h"
#include "mvbc_p.h"
@@ -324,3 +325,9 @@ void ft_board_setup(void *blob, bd_t *bd)
ft_cpu_setup(blob, bd);
fdt_fixup_memory(blob, (u64)bd->bi_memstart, (u64)bd->bi_memsize);
}
+
+int board_eth_init(bd_t *bis)
+{
+ cpu_eth_init(bis); /* Built in FEC comes first */
+ return pci_eth_init(bis);
+}
diff --git a/board/mimc/mimc200/mimc200.c b/board/mimc/mimc200/mimc200.c
index 4ece11ac87..8516dcb828 100644
--- a/board/mimc/mimc200/mimc200.c
+++ b/board/mimc/mimc200/mimc200.c
@@ -20,6 +20,7 @@
* MA 02111-1307 USA
*/
#include <common.h>
+#include <netdev.h>
#include <asm/io.h>
#include <asm/sdram.h>
@@ -195,8 +196,6 @@ void spi_cs_deactivate(struct spi_slave *slave)
#endif /* CONFIG_ATMEL_SPI */
#ifdef CONFIG_CMD_NET
-extern int macb_eth_initialize(int id, void *regs, unsigned int phy_addr);
-
int board_eth_init(bd_t *bi)
{
macb_eth_initialize(0, (void *)MACB0_BASE, bi->bi_phy_id[0]);
diff --git a/board/miromico/hammerhead/hammerhead.c b/board/miromico/hammerhead/hammerhead.c
index 738ece2fe3..d3875f449d 100644
--- a/board/miromico/hammerhead/hammerhead.c
+++ b/board/miromico/hammerhead/hammerhead.c
@@ -25,6 +25,7 @@
#include "../cpu/at32ap/at32ap700x/sm.h"
#include <common.h>
+#include <netdev.h>
#include <asm/io.h>
#include <asm/sdram.h>
@@ -51,8 +52,6 @@ static const struct sdram_config sdram_config = {
.refresh_period = (781 * (SDRAMC_BUS_HZ / 1000)) / 100000,
};
-extern int macb_eth_initialize(int id, void *regs, unsigned int phy_addr);
-
#ifdef CONFIG_CMD_NET
int board_eth_init(bd_t *bis)
{
diff --git a/board/mousse/mousse.c b/board/mousse/mousse.c
index f8f152976c..7b61266483 100644
--- a/board/mousse/mousse.c
+++ b/board/mousse/mousse.c
@@ -28,6 +28,7 @@
#include <common.h>
#include <mpc824x.h>
+#include <netdev.h>
#include <asm/processor.h>
#include "mousse.h"
@@ -84,3 +85,8 @@ int misc_init_f (void)
get_tod ();
return 0;
}
+
+int board_eth_init(bd_t *bis)
+{
+ return pci_eth_init(bis);
+}
diff --git a/board/mpc8540eval/mpc8540eval.c b/board/mpc8540eval/mpc8540eval.c
index 7c54458a57..028a70fad8 100644
--- a/board/mpc8540eval/mpc8540eval.c
+++ b/board/mpc8540eval/mpc8540eval.c
@@ -24,6 +24,7 @@
*/
#include <common.h>
+#include <netdev.h>
#include <asm/processor.h>
#include <asm/mmu.h>
#include <asm/immap_85xx.h>
@@ -247,3 +248,14 @@ long int fixed_sdram (void)
return (CFG_SDRAM_SIZE * 1024 * 1024);
}
#endif /* !defined(CONFIG_SPD_EEPROM) */
+
+int board_eth_init(bd_t *bis)
+{
+ /*
+ * This board either has PCI NICs or uses the CPU's TSECs
+ * pci_eth_init() will return 0 if no NICs found, so in that case
+ * returning -1 will force cpu_eth_init() to be called.
+ */
+ int num = pci_eth_init(bis);
+ return (num <= 0 ? -1 : num);
+}
diff --git a/board/musenki/musenki.c b/board/musenki/musenki.c
index b2b70e756d..6f9eeb22f8 100644
--- a/board/musenki/musenki.c
+++ b/board/musenki/musenki.c
@@ -24,6 +24,7 @@
#include <common.h>
#include <mpc824x.h>
#include <pci.h>
+#include <netdev.h>
int checkboard (void)
{
@@ -102,3 +103,8 @@ void pci_init_board(void)
{
pci_mpc824x_init(&hose);
}
+
+int board_eth_init(bd_t *bis)
+{
+ return pci_eth_init(bis);
+}
diff --git a/board/mvblue/mvblue.c b/board/mvblue/mvblue.c
index a979102ab5..056fee7848 100644
--- a/board/mvblue/mvblue.c
+++ b/board/mvblue/mvblue.c
@@ -9,6 +9,7 @@
#include <mpc824x.h>
#include <asm/io.h>
#include <ns16550.h>
+#include <netdev.h>
#ifdef CONFIG_PCI
#include <pci.h>
@@ -245,4 +246,9 @@ void pci_init_board (void)
{
pci_mpc824x_init (&hose);
}
+
+int board_eth_init(bd_t *bis)
+{
+ return pci_eth_init(bis);
+}
#endif
diff --git a/board/o2dnt/o2dnt.c b/board/o2dnt/o2dnt.c
index a4eed3a436..19faf52aff 100644
--- a/board/o2dnt/o2dnt.c
+++ b/board/o2dnt/o2dnt.c
@@ -27,6 +27,7 @@
#include <common.h>
#include <mpc5xxx.h>
#include <pci.h>
+#include <netdev.h>
#define SDRAM_MODE 0x00CD0000
#define SDRAM_CONTROL 0x504F0000
@@ -180,3 +181,9 @@ void pci_init_board(void)
pci_mpc5xxx_init(&hose);
}
#endif
+
+int board_eth_init(bd_t *bis)
+{
+ cpu_eth_init(bis); /* Built in FEC comes first */
+ return pci_eth_init(bis);
+}
diff --git a/board/oxc/oxc.c b/board/oxc/oxc.c
index b61d399512..eb7eeb8c28 100644
--- a/board/oxc/oxc.c
+++ b/board/oxc/oxc.c
@@ -25,6 +25,7 @@
#include <mpc824x.h>
#include <pci.h>
#include <i2c.h>
+#include <netdev.h>
DECLARE_GLOBAL_DATA_PTR;
@@ -215,3 +216,8 @@ int misc_init_r (void)
#endif
return (0);
}
+
+int board_eth_init(bd_t *bis)
+{
+ return pci_eth_init(bis);
+}
diff --git a/board/pcippc2/pcippc2.c b/board/pcippc2/pcippc2.c
index c1917c11b4..a3dbdc846e 100644
--- a/board/pcippc2/pcippc2.c
+++ b/board/pcippc2/pcippc2.c
@@ -28,6 +28,7 @@
#include <linux/mtd/doc2000.h>
#include <watchdog.h>
#include <pci.h>
+#include <netdev.h>
#include "hardware.h"
#include "pcippc2.h"
@@ -243,3 +244,8 @@ U_BOOT_CMD(
#endif
#endif /* CONFIG_WATCHDOG */
+
+int board_eth_init(bd_t *bis)
+{
+ return pci_eth_init(bis);
+}
diff --git a/board/pm520/pm520.c b/board/pm520/pm520.c
index 83d9bcd025..a9d63cc35a 100644
--- a/board/pm520/pm520.c
+++ b/board/pm520/pm520.c
@@ -27,6 +27,7 @@
#include <common.h>
#include <mpc5xxx.h>
#include <pci.h>
+#include <netdev.h>
#if defined(CONFIG_MPC5200_DDR)
#include "mt46v16m16-75.h"
@@ -321,3 +322,9 @@ void doc_init (void)
doc_probe (CFG_DOC_BASE);
}
#endif
+
+int board_eth_init(bd_t *bis)
+{
+ cpu_eth_init(bis); /* Built in FEC comes first */
+ return pci_eth_init(bis);
+}
diff --git a/board/pm826/pm826.c b/board/pm826/pm826.c
index 7ee3ab65c0..d8b0929cf4 100644
--- a/board/pm826/pm826.c
+++ b/board/pm826/pm826.c
@@ -25,6 +25,7 @@
#include <ioports.h>
#include <mpc8260.h>
#include <pci.h>
+#include <netdev.h>
/*
* I/O Port configuration table
@@ -328,3 +329,8 @@ void pci_init_board(void)
pci_mpc8250_init(&hose);
}
#endif
+
+int board_eth_init(bd_t *bis)
+{
+ return pci_eth_init(bis);
+}
diff --git a/board/pm828/pm828.c b/board/pm828/pm828.c
index 6038e9758d..b163d5b35d 100644
--- a/board/pm828/pm828.c
+++ b/board/pm828/pm828.c
@@ -25,6 +25,7 @@
#include <ioports.h>
#include <mpc8260.h>
#include <pci.h>
+#include <netdev.h>
/*
* I/O Port configuration table
@@ -361,3 +362,8 @@ void pci_init_board(void)
pci_mpc8250_init(&hose);
}
#endif
+
+int board_eth_init(bd_t *bis)
+{
+ return pci_eth_init(bis);
+}
diff --git a/board/pm854/pm854.c b/board/pm854/pm854.c
index 7dbafb9a83..90523bda53 100644
--- a/board/pm854/pm854.c
+++ b/board/pm854/pm854.c
@@ -27,6 +27,7 @@
#include <common.h>
#include <pci.h>
+#include <netdev.h>
#include <asm/processor.h>
#include <asm/mmu.h>
#include <asm/immap_85xx.h>
@@ -289,3 +290,9 @@ pci_init_board(void)
pci_mpc85xx_init(&hose);
#endif /* CONFIG_PCI */
}
+
+int board_eth_init(bd_t *bis)
+{
+ cpu_eth_init(bis); /* Intialize TSECs first */
+ return pci_eth_init(bis);
+}
diff --git a/board/pm856/pm856.c b/board/pm856/pm856.c
index bd4c0651ae..ee33286aca 100644
--- a/board/pm856/pm856.c
+++ b/board/pm856/pm856.c
@@ -34,6 +34,7 @@
#include <ioports.h>
#include <spd_sdram.h>
#include <miiphy.h>
+#include <netdev.h>
#if defined(CONFIG_DDR_ECC)
extern void ddr_enable_ecc(unsigned int dram_size);
@@ -444,3 +445,9 @@ pci_init_board(void)
pci_mpc85xx_init(&hose);
#endif /* CONFIG_PCI */
}
+
+int board_eth_init(bd_t *bis)
+{
+ cpu_eth_init(bis); /* Intialize TSECs first */
+ return pci_eth_init(bis);
+}
diff --git a/board/pn62/pn62.c b/board/pn62/pn62.c
index d905b2965c..60fc431db5 100644
--- a/board/pn62/pn62.c
+++ b/board/pn62/pn62.c
@@ -23,6 +23,7 @@
#include <common.h>
#include <mpc824x.h>
#include <pci.h>
+#include <netdev.h>
#include "pn62.h"
@@ -186,3 +187,8 @@ static int get_mac_address (int id, u8 * mac, char *string, int size)
mac[0], mac[1], mac[2],
mac[3], mac[4], mac[5]);
}
+
+int board_eth_init(bd_t *bis)
+{
+ return pci_eth_init(bis);
+}
diff --git a/board/ppmc7xx/ppmc7xx.c b/board/ppmc7xx/ppmc7xx.c
index 061e01ec4f..9c87c1078c 100644
--- a/board/ppmc7xx/ppmc7xx.c
+++ b/board/ppmc7xx/ppmc7xx.c
@@ -10,6 +10,7 @@
#include <common.h>
#include <command.h>
+#include <netdev.h>
/* Define some MPC107 (memory controller) registers */
@@ -102,3 +103,8 @@ void do_reset( cmd_tbl_t *cmdtp, int flag, int argc, char *argv[] )
/* Should never get here */
while(1);
}
+
+int board_eth_init(bd_t *bis)
+{
+ return pci_eth_init(bis);
+}
diff --git a/board/purple/purple.c b/board/purple/purple.c
index 9775591129..c129d7a109 100644
--- a/board/purple/purple.c
+++ b/board/purple/purple.c
@@ -23,6 +23,7 @@
#include <common.h>
#include <command.h>
+#include <netdev.h>
#include <asm/inca-ip.h>
#include <asm/regdef.h>
#include <asm/mipsregs.h>
@@ -274,3 +275,11 @@ void copy_code (ulong dest_addr)
start += CFG_CACHELINE_SIZE;
}
}
+
+#ifdef CONFIG_PLB2800_ETHER
+int board_eth_init(bd_t *bis)
+{
+ return plb2800_eth_initialize(bis);
+}
+#endif
+
diff --git a/board/r2dplus/r2dplus.c b/board/r2dplus/r2dplus.c
index 8fb8ff667a..b962dd1fe7 100644
--- a/board/r2dplus/r2dplus.c
+++ b/board/r2dplus/r2dplus.c
@@ -76,3 +76,8 @@ void pci_init_board(void)
{
pci_sh7751_init(&hose);
}
+
+int board_eth_init(bd_t *bis)
+{
+ return pci_eth_init(bis);
+}
diff --git a/board/r7780mp/r7780mp.c b/board/r7780mp/r7780mp.c
index 19c35d3494..efbeec97ca 100644
--- a/board/r7780mp/r7780mp.c
+++ b/board/r7780mp/r7780mp.c
@@ -23,6 +23,7 @@
#include <asm/processor.h>
#include <asm/io.h>
#include <asm/pci.h>
+#include <netdev.h>
#include "r7780mp.h"
int checkboard(void)
@@ -77,3 +78,8 @@ void pci_init_board(void)
{
pci_sh7780_init(&hose);
}
+
+int board_eth_init(bd_t *bis)
+{
+ return pci_eth_init(bis);
+}
diff --git a/board/sandpoint/sandpoint.c b/board/sandpoint/sandpoint.c
index 7429647b80..832baa263b 100644
--- a/board/sandpoint/sandpoint.c
+++ b/board/sandpoint/sandpoint.c
@@ -24,6 +24,7 @@
#include <common.h>
#include <mpc824x.h>
#include <pci.h>
+#include <netdev.h>
int checkboard (void)
{
@@ -99,3 +100,8 @@ void pci_init_board(void)
{
pci_mpc824x_init(&hose);
}
+
+int board_eth_init(bd_t *bis)
+{
+ return pci_eth_init(bis);
+}
diff --git a/board/sbc8240/sbc8240.c b/board/sbc8240/sbc8240.c
index 175720d906..075e3777ff 100644
--- a/board/sbc8240/sbc8240.c
+++ b/board/sbc8240/sbc8240.c
@@ -28,6 +28,7 @@
#include <mpc824x.h>
#include <asm/processor.h>
#include <pci.h>
+#include <netdev.h>
DECLARE_GLOBAL_DATA_PTR;
@@ -103,3 +104,8 @@ int misc_init_r (void)
return (0);
}
#endif /* CONFIG_MISC_INIT_R */
+
+int board_eth_init(bd_t *bis)
+{
+ return pci_eth_init(bis);
+}
diff --git a/board/sc3/sc3.c b/board/sc3/sc3.c
index 3d1a6542dc..6c82fe7e99 100644
--- a/board/sc3/sc3.c
+++ b/board/sc3/sc3.c
@@ -37,6 +37,7 @@
#include <pci.h>
#include <i2c.h>
#include <malloc.h>
+#include <netdev.h>
#undef writel
#undef writeb
@@ -779,3 +780,8 @@ void pci_init_board(void)
hose.config_table = pci_solidcard3_config_table;
pci_405gp_init(&hose);
}
+
+int board_eth_init(bd_t *bis)
+{
+ return pci_eth_init(bis);
+}
diff --git a/board/sc520_cdp/sc520_cdp.c b/board/sc520_cdp/sc520_cdp.c
index 8050aa6fee..f21c73002f 100644
--- a/board/sc520_cdp/sc520_cdp.c
+++ b/board/sc520_cdp/sc520_cdp.c
@@ -29,6 +29,7 @@
#include <asm/ic/sc520.h>
#include <asm/ic/ali512x.h>
#include <spi.h>
+#include <netdev.h>
DECLARE_GLOBAL_DATA_PTR;
@@ -629,3 +630,8 @@ ssize_t spi_write(uchar *addr, int alen, uchar *buffer, int len)
#endif
return res;
}
+
+int board_eth_init(bd_t *bis)
+{
+ return pci_eth_init(bis);
+}
diff --git a/board/sc520_spunk/sc520_spunk.c b/board/sc520_spunk/sc520_spunk.c
index 038d479953..0b11caaae2 100644
--- a/board/sc520_spunk/sc520_spunk.c
+++ b/board/sc520_spunk/sc520_spunk.c
@@ -25,6 +25,7 @@
#include <common.h>
#include <pci.h>
#include <ssi.h>
+#include <netdev.h>
#include <asm/io.h>
#include <asm/pci.h>
#include <asm/ic/sc520.h>
@@ -676,3 +677,8 @@ ssize_t spi_write(uchar *addr, int alen, uchar *buffer, int len)
spi_eeprom_write(1, offset, buffer, len) :
mw_eeprom_write(1, offset, buffer, len);
}
+
+int board_eth_init(bd_t *bis)
+{
+ return pci_eth_init(bis);
+}
diff --git a/board/sl8245/sl8245.c b/board/sl8245/sl8245.c
index c853755a1c..e66272ecb9 100644
--- a/board/sl8245/sl8245.c
+++ b/board/sl8245/sl8245.c
@@ -24,6 +24,7 @@
#include <common.h>
#include <mpc824x.h>
#include <pci.h>
+#include <netdev.h>
int checkboard (void)
{
@@ -67,8 +68,6 @@ void pci_init_board(void)
pci_mpc824x_init(&hose);
}
-extern int skge_initialize(bd_t *bis);
-
int board_eth_init(bd_t *bis)
{
int rc = 0;
diff --git a/board/sorcery/sorcery.c b/board/sorcery/sorcery.c
index 2b789d4741..e4fb1465fa 100644
--- a/board/sorcery/sorcery.c
+++ b/board/sorcery/sorcery.c
@@ -26,6 +26,7 @@
#include <asm/processor.h>
#include <asm/mmu.h>
#include <pci.h>
+#include <netdev.h>
phys_size_t initdram (int board_type)
{
@@ -58,3 +59,8 @@ void pci_init_board (void)
pci_mpc8220_init (&hose);
#endif /* CONFIG_PCI */
}
+
+int board_eth_init(bd_t *bis)
+{
+ return pci_eth_init(bis);
+}
diff --git a/board/stxssa/stxssa.c b/board/stxssa/stxssa.c
index 124e1233b1..71e9b088ac 100644
--- a/board/stxssa/stxssa.c
+++ b/board/stxssa/stxssa.c
@@ -39,6 +39,7 @@
#include <asm/io.h>
#include <spd_sdram.h>
#include <miiphy.h>
+#include <netdev.h>
long int fixed_sdram (void);
@@ -400,3 +401,10 @@ pci_init_board(void)
pci_mpc85xx_init(hose);
#endif /* CONFIG_PCI */
}
+
+int board_eth_init(bd_t *bis)
+{
+ cpu_eth_init(bis); /* Initialize TSECs first */
+ return pci_eth_init(bis);
+}
+
diff --git a/board/tb0229/tb0229.c b/board/tb0229/tb0229.c
index 921bd3adcd..2abb4a7e2d 100644
--- a/board/tb0229/tb0229.c
+++ b/board/tb0229/tb0229.c
@@ -46,3 +46,8 @@ int checkboard (void)
return 0;
}
+
+int board_eth_init(bd_t *bis)
+{
+ return pci_eth_init(bis);
+}
diff --git a/board/total5200/total5200.c b/board/total5200/total5200.c
index 1ae24c4f3a..ec00a67df1 100644
--- a/board/total5200/total5200.c
+++ b/board/total5200/total5200.c
@@ -27,6 +27,7 @@
#include <common.h>
#include <mpc5xxx.h>
#include <pci.h>
+#include <netdev.h>
#include "sdram.h"
@@ -308,3 +309,9 @@ int board_get_height (void)
}
#endif /* CONFIG_VIDEO_SED13806 */
+
+int board_eth_init(bd_t *bis)
+{
+ cpu_eth_init(bis); /* Built in FEC comes first */
+ return pci_eth_init(bis);
+}
diff --git a/board/tqc/tqm5200/tqm5200.c b/board/tqc/tqm5200/tqm5200.c
index 8b8e461374..5152331abd 100644
--- a/board/tqc/tqm5200/tqm5200.c
+++ b/board/tqc/tqm5200/tqm5200.c
@@ -32,6 +32,7 @@
#include <pci.h>
#include <asm/processor.h>
#include <libfdt.h>
+#include <netdev.h>
#ifdef CONFIG_VIDEO_SM501
#include <sm501.h>
@@ -749,3 +750,9 @@ void ft_board_setup(void *blob, bd_t *bd)
fdt_fixup_memory(blob, (u64)bd->bi_memstart, (u64)bd->bi_memsize);
}
#endif /* defined(CONFIG_OF_LIBFDT) && defined(CONFIG_OF_BOARD_SETUP) */
+
+int board_eth_init(bd_t *bis)
+{
+ cpu_eth_init(bis); /* Built in FEC comes first */
+ return pci_eth_init(bis);
+}
diff --git a/board/tqc/tqm8272/tqm8272.c b/board/tqc/tqm8272/tqm8272.c
index a0ec254ced..3a2376c3f9 100644
--- a/board/tqc/tqm8272/tqm8272.c
+++ b/board/tqc/tqm8272/tqm8272.c
@@ -26,6 +26,7 @@
#include <mpc8260.h>
#include <command.h>
+#include <netdev.h>
#ifdef CONFIG_PCI
#include <pci.h>
#include <asm/m8260_pci.h>
@@ -1226,3 +1227,8 @@ void pci_init_board(void)
pci_mpc8250_init(&hose);
}
#endif
+
+int board_eth_init(bd_t *bis)
+{
+ return pci_eth_init(bis);
+}
diff --git a/board/tqc/tqm85xx/tqm85xx.c b/board/tqc/tqm85xx/tqm85xx.c
index ae3c2456fb..0e5bc2f730 100644
--- a/board/tqc/tqm85xx/tqm85xx.c
+++ b/board/tqc/tqm85xx/tqm85xx.c
@@ -42,6 +42,7 @@
#include <flash.h>
#include <libfdt.h>
#include <fdt_support.h>
+#include <netdev.h>
DECLARE_GLOBAL_DATA_PTR;
@@ -743,3 +744,9 @@ int board_early_init_r (void)
return (0);
}
#endif /* CONFIG_BOARD_EARLY_INIT_R */
+
+int board_eth_init(bd_t *bis)
+{
+ cpu_eth_init(bis); /* Intialize TSECs first */
+ return pci_eth_init(bis);
+}
diff --git a/board/utx8245/utx8245.c b/board/utx8245/utx8245.c
index e2a961a3a3..e7ca669c14 100644
--- a/board/utx8245/utx8245.c
+++ b/board/utx8245/utx8245.c
@@ -32,6 +32,7 @@
#include <asm/io.h>
#include <asm/mmu.h>
#include <pci.h>
+#include <netdev.h>
#define SAVE_SZ 32
@@ -127,3 +128,8 @@ void pci_init_board (void)
icache_enable();
}
+
+int board_eth_init(bd_t *bis)
+{
+ return pci_eth_init(bis);
+}