Skip to content

Commit

Permalink
net: phy: BCM54210PE does not support PTP
Browse files Browse the repository at this point in the history
BCM54213PE is an Ethernet PHY that supports PTP hardware timestamping.
BCM54210PW ia another Ethernet PHY, but one without PTP support.
Unfortunately the two PHYs return the same ID when queried, so some
extra information is required to determine whether the PHY is PTP-
capable.

There are two Raspberry Pi products that use these PHYs - Pi 4B and
CM4 - and fortunately they use different PHY addresses, so use that as
a differentiator. Choose to treat a PHY with the same ID but another
address as a BCM54210PE, which seems more common.

See: #5104

Signed-off-by: Phil Elwell <[email protected]>
  • Loading branch information
pelwell authored and popcornmix committed Nov 7, 2022
1 parent ace1bc7 commit 0deefc5
Showing 1 changed file with 12 additions and 0 deletions.
12 changes: 12 additions & 0 deletions drivers/net/phy/bcm-phy-ptp.c
Original file line number Diff line number Diff line change
Expand Up @@ -916,6 +916,18 @@ struct bcm_ptp_private *bcm_ptp_probe(struct phy_device *phydev)
switch (BRCM_PHY_MODEL(phydev)) {
case PHY_ID_BCM54210E:
break;
#ifdef PHY_ID_BCM54213PE
case PHY_ID_BCM54213PE:
switch (phydev->mdio.addr) {
case 0: // CM4 - this is a BCM54210PE which supports PTP
break;
case 1: // 4B - this is a BCM54213PE which doesn't
return NULL;
default: // Unknown - assume it's BCM54210PE
break;
}
break;
#endif
default:
return NULL;
}
Expand Down

0 comments on commit 0deefc5

Please sign in to comment.