summaryrefslogtreecommitdiff
path: root/package/switch/src/switch-robo.c
diff options
context:
space:
mode:
Diffstat (limited to 'package/switch/src/switch-robo.c')
-rw-r--r--package/switch/src/switch-robo.c6
1 files changed, 4 insertions, 2 deletions
diff --git a/package/switch/src/switch-robo.c b/package/switch/src/switch-robo.c
index 779b89f615..5733d5024e 100644
--- a/package/switch/src/switch-robo.c
+++ b/package/switch/src/switch-robo.c
@@ -41,6 +41,7 @@
#define ROBO_PHY_ADDR 0x1E /* robo switch phy address */
#define ROBO_PHY_ADDR_TG3 0x01 /* Tigon3 PHY address */
+#define ROBO_PHY_ADDR_BCM63XX 0x00 /* BCM63XX PHY address */
/* MII registers */
#define REG_MII_PAGE 0x10 /* MII Page register */
@@ -318,13 +319,14 @@ static int robo_probe(char *devname)
/* got phy address check for robo address */
struct mii_ioctl_data *mii = (struct mii_ioctl_data *) &robo.ifr.ifr_data;
if ((mii->phy_id != ROBO_PHY_ADDR) &&
+ (mii->phy_id != ROBO_PHY_ADDR_BCM63XX) &&
(mii->phy_id != ROBO_PHY_ADDR_TG3)) {
printk("Invalid phy address (%d)\n", mii->phy_id);
return 1;
}
robo.use_et = 0;
/* The robo has a fixed PHY address that is different from the
- * Tigon3 PHY address. */
+ * Tigon3 and BCM63xx PHY address. */
robo.phy_addr = ROBO_PHY_ADDR;
}
@@ -332,7 +334,7 @@ static int robo_probe(char *devname)
(mdio_read(robo.phy_addr, 0x3) << 16);
if (phyid == 0xffffffff || phyid == 0x55210022) {
- printk("No Robo switch in managed mode found\n");
+ printk("No Robo switch in managed mode found, phy_id = 0x%08x\n", phyid);
return 1;
}