]> git.ipfire.org Git - thirdparty/kernel/stable.git/commitdiff
net: dsa: b53: do not enable RGMII delay on bcm63xx
authorJonas Gorski <jonas.gorski@gmail.com>
Mon, 2 Jun 2025 19:39:50 +0000 (21:39 +0200)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Thu, 19 Jun 2025 13:32:19 +0000 (15:32 +0200)
[ Upstream commit 4af523551d876ab8b8057d1e5303a860fd736fcb ]

bcm63xx's RGMII ports are always in MAC mode, never in PHY mode, so we
shouldn't enable any delays and let the PHY handle any delays as
necessary.

This fixes using RGMII ports with normal PHYs like BCM54612E, which will
handle the delay in the PHY.

Fixes: ce3bf94871f7 ("net: dsa: b53: add support for BCM63xx RGMIIs")
Signed-off-by: Jonas Gorski <jonas.gorski@gmail.com>
Reviewed-by: Florian Fainelli <florian.fainelli@broadcom.com>
Link: https://patch.msgid.link/20250602193953.1010487-3-jonas.gorski@gmail.com
Signed-off-by: Paolo Abeni <pabeni@redhat.com>
Signed-off-by: Sasha Levin <sashal@kernel.org>
drivers/net/dsa/b53/b53_common.c

index 0168ad495e6c908bd968d8964a640c155d2ccdce..2747a507e3ce9606645e1f8360fab27ce4dc4a73 100644 (file)
@@ -1326,24 +1326,7 @@ static void b53_adjust_63xx_rgmii(struct dsa_switch *ds, int port,
                off = B53_RGMII_CTRL_P(port);
 
        b53_read8(dev, B53_CTRL_PAGE, off, &rgmii_ctrl);
-
-       switch (interface) {
-       case PHY_INTERFACE_MODE_RGMII_ID:
-               rgmii_ctrl |= (RGMII_CTRL_DLL_RXC | RGMII_CTRL_DLL_TXC);
-               break;
-       case PHY_INTERFACE_MODE_RGMII_RXID:
-               rgmii_ctrl &= ~(RGMII_CTRL_DLL_TXC);
-               rgmii_ctrl |= RGMII_CTRL_DLL_RXC;
-               break;
-       case PHY_INTERFACE_MODE_RGMII_TXID:
-               rgmii_ctrl &= ~(RGMII_CTRL_DLL_RXC);
-               rgmii_ctrl |= RGMII_CTRL_DLL_TXC;
-               break;
-       case PHY_INTERFACE_MODE_RGMII:
-       default:
-               rgmii_ctrl &= ~(RGMII_CTRL_DLL_RXC | RGMII_CTRL_DLL_TXC);
-               break;
-       }
+       rgmii_ctrl &= ~(RGMII_CTRL_DLL_RXC | RGMII_CTRL_DLL_TXC);
 
        if (port != dev->imp_port) {
                if (is63268(dev))