All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH] net: bcmgenet: Don't set ID_MODE_DIS when not using RGMII
@ 2020-02-20 16:36 Nicolas Saenz Julienne
  2020-02-20 17:48 ` Nicolas Saenz Julienne
                   ` (2 more replies)
  0 siblings, 3 replies; 8+ messages in thread
From: Nicolas Saenz Julienne @ 2020-02-20 16:36 UTC (permalink / raw)
  To: u-boot

As per Linux's driver, ID_MODE_DIS is only set when the PHY interface is
RGMII. Don't enable it for the rest of setups.

This has been seen to misconfigure RPi4's PHY when booting Linux.

Signed-off-by: Nicolas Saenz Julienne <nsaenzjulienne@suse.de>
---
 drivers/net/bcmgenet.c | 5 ++++-
 1 file changed, 4 insertions(+), 1 deletion(-)

diff --git a/drivers/net/bcmgenet.c b/drivers/net/bcmgenet.c
index 8f4848aec6..e971b556ac 100644
--- a/drivers/net/bcmgenet.c
+++ b/drivers/net/bcmgenet.c
@@ -448,7 +448,10 @@ static int bcmgenet_adjust_link(struct bcmgenet_eth_priv *priv)
 	}
 
 	clrsetbits_32(priv->mac_reg + EXT_RGMII_OOB_CTRL, OOB_DISABLE,
-			RGMII_LINK | RGMII_MODE_EN | ID_MODE_DIS);
+			RGMII_LINK | RGMII_MODE_EN);
+
+	if (phy_dev->interface == PHY_INTERFACE_MODE_RGMII)
+		setbits_32(priv->mac_reg + EXT_RGMII_OOB_CTRL, ID_MODE_DIS);
 
 	writel(speed << CMD_SPEED_SHIFT, (priv->mac_reg + UMAC_CMD));
 
-- 
2.25.0

^ permalink raw reply related	[flat|nested] 8+ messages in thread

end of thread, other threads:[~2020-03-11 15:23 UTC | newest]

Thread overview: 8+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2020-02-20 16:36 [PATCH] net: bcmgenet: Don't set ID_MODE_DIS when not using RGMII Nicolas Saenz Julienne
2020-02-20 17:48 ` Nicolas Saenz Julienne
2020-03-11 15:23   ` Nicolas Saenz Julienne
2020-02-20 18:58 ` Matthias Brugger
2020-02-21 10:54   ` Nicolas Saenz Julienne
2020-02-21 11:02     ` Nicolas Saenz Julienne
2020-02-20 19:05 ` Florian Fainelli
2020-02-21 10:57   ` Nicolas Saenz Julienne

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.