[U-Boot] [PATCH 3/3][Net][ARM] Switched dm644x_emac Ethernet driver to use newer API

Jean-Christophe PLAGNIOL-VILLARD plagnioj at jcrosoft.com
Wed Apr 29 22:13:35 CEST 2009


On 10:12 Tue 28 Apr     , Ben Warren wrote:
>  Added CONFIG_NET_MULTI to all Davinci boards
>  Removed all calls to Davinci network driver from board code
>  Added cpu_eth_init() to cpu/arm926ejs/cpu.c
> 
> Signed-off-by: Ben Warren <biggerbadderben at gmail.com>
> ---
>  board/davinci/common/misc.h         |    1 -
>  board/davinci/dvevm/dvevm.c         |    3 -
>  board/davinci/schmoogie/schmoogie.c |    3 -
>  board/davinci/sffsdr/sffsdr.c       |    3 -
>  board/davinci/sonata/sonata.c       |    3 -
>  cpu/arm926ejs/cpu.c                 |   13 ++++++
>  drivers/net/dm644x_emac.c           |   70 ++++++++++++-----------------------
>  include/configs/davinci_dvevm.h     |    1 +
>  include/configs/davinci_schmoogie.h |    1 +
>  include/configs/davinci_sffsdr.h    |    1 +
>  include/configs/davinci_sonata.h    |    1 +
>  include/netdev.h                    |    1 +
>  net/eth.c                           |    4 --
>  13 files changed, 42 insertions(+), 63 deletions(-)
> 
> diff --git a/board/davinci/common/misc.h b/board/davinci/common/misc.h
> index 4a57dbb..25b19b8 100644
> --- a/board/davinci/common/misc.h
> +++ b/board/davinci/common/misc.h
> @@ -23,7 +23,6 @@
>  #define __MISC_H
>  
>  extern void timer_init(void);
> -extern int eth_hw_init(void);
>  
>  void dv_display_clk_infos(void);
>  int dvevm_read_mac_address(uint8_t *buf);
> diff --git a/board/davinci/dvevm/dvevm.c b/board/davinci/dvevm/dvevm.c
> index 22308de..9fdfa58 100644
> --- a/board/davinci/dvevm/dvevm.c
> +++ b/board/davinci/dvevm/dvevm.c
> @@ -76,9 +76,6 @@ int misc_init_r(void)
>  	if (dvevm_read_mac_address(eeprom_enetaddr))
>  		dv_configure_mac_address(eeprom_enetaddr);
>  
> -	if (!eth_hw_init())
> -		printf("ethernet init failed!\n");
> -
>  	i2c_read(0x39, 0x00, 1, &video_mode, 1);
>  
>  	setenv("videostd", ((video_mode & 0x80) ? "pal" : "ntsc"));
> diff --git a/board/davinci/schmoogie/schmoogie.c b/board/davinci/schmoogie/schmoogie.c
> index 433769a..738e9dd 100644
> --- a/board/davinci/schmoogie/schmoogie.c
> +++ b/board/davinci/schmoogie/schmoogie.c
> @@ -133,8 +133,5 @@ int misc_init_r(void)
>  		forceenv("serial#", (char *)&tmp[0]);
>  	}
>  
> -	if (!eth_hw_init())
> -		printf("ethernet init failed!\n");
> -
>  	return(0);
>  }
> diff --git a/board/davinci/sffsdr/sffsdr.c b/board/davinci/sffsdr/sffsdr.c
> index e76f86d..45d0456 100644
> --- a/board/davinci/sffsdr/sffsdr.c
> +++ b/board/davinci/sffsdr/sffsdr.c
> @@ -146,8 +146,5 @@ int misc_init_r(void)
>  	if (sffsdr_read_mac_address(eeprom_enetaddr))
>  		dv_configure_mac_address(eeprom_enetaddr);
>  
> -	if (!eth_hw_init())
> -		printf("Ethernet init failed\n");
> -
>  	return(0);
>  }
> diff --git a/board/davinci/sonata/sonata.c b/board/davinci/sonata/sonata.c
> index d56b443..73bd25f 100644
> --- a/board/davinci/sonata/sonata.c
> +++ b/board/davinci/sonata/sonata.c
> @@ -73,8 +73,5 @@ int misc_init_r(void)
>  	if (dvevm_read_mac_address(eeprom_enetaddr))
>  		dv_configure_mac_address(eeprom_enetaddr);
>  
> -	if (!eth_hw_init())
> -		printf("ethernet init failed!\n");
> -
>  	return(0);
>  }
> diff --git a/cpu/arm926ejs/cpu.c b/cpu/arm926ejs/cpu.c
> index 6307e33..d711b24 100644
> --- a/cpu/arm926ejs/cpu.c
> +++ b/cpu/arm926ejs/cpu.c
> @@ -31,6 +31,7 @@
>  
>  #include <common.h>
>  #include <command.h>
> +#include <netdev.h>
>  #include <arm926ejs.h>
>  #include <asm/system.h>
>  
> @@ -80,3 +81,15 @@ static void cache_flush (void)
>  
>  	asm ("mcr p15, 0, %0, c7, c7, 0": :"r" (i));
>  }
> +
> +/*
> + *  * Initializes on-chip ethernet controllers.
> + *   * to override, implement board_eth_init()
> + *    */
> +int cpu_eth_init(bd_t *bis)
> +{
> +#if defined(CONFIG_DRIVER_TI_EMAC)
> +	dm644x_emac_initialize();
> +#endif
> +	return 0;
> +}
please move this to the soc
arm926ejs/davinci/cpu.c

the cpu.c is destinated to be removed in most of the case
or at least all the soc specific code

Best Regards,
J.


More information about the U-Boot mailing list