]> www.infradead.org Git - users/dwmw2/linux.git/commitdiff
net: dsa: microchip: lan937x: disable in-band status support for RGMII interfaces
authorLucas Stach <l.stach@pengutronix.de>
Mon, 1 Jul 2024 08:53:42 +0000 (10:53 +0200)
committerDavid S. Miller <davem@davemloft.net>
Wed, 3 Jul 2024 08:13:39 +0000 (09:13 +0100)
This driver do not support in-band mode and in case of CPU<->Switch
link, this mode is not working any way. So, disable it otherwise ingress
path of the switch MAC will stay disabled.

Note: lan9372 manual do not document 0xN301 BIT(2) for the RGMII mode
and recommend[1] to disable in-band link status update for the RGMII RX
path by clearing 0xN302 BIT(0). But, 0xN301 BIT(2) seems to work too, so
keep it unified with other KSZ switches.

[1] https://microchip.my.site.com/s/article/LAN937X-The-required-configuration-for-the-external-MAC-port-to-operate-at-RGMII-to-RGMII-1Gbps-link-speed

Signed-off-by: Lucas Stach <l.stach@pengutronix.de>
Signed-off-by: Oleksij Rempel <o.rempel@pengutronix.de>
Reviewed-by: Vladimir Oltean <olteanv@gmail.com>
Acked-by: Arun Ramadoss <arun.ramadoss@microchip.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
drivers/net/dsa/microchip/ksz_common.c

index baa1eeb9a1b04218c855e81a7c79a54f4fa50627..b074b4bb062964850042634732438682f43e192d 100644 (file)
@@ -3116,7 +3116,8 @@ static void ksz_set_xmii(struct ksz_device *dev, int port,
                /* On KSZ9893, disable RGMII in-band status support */
                if (dev->chip_id == KSZ9893_CHIP_ID ||
                    dev->chip_id == KSZ8563_CHIP_ID ||
-                   dev->chip_id == KSZ9563_CHIP_ID)
+                   dev->chip_id == KSZ9563_CHIP_ID ||
+                   is_lan937x(dev))
                        data8 &= ~P_MII_MAC_MODE;
                break;
        default: