From 1ab70f6fff9fa3b7910c11b874f625e004256c50 Mon Sep 17 00:00:00 2001
From: Ben Warren <biggerbadderben@gmail.com>
Date: Mon, 14 Dec 2009 16:30:39 -0800
Subject: [PATCH] Net: Clean up LAN91C96 Support

A previous Commit converted the LAN91C96 Ethernet driver to using the
CONFIG_NET_MULTI API, but did not include full board support.  This patch
finishes the job.

Signed-off-by: Ben Warren <biggerbadderben@gmail.com>
---
 board/apollon/apollon.c                  |  1 -
 board/assabet/assabet.c                  | 12 ++++++++++++
 board/dave/B2/B2.c                       | 12 ++++++++++++
 board/gcplus/gcplus.c                    | 12 ++++++++++++
 board/logicpd/zoom1/zoom1.c              | 12 ++++++++++++
 board/logicpd/zoom2/zoom2.c              | 12 ++++++++++++
 board/lubbock/lubbock.c                  | 12 ++++++++++++
 board/ti/omap1510inn/omap1510innovator.c | 12 ++++++++++++
 board/ti/omap1610inn/omap1610innovator.c | 12 ++++++++++++
 board/ti/omap2420h4/omap2420h4.c         | 12 ++++++++++++
 board/ti/omap5912osk/omap5912osk.c       | 12 ++++++++++++
 board/ti/omap730p2/omap730p2.c           | 12 ++++++++++++
 include/configs/B2.h                     |  2 +-
 13 files changed, 133 insertions(+), 2 deletions(-)

diff --git a/board/apollon/apollon.c b/board/apollon/apollon.c
index b93e880886..4768f58979 100644
--- a/board/apollon/apollon.c
+++ b/board/apollon/apollon.c
@@ -95,7 +95,6 @@ void s_init(void)
  ********************************************************/
 int misc_init_r(void)
 {
-	ether_init();		/* better done here so timers are init'ed */
 	return (0);
 }
 
diff --git a/board/assabet/assabet.c b/board/assabet/assabet.c
index 6f02db29b8..753c8d2435 100644
--- a/board/assabet/assabet.c
+++ b/board/assabet/assabet.c
@@ -25,6 +25,7 @@
  */
 
 #include <common.h>
+#include <netdev.h>
 #include <SA-1100.h>
 
 DECLARE_GLOBAL_DATA_PTR;
@@ -117,3 +118,14 @@ dram_init(void)
 
 	return (0);
 }
+
+#ifdef CONFIG_CMD_NET
+int board_eth_init(bd_t *bis)
+{
+	int rc = 0;
+#ifdef CONFIG_LAN91C96
+	rc = lan91c96_initialize(0, CONFIG_LAN91C96_BASE);
+#endif
+	return rc;
+}
+#endif
diff --git a/board/dave/B2/B2.c b/board/dave/B2/B2.c
index ec742adc7f..096ebbd16c 100644
--- a/board/dave/B2/B2.c
+++ b/board/dave/B2/B2.c
@@ -25,6 +25,7 @@
  */
 
 #include <common.h>
+#include <netdev.h>
 #include <asm/hardware.h>
 
 DECLARE_GLOBAL_DATA_PTR;
@@ -125,3 +126,14 @@ int dram_init (void)
 
 	return (0);
 }
+
+#ifdef CONFIG_CMD_NET
+int board_eth_init(bd_t *bis)
+{
+	int rc = 0;
+#ifdef CONFIG_LAN91C96
+	rc = lan91c96_initialize(0, CONFIG_LAN91C96_BASE);
+#endif
+	return rc;
+}
+#endif
diff --git a/board/gcplus/gcplus.c b/board/gcplus/gcplus.c
index 829b597597..71607f2223 100644
--- a/board/gcplus/gcplus.c
+++ b/board/gcplus/gcplus.c
@@ -25,6 +25,7 @@
  */
 
 #include <common.h>
+#include <netdev.h>
 #include <SA-1100.h>
 
 DECLARE_GLOBAL_DATA_PTR;
@@ -68,3 +69,14 @@ dram_init(void)
 
 	return (0);
 }
