aboutsummaryrefslogtreecommitdiffstats
path: root/target/linux/bcm4908/patches-5.15/701-net-dsa-bcm_sf2-keep-GPHY-enabled-on-the-BCM4908.patch
blob: e78b4a47d70cf5a4ba88060b67c9297e2d67ec5d (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
From: =?UTF-8?q?Rafa=C5=82=20Mi=C5=82ecki?= <rafal@milecki.pl>
Date: Tue, 16 Feb 2021 00:06:35 +0100
Subject: [PATCH] net: dsa: bcm_sf2: keep GPHY enabled on the BCM4908

Trying to access disabled PHY results in MDIO_READ_FAIL and:
[   11.962886] brcm-sf2 80080000.switch wan: configuring for phy/internal link mode
[   11.972500] 8021q: adding VLAN 0 to HW filter on device wan
[   11.980205] ------------[ cut here ]------------
[   11.984885] WARNING: CPU: 0 PID: 7 at phy_error+0x10/0x58

Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
---
 drivers/net/dsa/bcm_sf2.c | 6 ++++++
 1 file changed, 6 insertions(+)

--- a/drivers/net/dsa/bcm_sf2.c
+++ b/drivers/net/dsa/bcm_sf2.c
@@ -1552,6 +1552,12 @@ static int bcm_sf2_sw_probe(struct platf
 		 priv->hw_params.core_rev >> 8, priv->hw_params.core_rev & 0xff,
 		 priv->irq0, priv->irq1);
 
+	/* BCM4908 has 5 GPHYs which means bcm_sf2_port_setup() will not enable
+	 * GPHY when needed. Leave it enabled here.
+	 */
+	if (priv->type == BCM4908_DEVICE_ID)
+		bcm_sf2_gphy_enable_set(priv->dev->ds, true);
+
 	return 0;
 
 out_mdio: