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 | |
parent | 594d57d0ccce649d6ccd881b8d9c5ea8d0c307ef (diff) |
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')
-rw-r--r-- | board/atmel/at91rm9200dk/at91rm9200dk.c | 15 | ||||
-rw-r--r-- | board/atmel/at91rm9200ek/at91rm9200ek.c | 14 | ||||
-rw-r--r-- | board/cmc_pu2/cmc_pu2.c | 13 | ||||
-rw-r--r-- | board/csb637/csb637.c | 13 | ||||
-rw-r--r-- | board/eukrea/cpuat91/cpuat91.c | 14 | ||||
-rw-r--r-- | board/kb9202/kb9202.c | 13 | ||||
-rw-r--r-- | board/m501sk/m501sk.c | 14 | ||||
-rw-r--r-- | board/mp2usb/mp2usb.c | 13 |
8 files changed, 109 insertions, 0 deletions
diff --git a/board/atmel/at91rm9200dk/at91rm9200dk.c b/board/atmel/at91rm9200dk/at91rm9200dk.c index c761dd7467d..49b5fe3203d 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 ea684e949d0..570a09a0741 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 diff --git a/board/cmc_pu2/cmc_pu2.c b/board/cmc_pu2/cmc_pu2.c index 3ad756de1c8..0ac851c97f3 100644 --- a/board/cmc_pu2/cmc_pu2.c +++ b/board/cmc_pu2/cmc_pu2.c @@ -30,8 +30,12 @@ #include <common.h> #include <asm/mach-types.h> #include <asm/arch/AT91RM9200.h> +#include <asm/io.h> +#include <netdev.h> +#if defined(CONFIG_DRIVER_ETHER) #include <at91rm9200_net.h> #include <dm9161.h> +#endif DECLARE_GLOBAL_DATA_PTR; @@ -177,3 +181,12 @@ 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 diff --git a/board/csb637/csb637.c b/board/csb637/csb637.c index fbc3c87c5da..d7fdcc4f739 100644 --- a/board/csb637/csb637.c +++ b/board/csb637/csb637.c @@ -23,8 +23,12 @@ #include <common.h> #include <asm/arch/AT91RM9200.h> +#include <netdev.h> +#include <asm/io.h> +#if defined(CONFIG_DRIVER_ETHER) #include <at91rm9200_net.h> #include <bcm5221.h> +#endif DECLARE_GLOBAL_DATA_PTR; @@ -79,3 +83,12 @@ 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 diff --git a/board/eukrea/cpuat91/cpuat91.c b/board/eukrea/cpuat91/cpuat91.c index 1a700b649cc..0017962d420 100644 --- a/board/eukrea/cpuat91/cpuat91.c +++ b/board/eukrea/cpuat91/cpuat91.c @@ -26,9 +26,14 @@ */ #include <common.h> +#include <netdev.h> #include <asm/arch/AT91RM9200.h> +#include <asm/io.h> + +#if defined(CONFIG_DRIVER_ETHER) #include <at91rm9200_net.h> #include <ks8721.h> +#endif DECLARE_GLOBAL_DATA_PTR; @@ -79,3 +84,12 @@ void at91rm9200_GetPhyInterface(AT91PS_PhyOps p_phyops) #endif /* CONFIG_CMD_NET */ #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 diff --git a/board/kb9202/kb9202.c b/board/kb9202/kb9202.c index 59ed8ff6042..3164cc5ac44 100644 --- a/board/kb9202/kb9202.c +++ b/board/kb9202/kb9202.c @@ -28,8 +28,12 @@ #include <common.h> #include <asm/arch/AT91RM9200.h> +#include <asm/io.h> +#include <netdev.h> +#if defined(CONFIG_DRIVER_ETHER) #include <at91rm9200_net.h> #include <lxt971a.h> +#endif DECLARE_GLOBAL_DATA_PTR; @@ -92,3 +96,12 @@ 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 diff --git a/board/m501sk/m501sk.c b/board/m501sk/m501sk.c index 1e6a6056722..c9957684b18 100644 --- a/board/m501sk/m501sk.c +++ b/board/m501sk/m501sk.c @@ -24,8 +24,13 @@ */ #include <common.h> +#include <asm/io.h> +#include <netdev.h> +#if defined(CONFIG_DRIVER_ETHER) #include <at91rm9200_net.h> #include <dm9161.h> +#endif + #include "m501sk.h" #include "net.h" @@ -186,4 +191,13 @@ void at91rm9200_GetPhyInterface(AT91PS_PhyOps p_phyops) } #endif /* CONFIG_CMD_NET */ #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 #endif /* CONFIG_M501SK */ diff --git a/board/mp2usb/mp2usb.c b/board/mp2usb/mp2usb.c index dcda699dc87..e5eba6bbc09 100644 --- a/board/mp2usb/mp2usb.c +++ b/board/mp2usb/mp2usb.c @@ -27,8 +27,12 @@ #include <common.h> #include <asm/arch/AT91RM9200.h> +#include <netdev.h> +#include <asm/io.h> +#if defined(CONFIG_DRIVER_ETHER) #include <at91rm9200_net.h> #include <dm9161.h> +#endif #include <asm/mach-types.h> DECLARE_GLOBAL_DATA_PTR; @@ -83,3 +87,12 @@ 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 |