]> git.kernelconcepts.de Git - karo-tx-uboot.git/blobdiff - common/miiphyutil.c
ARM Update mach-types
[karo-tx-uboot.git] / common / miiphyutil.c
index eac8275a40562d2b8aea688ddfabf781e591a26e..4b186dd28c0ce02a939d3f908afd7c810f7d5a5c 100644 (file)
@@ -29,7 +29,6 @@
 #include <common.h>
 #include <miiphy.h>
 
-#if defined(CONFIG_MII) || defined(CONFIG_CMD_MII)
 #include <asm/types.h>
 #include <linux/list.h>
 #include <malloc.h>
@@ -294,13 +293,13 @@ int miiphy_info (char *devname, unsigned char addr, unsigned int *oui,
 int miiphy_reset (char *devname, unsigned char addr)
 {
        unsigned short reg;
-       int loop_cnt;
+       int timeout = 500;
 
        if (miiphy_read (devname, addr, PHY_BMCR, &reg) != 0) {
                debug ("PHY status read failed\n");
                return (-1);
        }
-       if (miiphy_write (devname, addr, PHY_BMCR, reg | 0x8000) != 0) {
+       if (miiphy_write (devname, addr, PHY_BMCR, reg | PHY_BMCR_RESET) != 0) {
                debug ("PHY reset failed\n");
                return (-1);
        }
@@ -312,13 +311,13 @@ int miiphy_reset (char *devname, unsigned char addr)
         * auto-clearing).  This should happen within 0.5 seconds per the
         * IEEE spec.
         */
-       loop_cnt = 0;
        reg = 0x8000;
-       while (((reg & 0x8000) != 0) && (loop_cnt++ < 1000000)) {
-               if (miiphy_read (devname, addr, PHY_BMCR, &reg) != 0) {
-                       debug ("PHY status read failed\n");
-                       return (-1);
+       while (((reg & 0x8000) != 0) && timeout--) {
+               if (miiphy_read(devname, addr, PHY_BMCR, &reg) != 0) {
+                       debug("PHY status read failed\n");
+                       return -1;
                }
+               udelay(1000);
        }
        if ((reg & 0x8000) == 0) {
                return (0);
@@ -378,7 +377,7 @@ int miiphy_speed (char *devname, unsigned char addr)
        /* Get speed from basic control settings. */
        return (bmcr & PHY_BMCR_100MB) ? _100BASET : _10BASET;
 
-      miiphy_read_failed:
+miiphy_read_failed:
        printf (" read failed, assuming 10BASE-T\n");
        return _10BASET;
 }
@@ -437,7 +436,7 @@ int miiphy_duplex (char *devname, unsigned char addr)
        /* Get speed from basic control settings. */
        return (bmcr & PHY_BMCR_DPLX) ? FULL : HALF;
 
-      miiphy_read_failed:
+miiphy_read_failed:
        printf (" read failed, assuming half duplex\n");
        return HALF;
 }
@@ -463,7 +462,7 @@ int miiphy_is_1000base_x (char *devname, unsigned char addr)
 #endif
 }
 
-#ifdef CFG_FAULT_ECHO_LINK_DOWN
+#ifdef CONFIG_SYS_FAULT_ECHO_LINK_DOWN
 /*****************************************************************************
  *
  * Determine link status
@@ -487,4 +486,3 @@ int miiphy_link (char *devname, unsigned char addr)
        }
 }
 #endif
-#endif /* CONFIG_MII */