net: dsa: b53: allow RGMII for bcm63xx RGMII ports
authorJonas Gorski <jonas.gorski@gmail.com>
Mon, 2 Jun 2025 19:39:52 +0000 (21:39 +0200)
committerPaolo Abeni <pabeni@redhat.com>
Thu, 5 Jun 2025 09:07:35 +0000 (11:07 +0200)
Add RGMII to supported interfaces for BCM63xx RGMII ports so they can be
actually used in RGMII mode.

Without this, phylink will fail to configure them:

[    3.580000] b53-switch 10700000.switch GbE3 (uninitialized): validation of rgmii with support 0000000,00000000,00000000,000062ff and advertisement 0000000,00000000,00000000,000062ff failed: -EINVAL
[    3.600000] b53-switch 10700000.switch GbE3 (uninitialized): failed to connect to PHY: -EINVAL
[    3.610000] b53-switch 10700000.switch GbE3 (uninitialized): error -22 setting up PHY for tree 0, switch 0, port 4

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

index 3f4934f..be4493b 100644 (file)
@@ -1439,6 +1439,10 @@ static void b53_phylink_get_caps(struct dsa_switch *ds, int port,
        __set_bit(PHY_INTERFACE_MODE_MII, config->supported_interfaces);
        __set_bit(PHY_INTERFACE_MODE_REVMII, config->supported_interfaces);
 
+       /* BCM63xx RGMII ports support RGMII */
+       if (is63xx(dev) && in_range(port, B53_63XX_RGMII0, 4))
+               phy_interface_set_rgmii(config->supported_interfaces);
+
        config->mac_capabilities = MAC_ASYM_PAUSE | MAC_SYM_PAUSE |
                MAC_10 | MAC_100;