mirror of
https://git.openwrt.org/openwrt/openwrt.git
synced 2024-11-22 04:56:15 +00:00
8c405cdccc
The patches were generated from the RPi repo with the following command: git format-patch v6.6.34..rpi-6.1.y Some patches needed rebasing and, as usual, the applied and reverted, wireless drivers, Github workflows, READMEs and defconfigs patches were removed. Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
45 lines
1.5 KiB
Diff
45 lines
1.5 KiB
Diff
From b83c7a2d6f5a79238473ca588687ab956e9180f5 Mon Sep 17 00:00:00 2001
|
|
From: Phil Elwell <phil@raspberrypi.com>
|
|
Date: Sat, 5 Nov 2022 11:46:08 +0000
|
|
Subject: [PATCH 0394/1085] net: phy: BCM54210PE does not support PTP
|
|
|
|
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: https://github.com/raspberrypi/linux/issues/5104
|
|
|
|
Signed-off-by: Phil Elwell <phil@raspberrypi.com>
|
|
---
|
|
drivers/net/phy/bcm-phy-ptp.c | 12 ++++++++++++
|
|
1 file changed, 12 insertions(+)
|
|
|
|
--- a/drivers/net/phy/bcm-phy-ptp.c
|
|
+++ b/drivers/net/phy/bcm-phy-ptp.c
|
|
@@ -916,6 +916,18 @@ struct bcm_ptp_private *bcm_ptp_probe(st
|
|
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;
|
|
}
|