Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 7f106c1d authored by Lennert Buytenhek's avatar Lennert Buytenhek Committed by Lennert Buytenhek
Browse files

mv643xx_eth: use symbolic MII register addresses and values



Instead of hardcoding MII register addresses and values, use the
symbolic constants defined in linux/mii.h.

Signed-off-by: default avatarLennert Buytenhek <buytenh@marvell.com>
parent cd4ccf76
Loading
Loading
Loading
Loading
+10 −10
Original line number Diff line number Diff line
@@ -1831,14 +1831,14 @@ static void phy_reset(struct mv643xx_eth_private *mp)
{
	unsigned int data;

	smi_reg_read(mp, mp->phy_addr, 0, &data);
	data |= 0x8000;
	smi_reg_write(mp, mp->phy_addr, 0, data);
	smi_reg_read(mp, mp->phy_addr, MII_BMCR, &data);
	data |= BMCR_RESET;
	smi_reg_write(mp, mp->phy_addr, MII_BMCR, data);

	do {
		udelay(1);
		smi_reg_read(mp, mp->phy_addr, 0, &data);
	} while (data & 0x8000);
		smi_reg_read(mp, mp->phy_addr, MII_BMCR, &data);
	} while (data & BMCR_RESET);
}

static void port_start(struct mv643xx_eth_private *mp)
@@ -2385,14 +2385,14 @@ static int phy_detect(struct mv643xx_eth_private *mp)
	unsigned int data;
	unsigned int data2;

	smi_reg_read(mp, mp->phy_addr, 0, &data);
	smi_reg_write(mp, mp->phy_addr, 0, data ^ 0x1000);
	smi_reg_read(mp, mp->phy_addr, MII_BMCR, &data);
	smi_reg_write(mp, mp->phy_addr, MII_BMCR, data ^ BMCR_ANENABLE);

	smi_reg_read(mp, mp->phy_addr, 0, &data2);
	if (((data ^ data2) & 0x1000) == 0)
	smi_reg_read(mp, mp->phy_addr, MII_BMCR, &data2);
	if (((data ^ data2) & BMCR_ANENABLE) == 0)
		return -ENODEV;

	smi_reg_write(mp, mp->phy_addr, 0, data);
	smi_reg_write(mp, mp->phy_addr, MII_BMCR, data);

	return 0;
}