[U-Boot] [PATCH 3/3] LAN91C96: Enable NET_MULTI LAN driver

Tom Tom.Rix at windriver.com
Sun Oct 18 21:57:11 CEST 2009


Nishanth Menon wrote:
> This modification is NOT tested on any of the
> platforms modified as I dont have them. please
> help by testing+building+fixing

On the testing front..
Regression testing on MAKEALL shows

#warning Ethernet driver .. error killing for
assabet, gcplus, lubbock, omap1510inn, omap1610h2,
omap2420h4, omap3_sdp3430, omap5912osk and omap730p2

There is a regression on B2.

et/libnet.a(net.o): In function `NetSendPacket':
u-boot-ti/net/net.c:623: undefined reference to `eth_send'
	net/libnet.a(net.o): In function `NetReceive':
u-boot-ti/net/net.c:1433: undefined reference to `eth_send'

Likely because you missed adding
#define CONFIG_NET_MULTI
to the config file.

apollon, does not configure. Not your fault
but testing on it is going to be hard ;)
Here is the error :

System not configured - see README
make: *** [all] Error 1

No new additions to apollon should be made until the
base cause of the apollon failure is fixed.

So
1. Fix B2.
2. Remove apollon changes
3. Wait for runtime testing.

I am not in favor of including this patch in the 2009.11
as we will likely apply the patch after waiting a reasonable
amount of time on the runtime testing.  Which is not the
same as knowing we aren't breaking the old boards.

Tom

