]> git.ipfire.org Git - thirdparty/linux.git/commitdiff
net: bcmgenet: update PHY power down
authorDoug Berger <opendmb@gmail.com>
Sat, 14 Jun 2025 02:58:16 +0000 (19:58 -0700)
committerJakub Kicinski <kuba@kernel.org>
Tue, 17 Jun 2025 23:15:23 +0000 (16:15 -0700)
The disable sequence in bcmgenet_phy_power_set() is updated to
match the inverse sequence and timing (and spacing) of the
enable sequence. This ensures that LEDs driven by the GENET IP
are disabled when the GPHY is powered down.

Signed-off-by: Doug Berger <opendmb@gmail.com>
Signed-off-by: Florian Fainelli <florian.fainelli@broadcom.com>
Reviewed-by: Simon Horman <horms@kernel.org>
Link: https://patch.msgid.link/20250614025817.3808354-1-florian.fainelli@broadcom.com
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
drivers/net/ethernet/broadcom/genet/bcmmii.c

index b6437ba7a2eb1150009c212c3bde0c102bdda9e2..573e8b279e52f7f08118048660e8b1d8815ea1ab 100644 (file)
@@ -169,10 +169,15 @@ void bcmgenet_phy_power_set(struct net_device *dev, bool enable)
 
                        reg &= ~EXT_GPHY_RESET;
                } else {
+                       reg |= EXT_GPHY_RESET;
+                       bcmgenet_ext_writel(priv, reg, EXT_GPHY_CTRL);
+                       mdelay(1);
+
                        reg |= EXT_CFG_IDDQ_BIAS | EXT_CFG_PWR_DOWN |
-                              EXT_GPHY_RESET | EXT_CFG_IDDQ_GLOBAL_PWR;
+                              EXT_CFG_IDDQ_GLOBAL_PWR;
                        bcmgenet_ext_writel(priv, reg, EXT_GPHY_CTRL);
                        mdelay(1);
+
                        reg |= EXT_CK25_DIS;
                }
                bcmgenet_ext_writel(priv, reg, EXT_GPHY_CTRL);