From: Nicolas Saenz Julienne Date: Thu, 20 Feb 2020 16:36:31 +0000 (+0100) Subject: net: bcmgenet: Don't set ID_MODE_DIS when not using RGMII X-Git-Tag: v2020.07-rc3~20^2~10 X-Git-Url: https://git.librecmc.org/?a=commitdiff_plain;h=57805f2270c4a47cbc221e0920c58654f7748f0b;p=oweals%2Fu-boot.git net: bcmgenet: Don't set ID_MODE_DIS when not using RGMII 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 Reviewed-by: Florian Fainelli Signed-off-by: Matthias Brugger --- 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));