1PHY_POLL_RESET(9) Network device support PHY_POLL_RESET(9)
2
3
4
6 phy_poll_reset - Safely wait until a PHY reset has properly completed
7
9 int phy_poll_reset(struct phy_device * phydev);
10
12 phydev
13 The PHY device to poll
14
16 According to IEEE 802.3, Section 2, Subsection 22.2.4.1.1, as published
17 in 2008, a PHY reset may take up to 0.5 seconds. The MII BMCR register
18 must be polled until the BMCR_RESET bit clears.
19
20 Furthermore, any attempts to write to PHY registers may have no effect
21 or even generate MDIO bus errors until this is complete.
22
23 Some PHYs (such as the Marvell 88E1111) don't entirely conform to the
24 standard and do not fully reset after the BMCR_RESET bit is set, and
25 may even *REQUIRE* a soft-reset to properly restart autonegotiation. In
26 an effort to support such broken PHYs, this function is separate from
27 the standard phy_init_hw which will zero all the other bits in the BMCR
28 and reapply all driver-specific and board-specific fixups.
29
31Kernel Hackers Manual 3.10 June 2019 PHY_POLL_RESET(9)