]> git.karo-electronics.de Git - karo-tx-uboot.git/commitdiff
Support autoprobing PHY
authorLothar Waßmann <LW@KARO-electronics.de>
Mon, 18 Jun 2012 11:12:55 +0000 (13:12 +0200)
committerLothar Waßmann <LW@KARO-electronics.de>
Mon, 18 Jun 2012 11:12:55 +0000 (13:12 +0200)
drivers/net/fec_mxc.c

index 1b95976fa7f281f28fb4d1cc38a3fb7a1756b462..3a30fc422ab340687fddce98ee7a04a293bbf5e0 100644 (file)
@@ -391,8 +391,21 @@ static void fec_eth_phy_config(struct eth_device *dev)
        struct fec_priv *fec = (struct fec_priv *)dev->priv;
        struct phy_device *phydev;
 
-       phydev = phy_connect(fec->bus, fec->phy_id, dev,
-                       PHY_INTERFACE_MODE_RGMII);
+       if (fec->phy_id < 0) {
+               int phy_id;
+
+               for (phy_id = 0; phy_id < 32; phy_id++) {
+                       debug("%s: Probing PHY ID %02x\n", __func__, phy_id);
+                       phydev = phy_connect(fec->bus, phy_id, dev,
+                                       PHY_INTERFACE_MODE_RGMII);
+
+                       if (phydev)
+                               break;
+               }
+       } else {
+               phydev = phy_connect(fec->bus, fec->phy_id, dev,
+                               PHY_INTERFACE_MODE_RGMII);
+       }
        if (phydev) {
                fec->phydev = phydev;
                phy_config(phydev);