+
+#ifdef CONFIG_CMD_NET
+int board_eth_init(bd_t *bis)
+{
+	int rc = 0;
+#ifdef CONFIG_LAN91C96
+	rc = lan91c96_initialize(0, CONFIG_LAN91C96_BASE);
+#endif
+	return rc;
+}
+#endif
diff --git a/board/logicpd/zoom1/zoom1.c b/board/logicpd/zoom1/zoom1.c
index f4d3754cac..a144f52e6f 100644
--- a/board/logicpd/zoom1/zoom1.c
+++ b/board/logicpd/zoom1/zoom1.c
@@ -31,6 +31,7 @@
  * MA 02111-1307 USA
  */
 #include <common.h>
+#include <netdev.h>
 #include <twl4030.h>
 #include <asm/io.h>
 #include <asm/arch/mux.h>
@@ -86,3 +87,14 @@ void set_muxconf_regs(void)
 	/* platform specific muxes */
 	MUX_ZOOM1_MDK();
 }
+
+#ifdef CONFIG_CMD_NET
+int board_eth_init(bd_t *bis)
+{
+	int rc = 0;
+#ifdef CONFIG_LAN91C96
+	rc = lan91c96_initialize(0, CONFIG_LAN91C96_BASE);
+#endif
+	return rc;
+}
+#endif
diff --git a/board/logicpd/zoom2/zoom2.c b/board/logicpd/zoom2/zoom2.c
index dadbeb6730..21afc29b38 100644
--- a/board/logicpd/zoom2/zoom2.c
+++ b/board/logicpd/zoom2/zoom2.c
@@ -29,6 +29,7 @@
  * MA 02111-1307 USA
  */
 #include <common.h>
+#include <netdev.h>
 #ifdef CONFIG_STATUS_LED
 #include <status_led.h>
 #endif
@@ -177,3 +178,14 @@ void set_muxconf_regs (void)
 	/* platform specific muxes */
 	MUX_ZOOM2 ();
 }
+
+#ifdef CONFIG_CMD_NET
+int board_eth_init(bd_t *bis)
+{
+	int rc = 0;
+#ifdef CONFIG_LAN91C96
+	rc = lan91c96_initialize(0, CONFIG_LAN91C96_BASE);
+#endif
+	return rc;
+}
+#endif
diff --git a/board/lubbock/lubbock.c b/board/lubbock/lubbock.c
index 58291706c0..d8d6ffbf61 100644
--- a/board/lubbock/lubbock.c
+++ b/board/lubbock/lubbock.c
@@ -26,6 +26,7 @@
  */
 
 #include <common.h>
+#include <netdev.h>
 
 DECLARE_GLOBAL_DATA_PTR;
 
@@ -68,3 +69,14 @@ int dram_init (void)
 
 	return 0;
 }
+
+#ifdef CONFIG_CMD_NET
+int board_eth_init(bd_t *bis)
+{
+	int rc = 0;
+#ifdef CONFIG_LAN91C96
+	rc = lan91c96_initialize(0, CONFIG_LAN91C96_BASE);
+#endif
+	return rc;
+}
+#endif
diff --git a/board/ti/omap1510inn/omap1510innovator.c b/board/ti/omap1510inn/omap1510innovator.c
index 8941209510..2cb6062228 100644
--- a/board/ti/omap1510inn/omap1510innovator.c
+++ b/board/ti/omap1510inn/omap1510innovator.c
@@ -30,6 +30,7 @@
  */
 
 #include <common.h>
+#include <netdev.h>
 
 DECLARE_GLOBAL_DATA_PTR;
 
@@ -127,3 +128,14 @@ int dram_init (void)
 
 	return 0;
 }
+
+#ifdef CONFIG_CMD_NET
+int board_eth_init(bd_t *bis)
+{
+	int rc = 0;
+#ifdef CONFIG_LAN91C96
+	rc = lan91c96_initialize(0, CONFIG_LAN91C96_BASE);
+#endif
+	return rc;
+}
+#endif
diff --git a/board/ti/omap1610inn/omap1610innovator.c b/board/ti/omap1610inn/omap1610innovator.c
index 2e04ad4bdd..44818bbdae 100644
--- a/board/ti/omap1610inn/omap1610innovator.c
+++ b/board/ti/omap1610inn/omap1610innovator.c
@@ -32,6 +32,7 @@
  */
 
 #include <common.h>
