From: wdc Date: Wed, 6 Nov 2013 10:30:21 +0000 (+0800) Subject: 29_vmac: Add phy number port select for switch X-Git-Tag: firefly_0821_release~6503 X-Git-Url: http://demsky.eecs.uci.edu/git/?a=commitdiff_plain;h=f42a0e1962e7514a79682263192dc6d1f076db0d;p=firefly-linux-kernel-4.4.55.git 29_vmac: Add phy number port select for switch --- diff --git a/arch/arm/configs/rk3188_ac_defconfig b/arch/arm/configs/rk3188_ac_defconfig index e1d22889ee02..8ab27a2e5277 100644 --- a/arch/arm/configs/rk3188_ac_defconfig +++ b/arch/arm/configs/rk3188_ac_defconfig @@ -208,6 +208,7 @@ CONFIG_DM_UEVENT=y CONFIG_NETDEVICES=y CONFIG_NET_ETHERNET=y CONFIG_RK29_VMAC=y +CONFIG_PHY_PORT_NUM=5 # CONFIG_NETDEV_1000 is not set # CONFIG_NETDEV_10000 is not set CONFIG_WLAN_80211=y diff --git a/drivers/net/eth_mac/Kconfig b/drivers/net/eth_mac/Kconfig index 667aaa10a665..933563ae521b 100755 --- a/drivers/net/eth_mac/Kconfig +++ b/drivers/net/eth_mac/Kconfig @@ -38,3 +38,14 @@ choice endchoice +config PHY_PORT_NUM + int "phy port number selected (More than one port on Switch)" + depends on RK29_VMAC + default 0 + help + 0:phy dev 0:00 + 1:phy dev 0:01 + 2:phy dev 0:02 + ---More--- + + diff --git a/drivers/net/rk29_vmac.c b/drivers/net/rk29_vmac.c index d5c24dcfec1e..8a134a5a31c7 100755 --- a/drivers/net/rk29_vmac.c +++ b/drivers/net/rk29_vmac.c @@ -184,6 +184,11 @@ static int __devinit vmac_mii_probe(struct net_device *dev) //unsigned long clock_rate; int phy_addr, err; + +#if defined (CONFIG_PHY_PORT_NUM) && (CONFIG_PHY_PORT_NUM != 0) + if (ap->mii_bus->phy_map[CONFIG_PHY_PORT_NUM]) + phydev = ap->mii_bus->phy_map[CONFIG_PHY_PORT_NUM]; +#else /* find the first phy */ for (phy_addr = 0; phy_addr < PHY_MAX_ADDR; phy_addr++) { if (ap->mii_bus->phy_map[phy_addr]) { @@ -191,6 +196,7 @@ static int __devinit vmac_mii_probe(struct net_device *dev) break; } } +#endif if (!phydev) { dev_err(&dev->dev, "no PHY found\n");