diff options
| author | Vipin KUMAR <vipin.kumar@st.com> | 2012-05-07 13:06:42 +0530 | 
|---|---|---|
| committer | Albert ARIBAUD <albert.u.boot@aribaud.net> | 2012-07-07 14:07:40 +0200 | 
| commit | deb005622782bf568a4daa8daeb8adf95b606492 (patch) | |
| tree | a868876e4370f76b7b85866a0c7e8e4e814c4960 | |
| parent | 8026b1e42f533f14115bb629efeaaedec6eaf23b (diff) | |
| download | olio-uboot-2014.01-deb005622782bf568a4daa8daeb8adf95b606492.tar.xz olio-uboot-2014.01-deb005622782bf568a4daa8daeb8adf95b606492.zip | |
SPEAr: Configure network support for spear SoCs
Signed-off-by: Vipin Kumar <vipin.kumar@st.com>
Signed-off-by: Amit Virdi <amit.virdi@st.com>
Signed-off-by: Stefan Roese <sr@denx.de>
| -rw-r--r-- | arch/arm/include/asm/arch-spear/hardware.h | 1 | ||||
| -rw-r--r-- | board/spear/spear300/spear300.c | 10 | ||||
| -rw-r--r-- | board/spear/spear310/spear310.c | 10 | ||||
| -rw-r--r-- | board/spear/spear320/spear320.c | 10 | ||||
| -rw-r--r-- | board/spear/spear600/spear600.c | 10 | ||||
| -rw-r--r-- | include/configs/spear-common.h | 14 | ||||
| -rw-r--r-- | include/configs/spear3xx.h | 3 | 
7 files changed, 56 insertions, 2 deletions
| diff --git a/arch/arm/include/asm/arch-spear/hardware.h b/arch/arm/include/asm/arch-spear/hardware.h index a6517b218..70fc03035 100644 --- a/arch/arm/include/asm/arch-spear/hardware.h +++ b/arch/arm/include/asm/arch-spear/hardware.h @@ -31,6 +31,7 @@  #define CONFIG_SPEAR_SYSCNTLBASE		(0xFCA00000)  #define CONFIG_SPEAR_TIMERBASE			(0xFC800000)  #define CONFIG_SPEAR_MISCBASE			(0xFCA80000) +#define CONFIG_SPEAR_ETHBASE			0xE0800000  #define CONFIG_SYS_NAND_CLE			(1 << 16)  #define CONFIG_SYS_NAND_ALE			(1 << 17) diff --git a/board/spear/spear300/spear300.c b/board/spear/spear300/spear300.c index 72a363140..2283ad5dd 100644 --- a/board/spear/spear300/spear300.c +++ b/board/spear/spear300/spear300.c @@ -22,6 +22,7 @@   */  #include <common.h> +#include <netdev.h>  #include <nand.h>  #include <asm/io.h>  #include <linux/mtd/fsmc_nand.h> @@ -60,3 +61,12 @@ void board_nand_init()  #endif  	return;  } + +int board_eth_init(bd_t *bis) +{ +#if defined(CONFIG_DESIGNWARE_ETH) +	return designware_initialize(0, CONFIG_SPEAR_ETHBASE, CONFIG_DW0_PHY); +#else +	return -1; +#endif +} diff --git a/board/spear/spear310/spear310.c b/board/spear/spear310/spear310.c index 14e666d64..043a9f3ae 100644 --- a/board/spear/spear310/spear310.c +++ b/board/spear/spear310/spear310.c @@ -23,6 +23,7 @@   */  #include <common.h> +#include <netdev.h>  #include <nand.h>  #include <asm/io.h>  #include <linux/mtd/fsmc_nand.h> @@ -61,3 +62,12 @@ void board_nand_init()  #endif  	return;  } + +int board_eth_init(bd_t *bis) +{ +#if defined(CONFIG_DESIGNWARE_ETH) +	return designware_initialize(0, CONFIG_SPEAR_ETHBASE, CONFIG_DW0_PHY); +#else +	return -1; +#endif +} diff --git a/board/spear/spear320/spear320.c b/board/spear/spear320/spear320.c index 994eb2b64..1b6f362b5 100644 --- a/board/spear/spear320/spear320.c +++ b/board/spear/spear320/spear320.c @@ -23,6 +23,7 @@   */  #include <common.h> +#include <netdev.h>  #include <nand.h>  #include <asm/io.h>  #include <linux/mtd/fsmc_nand.h> @@ -62,3 +63,12 @@ void board_nand_init()  	return;  } + +int board_eth_init(bd_t *bis) +{ +#if defined(CONFIG_DESIGNWARE_ETH) +	return designware_initialize(0, CONFIG_SPEAR_ETHBASE, CONFIG_DW0_PHY); +#else +	return -1; +#endif +} diff --git a/board/spear/spear600/spear600.c b/board/spear/spear600/spear600.c index ab0f76067..d18d313b2 100644 --- a/board/spear/spear600/spear600.c +++ b/board/spear/spear600/spear600.c @@ -22,6 +22,7 @@   */  #include <common.h> +#include <netdev.h>  #include <nand.h>  #include <asm/io.h>  #include <linux/mtd/fsmc_nand.h> @@ -55,3 +56,12 @@ void board_nand_init()  #endif  	return;  } + +int board_eth_init(bd_t *bis) +{ +#if defined(CONFIG_DESIGNWARE_ETH) +	return designware_initialize(0, CONFIG_SPEAR_ETHBASE, CONFIG_DW0_PHY); +#else +	return -1; +#endif +} diff --git a/include/configs/spear-common.h b/include/configs/spear-common.h index 75cc5fff6..669d83eb7 100644 --- a/include/configs/spear-common.h +++ b/include/configs/spear-common.h @@ -27,6 +27,14 @@   * Common configurations used for both spear3xx as well as spear6xx   */ +/* Ethernet driver configuration */ +#define CONFIG_MII +#define CONFIG_DESIGNWARE_ETH +#define CONFIG_DW_SEARCH_PHY +#define CONFIG_DW0_PHY				1 +#define CONFIG_NET_MULTI +#define CONFIG_PHY_RESET_DELAY			10000		/* in usec */ +  /* USBD driver configuration */  #define CONFIG_DW_UDC  #define CONFIG_USB_DEVICE @@ -104,11 +112,13 @@  #define CONFIG_CMD_MEMORY  #define CONFIG_CMD_RUN  #define CONFIG_CMD_SAVES +#define CONFIG_CMD_NET +#define CONFIG_CMD_MII +#define CONFIG_CMD_PING +#define CONFIG_CMD_DHCP  /* This must be included AFTER the definition of CONFIG_COMMANDS (if any) */  #include <config_cmd_default.h> -#undef CONFIG_CMD_NET -#undef CONFIG_CMD_NFS  /*   * Default Environment Varible definitions diff --git a/include/configs/spear3xx.h b/include/configs/spear3xx.h index 2a86c2125..035b32129 100644 --- a/include/configs/spear3xx.h +++ b/include/configs/spear3xx.h @@ -41,6 +41,9 @@  #include <configs/spear-common.h> +/* Ethernet driver configuration */ +#define CONFIG_DW_ALTDESCRIPTOR			1 +  /* Serial Configuration (PL011) */  #define CONFIG_SYS_SERIAL0			0xD0000000 |