+#include <netdev.h>
 #if defined(CONFIG_OMAP1610)
 #include <./configs/omap1510.h>
 #endif
@@ -302,3 +303,14 @@ void peripheral_power_enable (void)
 
 	*SW_CLOCK_REQUEST |= UART1_48MHZ_ENABLE;
 }
+
+#ifdef CONFIG_CMD_NET
+int board_eth_init(bd_t *bis)
+{
+	int rc = 0;
+#ifdef CONFIG_LAN91C96
+	rc = lan91c96_initialize(0, CONFIG_LAN91C96_BASE);
+#endif
+	return rc;
+}
+#endif
diff --git a/board/ti/omap2420h4/omap2420h4.c b/board/ti/omap2420h4/omap2420h4.c
index 8d1823900c..1c98e1b82a 100644
--- a/board/ti/omap2420h4/omap2420h4.c
+++ b/board/ti/omap2420h4/omap2420h4.c
@@ -22,6 +22,7 @@
  * MA 02111-1307 USA
  */
 #include <common.h>
+#include <netdev.h>
 #include <asm/arch/omap2420.h>
 #include <asm/io.h>
 #include <asm/arch/bits.h>
@@ -842,3 +843,14 @@ void update_mux(u32 btype,u32 mtype)
 		}
 	}
 }
+
+#ifdef CONFIG_CMD_NET
+int board_eth_init(bd_t *bis)
+{
+	int rc = 0;
+#ifdef CONFIG_LAN91C96
+	rc = lan91c96_initialize(0, CONFIG_LAN91C96_BASE);
+#endif
+	return rc;
+}
+#endif
diff --git a/board/ti/omap5912osk/omap5912osk.c b/board/ti/omap5912osk/omap5912osk.c
index 6993b136ee..cbf451baaf 100644
--- a/board/ti/omap5912osk/omap5912osk.c
+++ b/board/ti/omap5912osk/omap5912osk.c
@@ -34,6 +34,7 @@
  */
 
 #include <common.h>
+#include <netdev.h>
 #if defined(CONFIG_OMAP1610)
 #include <./configs/omap1510.h>
 #endif
@@ -306,3 +307,14 @@ int checkboard(void)
 
 	return (0);
 }
+
+#ifdef CONFIG_CMD_NET
+int board_eth_init(bd_t *bis)
+{
+	int rc = 0;
+#ifdef CONFIG_LAN91C96
+	rc = lan91c96_initialize(0, CONFIG_LAN91C96_BASE);
+#endif
+	return rc;
+}
+#endif
diff --git a/board/ti/omap730p2/omap730p2.c b/board/ti/omap730p2/omap730p2.c
index 309d667585..954ced5efe 100644
--- a/board/ti/omap730p2/omap730p2.c
+++ b/board/ti/omap730p2/omap730p2.c
@@ -30,6 +30,7 @@
  */
 
 #include <common.h>
+#include <netdev.h>
 #if defined(CONFIG_OMAP730)
 #include <./configs/omap730.h>
 #endif
@@ -263,3 +264,14 @@ void peripheral_power_enable (void)
 	*MuxConfReg &= (0xFF1FFFFF);
 	*MuxConfReg &= (0xF1FFFFFF);
 }
+
+#ifdef CONFIG_CMD_NET
+int board_eth_init(bd_t *bis)
+{
+	int rc = 0;
+#ifdef CONFIG_LAN91C96
+	rc = lan91c96_initialize(0, CONFIG_LAN91C96_BASE);
+#endif
+	return rc;
+}
+#endif
diff --git a/include/configs/B2.h b/include/configs/B2.h
index d7806e9628..f51a26115c 100644
--- a/include/configs/B2.h
+++ b/include/configs/B2.h
@@ -98,7 +98,7 @@
 #define CONFIG_CMD_EEPROM
 #define CONFIG_CMD_I2C
 
-
+#define CONFIG_NET_MULTI
 #define CONFIG_BOOTDELAY	5
 #define CONFIG_ETHADDR	00:50:c2:1e:af:fb
 #define CONFIG_BOOTARGS  "setenv bootargs root=/dev/ram ip=192.168.0.70:::::eth0:off \
-- 
2.39.5