diff options
Diffstat (limited to 'target/linux/bcm27xx/patches-5.4/950-0478-net-bcmgenet-Clear-ID_MODE_DIS-in-EXT_RGMII_OOB_CTRL.patch')
-rw-r--r-- | target/linux/bcm27xx/patches-5.4/950-0478-net-bcmgenet-Clear-ID_MODE_DIS-in-EXT_RGMII_OOB_CTRL.patch | 32 |
1 files changed, 32 insertions, 0 deletions
diff --git a/target/linux/bcm27xx/patches-5.4/950-0478-net-bcmgenet-Clear-ID_MODE_DIS-in-EXT_RGMII_OOB_CTRL.patch b/target/linux/bcm27xx/patches-5.4/950-0478-net-bcmgenet-Clear-ID_MODE_DIS-in-EXT_RGMII_OOB_CTRL.patch new file mode 100644 index 0000000000..9d8090441a --- /dev/null +++ b/target/linux/bcm27xx/patches-5.4/950-0478-net-bcmgenet-Clear-ID_MODE_DIS-in-EXT_RGMII_OOB_CTRL.patch @@ -0,0 +1,32 @@ +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; |