From 843d5c17972c78ac3d07235b86e9fe337da64b1f Mon Sep 17 00:00:00 2001 From: Michal Simek Date: Mon, 24 Sep 2012 12:51:26 +0200 Subject: [PATCH] net: zynq_gem: Wire-up zynq gem driver Use mainline zynq-gem driver. Signed-off-by: Michal Simek --- board/xilinx/zynq_common/board.c | 15 +++++++++++++-- include/configs/zynq_common.h | 18 ++++++++++++++++++ include/configs/zynq_ep107.h | 5 ++--- include/configs/zynq_zc70x.h | 5 ++--- include/configs/zynq_zc770.h | 11 +++++++---- include/configs/zynq_zed.h | 5 ++--- 6 files changed, 44 insertions(+), 15 deletions(-) diff --git a/board/xilinx/zynq_common/board.c b/board/xilinx/zynq_common/board.c index 17543e956d5..4f108abd0ae 100644 --- a/board/xilinx/zynq_common/board.c +++ b/board/xilinx/zynq_common/board.c @@ -54,7 +54,7 @@ Xilinx_desc fpga = XILINX_XC7Z020_DESC(0); int board_init(void) { - /* temporary hack to clear pending irqs before Linux as it + /* temporary hack to clear pending irqs before Linux as it will hang Linux */ XIo_Out32(0xe0001014, 0x26d); @@ -110,7 +110,18 @@ int board_late_init (void) #ifdef CONFIG_CMD_NET int board_eth_init(bd_t *bis) { - return 0; + u32 ret = 0; + +#if defined(CONFIG_ZYNQ_GEM) +# if defined(CONFIG_ZYNQ_GEM_BASEADDR0) + ret |= zynq_gem_initialize(bis, CONFIG_ZYNQ_GEM_BASEADDR0); +# endif +# if defined(CONFIG_ZYNQ_GEM_BASEADDR1) + ret |= zynq_gem_initialize(bis, CONFIG_ZYNQ_GEM_BASEADDR1); +# endif +#endif + + return ret; } #endif diff --git a/include/configs/zynq_common.h b/include/configs/zynq_common.h index a38b39043f5..d7fae391596 100644 --- a/include/configs/zynq_common.h +++ b/include/configs/zynq_common.h @@ -45,6 +45,24 @@ #define CONFIG_ZYNQ_SERIAL #endif +/* Ethernet driver */ +#ifdef CONFIG_ZYNQ_GEM0 +# define CONFIG_ZYNQ_GEM_BASEADDR0 0xE000B000 +#endif + +#ifdef CONFIG_ZYNQ_GEM1 +# define CONFIG_ZYNQ_GEM_BASEADDR1 0xE000C000 +#endif + +#if defined(CONFIG_ZYNQ_GEM0) || defined(CONFIG_ZYNQ_GEM1) +# define CONFIG_NET_MULTI +# define CONFIG_ZYNQ_GEM +# define CONFIG_MII +# define CONFIG_SYS_FAULT_ECHO_LINK_DOWN +# define CONFIG_PHYLIB +# define CONFIG_PHY_MARVELL +#endif + #include #define CONFIG_SYS_TEXT_BASE 0x04000000 diff --git a/include/configs/zynq_ep107.h b/include/configs/zynq_ep107.h index b869fd95981..2411f7de22f 100644 --- a/include/configs/zynq_ep107.h +++ b/include/configs/zynq_ep107.h @@ -21,6 +21,8 @@ #define CONFIG_EP107 /* Board */ #define CONFIG_ZYNQ_SERIAL_UART0 +#define CONFIG_ZYNQ_GEM0 +#define CONFIG_PHY_ADDR 23 #include @@ -116,9 +118,6 @@ /* HW to use */ #define CONFIG_TTC0 -#define CONFIG_GEM0 -#define CONFIG_ZYNQ_GEM -#define CONFIG_XGMAC_PHY_ADDR 0x17 /* * Physical Memory map diff --git a/include/configs/zynq_zc70x.h b/include/configs/zynq_zc70x.h index e9c156a802b..017836c9dfb 100644 --- a/include/configs/zynq_zc70x.h +++ b/include/configs/zynq_zc70x.h @@ -19,6 +19,8 @@ #define __CONFIG_ZYNQ_ZC70X_H #define CONFIG_ZYNQ_SERIAL_UART1 +#define CONFIG_ZYNQ_GEM0 +#define CONFIG_PHY_ADDR 7 #include @@ -49,9 +51,6 @@ /* HW to use */ #define CONFIG_TTC0 -#define CONFIG_GEM0 -#define CONFIG_ZYNQ_GEM -#define CONFIG_XGMAC_PHY_ADDR 0x7 /* * Physical Memory map diff --git a/include/configs/zynq_zc770.h b/include/configs/zynq_zc770.h index e9fc4f70703..c60ec851025 100644 --- a/include/configs/zynq_zc770.h +++ b/include/configs/zynq_zc770.h @@ -21,6 +21,8 @@ #if defined(CONFIG_ZC770_XM010) # define CONFIG_ZYNQ_SERIAL_UART1 +# define CONFIG_ZYNQ_GEM0 +# define CONFIG_PHY_ADDR 7 #elif defined(CONFIG_ZC770_XM011) # define CONFIG_ZYNQ_SERIAL_UART1 @@ -28,6 +30,11 @@ #elif defined(CONFIG_ZC770_XM012) # define CONFIG_ZYNQ_SERIAL_UART1 +#elif defined(CONFIG_ZC770_XM013) +# define CONFIG_ZYNQ_SERIAL_UART0 +# define CONFIG_ZYNQ_GEM1 +# define CONFIG_PHY_ADDR 7 + #else # define CONFIG_ZYNQ_SERIAL_UART0 #endif @@ -103,8 +110,6 @@ */ #if defined(CONFIG_ZC770_XM010) || defined(CONFIG_ZC770_XM013) #define CONFIG_CMD_PING -#define CONFIG_ZYNQ_GEM -#define CONFIG_XGMAC_PHY_ADDR 0x7 #else #undef CONFIG_CMD_NET #undef CONFIG_CMD_NFS @@ -128,13 +133,11 @@ #endif #if defined(CONFIG_ZC770_XM013) -#define CONFIG_GEM1 #define CONFIG_TTC1 #define CONFIG_SPI_FLASH_SPANSION #endif #if defined(CONFIG_ZC770_XM010) -#define CONFIG_GEM0 #define CONFIG_TTC0 #define CONFIG_SPI_FLASH_STMICRO #endif diff --git a/include/configs/zynq_zed.h b/include/configs/zynq_zed.h index ed67ef840b3..0d2eb3df4f0 100644 --- a/include/configs/zynq_zed.h +++ b/include/configs/zynq_zed.h @@ -19,6 +19,8 @@ #define __CONFIG_ZYNQ_ZED_H #define CONFIG_ZYNQ_SERIAL_UART1 +#define CONFIG_ZYNQ_GEM0 +#define CONFIG_PHY_ADDR 0 #include @@ -74,9 +76,6 @@ /* HW to use */ #define CONFIG_TTC0 -#define CONFIG_GEM0 -#define CONFIG_ZYNQ_GEM -#define CONFIG_XGMAC_PHY_ADDR 0 /* * Physical Memory map -- 2.47.3