SPEAr: Configure network support for spear SoCs
authorVipin KUMAR <vipin.kumar@st.com>
Mon, 7 May 2012 07:36:42 +0000 (13:06 +0530)
committerAlbert ARIBAUD <albert.u.boot@aribaud.net>
Sat, 7 Jul 2012 12:07:40 +0000 (14:07 +0200)
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>
arch/arm/include/asm/arch-spear/hardware.h
board/spear/spear300/spear300.c
board/spear/spear310/spear310.c
board/spear/spear320/spear320.c
board/spear/spear600/spear600.c
include/configs/spear-common.h
include/configs/spear3xx.h

index a6517b2..70fc030 100644 (file)
@@ -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)
index 72a3631..2283ad5 100644 (file)
@@ -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
+}
index 14e666d..043a9f3 100644 (file)
@@ -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
+}
index 994eb2b..1b6f362 100644 (file)
@@ -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
+}
index ab0f760..d18d313 100644 (file)
@@ -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
+}
index 75cc5ff..669d83e 100644 (file)
  * 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
 #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
index 2a86c21..035b321 100644 (file)
@@ -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