提交 117cd4cc 编写于 作者: D David Andrey 提交者: Michal Simek

net: gem: Pass phy address to init

Pass the PHY address to the driver init to
allow parallel use of both interfaces
Signed-off-by: NDavid Andrey <david.andrey@netmodule.com>
Signed-off-by: NMichal Simek <michal.simek@xilinx.com>
Reviewed-by: NTom Rini <trini@ti.com>
上级 7193653e
...@@ -42,10 +42,12 @@ int board_eth_init(bd_t *bis) ...@@ -42,10 +42,12 @@ int board_eth_init(bd_t *bis)
#if defined(CONFIG_ZYNQ_GEM) #if defined(CONFIG_ZYNQ_GEM)
# if defined(CONFIG_ZYNQ_GEM0) # if defined(CONFIG_ZYNQ_GEM0)
ret |= zynq_gem_initialize(bis, ZYNQ_GEM_BASEADDR0); ret |= zynq_gem_initialize(bis, ZYNQ_GEM_BASEADDR0,
CONFIG_ZYNQ_GEM_PHY_ADDR0);
# endif # endif
# if defined(CONFIG_ZYNQ_GEM1) # if defined(CONFIG_ZYNQ_GEM1)
ret |= zynq_gem_initialize(bis, ZYNQ_GEM_BASEADDR1); ret |= zynq_gem_initialize(bis, ZYNQ_GEM_BASEADDR1,
CONFIG_ZYNQ_GEM_PHY_ADDR1);
# endif # endif
#endif #endif
return ret; return ret;
......
...@@ -427,7 +427,7 @@ static int zynq_gem_miiphy_write(const char *devname, uchar addr, ...@@ -427,7 +427,7 @@ static int zynq_gem_miiphy_write(const char *devname, uchar addr,
return phywrite(dev, addr, reg, val); return phywrite(dev, addr, reg, val);
} }
int zynq_gem_initialize(bd_t *bis, int base_addr) int zynq_gem_initialize(bd_t *bis, int base_addr, int phy_addr)
{ {
struct eth_device *dev; struct eth_device *dev;
struct zynq_gem_priv *priv; struct zynq_gem_priv *priv;
...@@ -443,11 +443,7 @@ int zynq_gem_initialize(bd_t *bis, int base_addr) ...@@ -443,11 +443,7 @@ int zynq_gem_initialize(bd_t *bis, int base_addr)
} }
priv = dev->priv; priv = dev->priv;
#ifdef CONFIG_PHY_ADDR priv->phyaddr = phy_addr;
priv->phyaddr = CONFIG_PHY_ADDR;
#else
priv->phyaddr = -1;
#endif
sprintf(dev->name, "Gem.%x", base_addr); sprintf(dev->name, "Gem.%x", base_addr);
......
...@@ -54,6 +54,7 @@ ...@@ -54,6 +54,7 @@
#define CONFIG_NET_MULTI #define CONFIG_NET_MULTI
#define CONFIG_ZYNQ_GEM #define CONFIG_ZYNQ_GEM
#define CONFIG_ZYNQ_GEM0 #define CONFIG_ZYNQ_GEM0
#define CONFIG_ZYNQ_GEM_PHY_ADDR0 7
#if defined(CONFIG_ZYNQ_DCC) #if defined(CONFIG_ZYNQ_DCC)
# define CONFIG_ARM_DCC # define CONFIG_ARM_DCC
......
...@@ -104,7 +104,7 @@ int xilinx_emaclite_initialize(bd_t *bis, unsigned long base_addr, ...@@ -104,7 +104,7 @@ int xilinx_emaclite_initialize(bd_t *bis, unsigned long base_addr,
int txpp, int rxpp); int txpp, int rxpp);
int xilinx_ll_temac_eth_init(bd_t *bis, unsigned long base_addr, int flags, int xilinx_ll_temac_eth_init(bd_t *bis, unsigned long base_addr, int flags,
unsigned long ctrl_addr); unsigned long ctrl_addr);
int zynq_gem_initialize(bd_t *bis, int base_addr); int zynq_gem_initialize(bd_t *bis, int base_addr, int phy_addr);
/* /*
* As long as the Xilinx xps_ll_temac ethernet driver has not its own interface * As long as the Xilinx xps_ll_temac ethernet driver has not its own interface
* exported by a public hader file, we need a global definition at this point. * exported by a public hader file, we need a global definition at this point.
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册