> 
> Signed-off-by: Nishanth Menon <nm at ti.com>
> Cc: Andrea Scian <andrea.scian at dave-tech.it>
> Cc: Ben Warren <biggerbadderben at gmail.com>
> Cc: Dave Peverley <dpeverley at mpc-data.co.uk>
> Cc: George G. Davis <gdavis at mvista.com>
> Cc: Kyungmin Park <kyungmin.park at samsung.com>
> Cc: Nishant Kamat <nskamat at ti.com>
> Cc: Richard Woodruff <r-woodruff2 at ti.com>
> Cc: Rishi Bhattacharya <rishi at ti.com>
> Cc: Sandeep Paulraj <s-paulraj at ti.com>
> ---
>  board/apollon/apollon.c       |   12 +++++++-----
>  include/configs/B2.h          |    2 +-
>  include/configs/apollon.h     |    3 ++-
>  include/configs/assabet.h     |    3 ++-
>  include/configs/gcplus.h      |    3 ++-
>  include/configs/lubbock.h     |    3 ++-
>  include/configs/omap1510inn.h |    3 ++-
>  include/configs/omap1610h2.h  |    3 ++-
>  include/configs/omap1610inn.h |    3 ++-
>  include/configs/omap2420h4.h  |    3 ++-
>  include/configs/omap5912osk.h |    3 ++-
>  include/configs/omap730p2.h   |    3 ++-
>  include/configs/pleb2.h       |    6 ++++--
>  13 files changed, 32 insertions(+), 18 deletions(-)
> 
> diff --git a/board/apollon/apollon.c b/board/apollon/apollon.c
> index 8964eba..b93e880 100644
> --- a/board/apollon/apollon.c
> +++ b/board/apollon/apollon.c
> @@ -24,6 +24,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>
> @@ -138,13 +139,14 @@ void wait_for_command_complete(unsigned int wd_base)
>  }
>  
>  /*******************************************************************
> - * Routine:ether_init
> + * Routine:board_eth_init
>   * Description: take the Ethernet controller out of reset and wait
>   *		   for the EEPROM load to complete.
>   ******************************************************************/
> -void ether_init(void)
> +int board_eth_init(bd_t *bis)
>  {
> -#ifdef CONFIG_DRIVER_LAN91C96
> +	int rc = 0;
> +#ifdef CONFIG_LAN91C96
>  	int cnt = 20;
>  
>  	__raw_writeb(0x03, OMAP2420_CTRL_BASE + 0x0f2);	/*protect->gpio74 */
> @@ -171,10 +173,10 @@ void ether_init(void)
>  
>  	mask_config_reg(ETH_CONTROL_REG, 0x01);
>  	udelay(1000);
> -
> +	rc = lan91c96_initialize(0, CONFIG_LAN91C96_BASE);
>  eth_reset_err_out:
> -	return;
>  #endif
> +	return rc;
>  }
>  
>  /**********************************************
> diff --git a/include/configs/B2.h b/include/configs/B2.h
> index e5439f3..d7806e9 100644
> --- a/include/configs/B2.h
> +++ b/include/configs/B2.h
> @@ -58,7 +58,7 @@
>  /*
>   * Hardware drivers
>   */
> -#define CONFIG_DRIVER_LAN91C96
> +#define CONFIG_LAN91C96
>  #define CONFIG_LAN91C96_BASE		0x04000300 /* base address         */
>  #define CONFIG_SMC_USE_32_BIT
>  #undef  CONFIG_SHOW_ACTIVITY
> diff --git a/include/configs/apollon.h b/include/configs/apollon.h
> index 575f60e..be0dc04 100644
> --- a/include/configs/apollon.h
> +++ b/include/configs/apollon.h
> @@ -87,7 +87,8 @@
>  /*
>   * SMC91c96 Etherent
>   */
> -#define	CONFIG_DRIVER_LAN91C96
> +#define CONFIG_NET_MULTI
> +#define	CONFIG_LAN91C96
>  #define	CONFIG_LAN91C96_BASE	(APOLLON_CS1_BASE+0x300)
>  #define	CONFIG_LAN91C96_EXT_PHY
>  
> diff --git a/include/configs/assabet.h b/include/configs/assabet.h
> index 8c5b84c..d17d4bd 100644
> --- a/include/configs/assabet.h
> +++ b/include/configs/assabet.h
> @@ -53,7 +53,8 @@
>  /*
>   * Hardware drivers
>   */
> -#define CONFIG_DRIVER_LAN91C96	/* we have an SMC9194 on-board */
> +#define CONFIG_NET_MULTI
> +#define CONFIG_LAN91C96	/* we have an SMC9194 on-board */
>  #define CONFIG_LAN91C96_BASE	0x18000000
>  
>  /*
> diff --git a/include/configs/gcplus.h b/include/configs/gcplus.h
> index 85db4f5..41294b9 100644
> --- a/include/configs/gcplus.h
> +++ b/include/configs/gcplus.h
> @@ -66,7 +66,8 @@
>  /*
>   * Hardware drivers
>   */
> -#define CONFIG_DRIVER_LAN91C96	/* we have an SMC9194 on-board */
> +#define CONFIG_NET_MULTI
> +#define CONFIG_LAN91C96	/* we have an SMC9194 on-board */
>  #define CONFIG_LAN91C96_BASE	0x100e0000
>  
>  /*
> diff --git a/include/configs/lubbock.h b/include/configs/lubbock.h
> index 43913ca..0a69210 100644
> --- a/include/configs/lubbock.h
> +++ b/include/configs/lubbock.h
> @@ -58,7 +58,8 @@
>  /*
>   * Hardware drivers
>   */
> -#define CONFIG_DRIVER_LAN91C96
> +#define CONFIG_NET_MULTI
> +#define CONFIG_LAN91C96
>  #define CONFIG_LAN91C96_BASE 0x0C000000
>  
>  /*
> diff --git a/include/configs/omap1510inn.h b/include/configs/omap1510inn.h
> index 8408209..b0ebafd 100644
> --- a/include/configs/omap1510inn.h
> +++ b/include/configs/omap1510inn.h
> @@ -60,7 +60,8 @@
>  #define CONFIG_SMC9196_BASE 0x08000300
>  #define CONFIG_SMC9196_EXT_PHY
>  */
> -#define CONFIG_DRIVER_LAN91C96
> +#define CONFIG_NET_MULTI
> +#define CONFIG_LAN91C96
>  #define CONFIG_LAN91C96_BASE 0x08000300
>  #define CONFIG_LAN91C96_EXT_PHY
>  
> diff --git a/include/configs/omap1610h2.h b/include/configs/omap1610h2.h
> index 42e0198..0bbb5b3 100644
> --- a/include/configs/omap1610h2.h
> +++ b/include/configs/omap1610h2.h
> @@ -57,7 +57,8 @@
>  /*
>   * Hardware drivers
>   */
> -#define CONFIG_DRIVER_LAN91C96
> +#define CONFIG_NET_MULTI
> +#define CONFIG_LAN91C96
>  #define CONFIG_LAN91C96_BASE 0x04000300
>  #define CONFIG_LAN91C96_EXT_PHY
>  
> diff --git a/include/configs/omap1610inn.h b/include/configs/omap1610inn.h
> index 22c873e..832dd42 100644
> --- a/include/configs/omap1610inn.h
> +++ b/include/configs/omap1610inn.h
> @@ -58,7 +58,8 @@
>   */
>  /*
>  */
> -#define CONFIG_DRIVER_LAN91C96
> +#define CONFIG_NET_MULTI
> +#define CONFIG_LAN91C96
>  #define CONFIG_LAN91C96_BASE 0x04000300
>  #define CONFIG_LAN91C96_EXT_PHY
>  
> diff --git a/include/configs/omap2420h4.h b/include/configs/omap2420h4.h
> index 9c18842..6ab4438 100644
> --- a/include/configs/omap2420h4.h
> +++ b/include/configs/omap2420h4.h
> @@ -81,7 +81,8 @@
>  /*
>   * SMC91c96 Etherent
>   */
> -#define CONFIG_DRIVER_LAN91C96
> +#define CONFIG_NET_MULTI
> +#define CONFIG_LAN91C96
>  #define CONFIG_LAN91C96_BASE     (H4_CS1_BASE+0x300)
>  #define CONFIG_LAN91C96_EXT_PHY
>  
> diff --git a/include/configs/omap5912osk.h b/include/configs/omap5912osk.h
> index d0ce9dc..bc660e3 100644
> --- a/include/configs/omap5912osk.h
> +++ b/include/configs/omap5912osk.h
> @@ -61,7 +61,8 @@
>   */
>  /*
>  */
> -#define CONFIG_DRIVER_LAN91C96
> +#define CONFIG_NET_MULTI
> +#define CONFIG_LAN91C96
>  #define CONFIG_LAN91C96_BASE 0x04800300
>  #define CONFIG_LAN91C96_EXT_PHY
>  
> diff --git a/include/configs/omap730p2.h b/include/configs/omap730p2.h
> index 32a9b23..a6a8a02 100644
> --- a/include/configs/omap730p2.h
> +++ b/include/configs/omap730p2.h
> @@ -65,7 +65,8 @@
>   * Hardware drivers
>   */
>  
> -#define CONFIG_DRIVER_LAN91C96
> +#define CONFIG_NET_MULTI
> +#define CONFIG_LAN91C96
>  #define CONFIG_LAN91C96_BASE	   0x04000300
>  #define CONFIG_LAN91C96_EXT_PHY
>  
> diff --git a/include/configs/pleb2.h b/include/configs/pleb2.h
> index 635ef71..9e69411 100644
> --- a/include/configs/pleb2.h
> +++ b/include/configs/pleb2.h
> @@ -56,8 +56,10 @@
>   */
>  
>  /* None - PLEB 2 doesn't have any of this.
> -   #define CONFIG_DRIVER_LAN91C96
> -   #define CONFIG_LAN91C96_BASE 0x0C000000 */
> +	#define CONFIG_NET_MULTI
> +	#define CONFIG_LAN91C96
> +	#define CONFIG_LAN91C96_BASE 0x0C000000
> + */
>  
>  /*
>   * select serial console configuration



More information about the U-Boot mailing list