|
|
|
@ -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; |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|