From 052a70120740c0afe0a33ba58c81ff2e0818fcea Mon Sep 17 00:00:00 2001 From: Jean-Christophe PLAGNIOL-VILLARD Date: Sun, 14 Oct 2012 16:25:01 +0200 Subject: [PATCH] net:designware: allow to pass the phy interface If none set use NA (0) as before. Signed-off-by: Jean-Christophe PLAGNIOL-VILLARD Signed-off-by: Sascha Hauer --- drivers/net/designware.c | 4 +++- include/net/designware.h | 3 +++ 2 files changed, 6 insertions(+), 1 deletion(-) diff --git a/drivers/net/designware.c b/drivers/net/designware.c index 44cd15b43..510ffd6e2 100644 --- a/drivers/net/designware.c +++ b/drivers/net/designware.c @@ -53,6 +53,7 @@ struct dw_eth_dev { struct eth_mac_regs *mac_regs_p; struct eth_dma_regs *dma_regs_p; int phy_addr; + phy_interface_t interface; }; /* Speed specific definitions */ @@ -262,7 +263,7 @@ static int dwc_ether_open(struct eth_device *dev) int ret; ret = phy_device_connect(dev, &priv->miibus, priv->phy_addr, - dwc_update_linkspeed, 0, PHY_INTERFACE_MODE_NA); + dwc_update_linkspeed, 0, priv->interface); if (ret) return ret; @@ -433,6 +434,7 @@ static int dwc_ether_probe(struct device_d *dev) edev->set_ethaddr = dwc_ether_set_ethaddr; priv->phy_addr = pdata->phy_addr; + priv->interface = pdata->interface; miibus->read = dwc_ether_mii_read; miibus->write = dwc_ether_mii_write; miibus->priv = priv; diff --git a/include/net/designware.h b/include/net/designware.h index 1c8a00edf..3f31c9761 100644 --- a/include/net/designware.h +++ b/include/net/designware.h @@ -1,8 +1,11 @@ #ifndef __DWC_UNIMAC_H #define __DWC_UNIMAC_H +#include + struct dwc_ether_platform_data { int phy_addr; + phy_interface_t interface; void (*fix_mac_speed)(int speed); };