ag71xx: dump additional registers in debug mode
[librecmc/librecmc.git] / target / linux / ar71xx / files / drivers / net / ag71xx / ag71xx_phy.c
index e44bea4f1e4842907851d3a52c2017ee3de87ea6..9173b48ad56bf7f4e82dbfa12b9f1ad64c76162c 100644 (file)
@@ -100,14 +100,14 @@ static void ag71xx_phy_link_update(struct ag71xx *ag)
        ifctl &= ~(MAC_IFCTL_SPEED);
 
        fifo5 = ag71xx_rr(ag, AG71XX_REG_FIFO_CFG5);
-       fifo5 &= ~FIFO_CFG5_BYTE_PER_CLK;
+       fifo5 &= ~FIFO_CFG5_BM;
 
        switch (ag->speed) {
        case SPEED_1000:
                mii_speed =  MII_CTRL_SPEED_1000;
                cfg2 |= MAC_CFG2_IF_1000;
                pll = PLL_VAL_1000;
-               fifo5 |= FIFO_CFG5_BYTE_PER_CLK;
+               fifo5 |= FIFO_CFG5_BM;
                break;
        case SPEED_100:
                mii_speed = MII_CTRL_SPEED_100;
@@ -140,15 +140,19 @@ static void ag71xx_phy_link_update(struct ag71xx *ag)
                        ag71xx_speed_str(ag),
                        (DUPLEX_FULL == ag->duplex) ? "Full" : "Half");
 
-       DBG("%s: fifo1=%#x, fifo2=%#x, fifo3=%#x, fifo4=%#x, fifo5=%#x\n",
+       DBG("%s: fifo_cfg0=%#x, fifo_cfg1=%#x, fifo_cfg2=%#x\n",
                ag->dev->name,
+               ag71xx_rr(ag, AG71XX_REG_FIFO_CFG0),
                ag71xx_rr(ag, AG71XX_REG_FIFO_CFG1),
-               ag71xx_rr(ag, AG71XX_REG_FIFO_CFG2),
+               ag71xx_rr(ag, AG71XX_REG_FIFO_CFG2));
+
+       DBG("%s: fifo_cfg3=%#x, fifo_cfg4=%#x, fifo_cfg5=%#x\n",
+               ag->dev->name,
                ag71xx_rr(ag, AG71XX_REG_FIFO_CFG3),
                ag71xx_rr(ag, AG71XX_REG_FIFO_CFG4),
                ag71xx_rr(ag, AG71XX_REG_FIFO_CFG5));
 
-       DBG("%s: mac_cfg2=%#x, ifctl=%#x, mii_ctrl=%#x\n",
+       DBG("%s: mac_cfg2=%#x, mac_ifctl=%#x, mii_ctrl=%#x\n",
                ag->dev->name,
                ag71xx_rr(ag, AG71XX_REG_MAC_CFG2),
                ag71xx_rr(ag, AG71XX_REG_MAC_IFCTL),
@@ -255,13 +259,10 @@ int ag71xx_phy_connect(struct ag71xx *ag)
                }
 
                /* mask with MAC supported features */
-               phydev->supported &= (SUPPORTED_10baseT_Half
-                       | SUPPORTED_10baseT_Full
-                       | SUPPORTED_100baseT_Half
-                       | SUPPORTED_100baseT_Full
-                       | SUPPORTED_Autoneg
-                       | SUPPORTED_MII
-                       | SUPPORTED_TP);
+               if (pdata->has_gbit)
+                       phydev->supported &= PHY_GBIT_FEATURES;
+               else
+                       phydev->supported &= PHY_BASIC_FEATURES;
 
                phydev->advertising = phydev->supported;