[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