diff options
author | Jens Scharsig <js_at_ng@scharsoft.de> | 2010-01-23 12:03:45 +0100 |
---|---|---|
committer | Ben Warren <biggerbadderben@gmail.com> | 2010-01-31 22:37:12 -0800 |
commit | c041e9d212162f6c85cd3b6a40ad6ba9d9292451 (patch) | |
tree | f9a2b58cb9922db443bc1b917e39ba9ee578297e /board/atmel | |
parent | 594d57d0ccce649d6ccd881b8d9c5ea8d0c307ef (diff) | |
download | u-boot-imx-c041e9d212162f6c85cd3b6a40ad6ba9d9292451.zip u-boot-imx-c041e9d212162f6c85cd3b6a40ad6ba9d9292451.tar.gz u-boot-imx-c041e9d212162f6c85cd3b6a40ad6ba9d9292451.tar.bz2 |
new at91_emac network driver (NET_MULTI api)
* add's at91_emac (AT91RM9200) network driver (NET_MULTI api)
* enable driver with CONFIG_DRIVER_AT91EMAC
* generic PHY initialization
* modify AT91RM9200 boards to use NET_MULTI driver
* the drivers has been tested with LXT971 Phy and DM9161 Phy at
MII and RMII interface
Signed-off-by: Jens Scharsig <js_at_ng@scharsoft.de>
Signed-off-by: Ben Warren <biggerbadderben@gmail.com>
Diffstat (limited to 'board/atmel')
-rw-r--r-- | board/atmel/at91rm9200dk/at91rm9200dk.c | 15 | ||||
-rw-r--r-- | board/atmel/at91rm9200ek/at91rm9200ek.c | 14 |
2 files changed, 29 insertions, 0 deletions
diff --git a/board/atmel/at91rm9200dk/at91rm9200dk.c b/board/atmel/at91rm9200dk/at91rm9200dk.c index c761dd7..49b5fe3 100644 --- a/board/atmel/at91rm9200dk/at91rm9200dk.c +++ b/board/atmel/at91rm9200dk/at91rm9200dk.c @@ -23,9 +23,15 @@ */ #include <common.h> +#include <exports.h> +#include <netdev.h> #include <asm/arch/AT91RM9200.h> +#include <asm/io.h> + +#if defined(CONFIG_DRIVER_ETHER) #include <at91rm9200_net.h> #include <dm9161.h> +#endif DECLARE_GLOBAL_DATA_PTR; @@ -95,6 +101,15 @@ void at91rm9200_GetPhyInterface(AT91PS_PhyOps p_phyops) #endif #endif /* CONFIG_DRIVER_ETHER */ +#ifdef CONFIG_DRIVER_AT91EMAC +int board_eth_init(bd_t *bis) +{ + int rc = 0; + rc = at91emac_register(bis, 0); + return rc; +} +#endif + /* * Disk On Chip (NAND) Millenium initialization. * The NAND lives in the CS2* space diff --git a/board/atmel/at91rm9200ek/at91rm9200ek.c b/board/atmel/at91rm9200ek/at91rm9200ek.c index ea684e9..570a09a 100644 --- a/board/atmel/at91rm9200ek/at91rm9200ek.c +++ b/board/atmel/at91rm9200ek/at91rm9200ek.c @@ -23,9 +23,14 @@ */ #include <common.h> +#include <exports.h> +#include <netdev.h> #include <asm/arch/AT91RM9200.h> +#include <asm/io.h> +#if defined(CONFIG_DRIVER_ETHER) #include <at91rm9200_net.h> #include <dm9161.h> +#endif DECLARE_GLOBAL_DATA_PTR; @@ -84,3 +89,12 @@ void at91rm9200_GetPhyInterface(AT91PS_PhyOps p_phyops) p_phyops->AutoNegotiate = dm9161_AutoNegotiate; } #endif + +#ifdef CONFIG_DRIVER_AT91EMAC +int board_eth_init(bd_t *bis) +{ + int rc = 0; + rc = at91emac_register(bis, 0); + return rc; +} +#endif |