[U-Boot] NET: SDP3430: trouble with shifting from LAN9C916 to SMC91XX driver

Nishanth Menon nm at ti.com
Wed Oct 14 05:13:19 CEST 2009


Hi Folks,

While attempting to address the warning for SDP3430 as pointed out by 
dirk in [1], I did a patch corresponding to what was done for EVM(353x) 
as in [2]. unfortunately, this wont work for me, I get:
U-Boot 2009.08-00515-gfea6a55-dirty (Oct 12 2009 - 14:03:23)

OMAP3530-GP ES3.0, CPU-OPP2 L3-165MHz
OMAP3 SDP3430 board + LPDDR/NOR
I2C:   ready
DRAM:  128 MB
Flash: 128 MB
In:    serial
Out:   serial
Err:   serial
smc911x: Invalid chip endian 0xdee0013d
Net:   No ethernet found.
OMAP34XX SDP #

and no network, using LEGACY driver seems to be working just great for me.

Note: in my patch [2], I did try both CONFIG_SMC911X_32_BIT and 
CONFIG_SMC911X_16_BIT with no luck either way.  I even tried to hack the 
driver by skipping the supported chip detection code, but the driver 
still did not work for me.

scanning a little more in the git repo, I see all the ancient boards of 
OMAP family - 5912,2420 etc.. still have LEGACY driver being used..

I am pretty sure I must be missing something here and appreciate any 
guidance folks can give me on this..

-- 
Regards,
Nishanth Menon

Ref:
[1] 
http://www.nabble.com/forum/Permalink.jtp?root=25837696&post=25841367&page=y
[2]
 From fea6a55cb67b3fda1d93da74b2fe68fb25376e7e Mon Sep 17 00:00:00 2001
From: Nishanth Menon <nm at ti.com>
Date: Mon, 12 Oct 2009 13:54:17 -0500
Subject: [BAD][PATCH] TI OMAP3: SDP3430: dont use legacy ethernet driver

Stop using the LEGACY driver and use NET_MULTI
this also removes the build warning for SDP3430
---
  board/ti/sdp3430/sdp.c          |    8 +++++---
  include/configs/omap3_sdp3430.h |    7 ++++---
  2 files changed, 9 insertions(+), 6 deletions(-)

diff --git a/board/ti/sdp3430/sdp.c b/board/ti/sdp3430/sdp.c
index 40cf26f..85181c8 100644
--- a/board/ti/sdp3430/sdp.c
+++ b/board/ti/sdp3430/sdp.c
@@ -22,6 +22,7 @@
   * MA 02111-1307 USA
   */
  #include <common.h>
+#include <netdev.h>
  #include <twl4030.h>
  #include <asm/io.h>
  #include <asm/arch/mux.h>
@@ -121,8 +122,8 @@ int board_init(void)
  	return 0;
  }

-#define LAN_RESET_REGISTER	(CONFIG_LAN91C96_BASE + 0x01c)
-#define ETH_CONTROL_REG		(CONFIG_LAN91C96_BASE + 0x30b)
+#define LAN_RESET_REGISTER	(CONFIG_SMC911X_BASE + 0x01c)
+#define ETH_CONTROL_REG		(CONFIG_SMC911X_BASE + 0x30b)

  /**
   * @brief ether_init Take the Ethernet controller out of reset and wait
@@ -130,7 +131,7 @@ int board_init(void)
   */
  static void ether_init(void)
  {
-#ifdef CONFIG_DRIVER_LAN91C96
+#ifdef CONFIG_SMC911X
  	int cnt = 20;

  	writew(0x0, LAN_RESET_REGISTER);
@@ -155,6 +156,7 @@ static void ether_init(void)

  	writeb(readb(ETH_CONTROL_REG) & ~0x1, ETH_CONTROL_REG);
  	udelay(1000);
+	smc911x_initialize(0, CONFIG_SMC911X_BASE);
  reset_err_out:
  	return;

diff --git a/include/configs/omap3_sdp3430.h 
b/include/configs/omap3_sdp3430.h
index 229dc5e..7b0a248 100644
--- a/include/configs/omap3_sdp3430.h
+++ b/include/configs/omap3_sdp3430.h
@@ -200,9 +200,10 @@
   */
  #if defined(CONFIG_CMD_NET)

-#define CONFIG_DRIVER_LAN91C96
-#define CONFIG_LAN91C96_BASE	DEBUG_BASE
-#define CONFIG_LAN91C96_EXT_PHY
+#define CONFIG_NET_MULTI
+#define CONFIG_SMC911X
+#define CONFIG_SMC911X_32_BIT
+#define CONFIG_SMC911X_BASE	DEBUG_BASE

  #define CONFIG_BOOTP_SEND_HOSTNAME
  /*
-- 
1.6.3.3


More information about the U-Boot mailing list