]> bbs.cooldavid.org Git - net-next-2.6.git/blobdiff - drivers/net/stmmac/stmmac_mdio.c
stmmac: add CSR Clock range selection
[net-next-2.6.git] / drivers / net / stmmac / stmmac_mdio.c
index 03dea1401571e960a822661e15f0fc44402ad572..d7441616357d292a7f67d4777299dd74025a8ca4 100644 (file)
@@ -53,7 +53,7 @@ static int stmmac_mdio_read(struct mii_bus *bus, int phyaddr, int phyreg)
        int data;
        u16 regValue = (((phyaddr << 11) & (0x0000F800)) |
                        ((phyreg << 6) & (0x000007C0)));
-       regValue |= MII_BUSY;   /* in case of GMAC */
+       regValue |= MII_BUSY | ((priv->mii_clk_csr & 7) << 2);
 
        do {} while (((readl(priv->ioaddr + mii_address)) & MII_BUSY) == 1);
        writel(regValue, priv->ioaddr + mii_address);
@@ -85,7 +85,8 @@ static int stmmac_mdio_write(struct mii_bus *bus, int phyaddr, int phyreg,
            (((phyaddr << 11) & (0x0000F800)) | ((phyreg << 6) & (0x000007C0)))
            | MII_WRITE;
 
-       value |= MII_BUSY;
+       value |= MII_BUSY | ((priv->mii_clk_csr & 7) << 2);
+
 
        /* Wait until any existing MII operation is complete */
        do {} while (((readl(priv->ioaddr + mii_address)) & MII_BUSY) == 1);