You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
33 lines
1.3 KiB
Diff
33 lines
1.3 KiB
Diff
From cff8c5c2a95a4afd65bfa3198258d03bc790cddb Mon Sep 17 00:00:00 2001
|
|
From: Nicolas Saenz Julienne <nsaenzjulienne@suse.de>
|
|
Date: Tue, 25 Feb 2020 14:11:59 +0100
|
|
Subject: [PATCH] net: bcmgenet: Clear ID_MODE_DIS in
|
|
EXT_RGMII_OOB_CTRL when not needed
|
|
|
|
commit 402482a6a78e5c61d8a2ec6311fc5b4aca392cd6 upstream.
|
|
|
|
Outdated Raspberry Pi 4 firmware might configure the external PHY as
|
|
rgmii although the kernel currently sets it as rgmii-rxid. This makes
|
|
connections unreliable as ID_MODE_DIS is left enabled. To avoid this,
|
|
explicitly clear that bit whenever we don't need it.
|
|
|
|
Fixes: da38802211cc ("net: bcmgenet: Add RGMII_RXID support")
|
|
Signed-off-by: Nicolas Saenz Julienne <nsaenzjulienne@suse.de>
|
|
Acked-by: Florian Fainelli <f.fainelli@gmail.com>
|
|
Signed-off-by: David S. Miller <davem@davemloft.net>
|
|
Signed-off-by: Matthias Reichl <hias@horus.com>
|
|
---
|
|
drivers/net/ethernet/broadcom/genet/bcmmii.c | 1 +
|
|
1 file changed, 1 insertion(+)
|
|
|
|
--- a/drivers/net/ethernet/broadcom/genet/bcmmii.c
|
|
+++ b/drivers/net/ethernet/broadcom/genet/bcmmii.c
|
|
@@ -292,6 +292,7 @@ int bcmgenet_mii_config(struct net_devic
|
|
*/
|
|
if (priv->ext_phy) {
|
|
reg = bcmgenet_ext_readl(priv, EXT_RGMII_OOB_CTRL);
|
|
+ reg &= ~ID_MODE_DIS;
|
|
reg |= id_mode_dis;
|
|
if (GENET_IS_V1(priv) || GENET_IS_V2(priv) || GENET_IS_V3(priv))
|
|
reg |= RGMII_MODE_EN_V123;
|