net: phy: dp83822: Fix reset pin definitions
authorMichel Alex <Alex.Michel@wiedemann-group.com>
Wed, 16 Oct 2024 12:11:15 +0000 (12:11 +0000)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Fri, 1 Nov 2024 00:58:33 +0000 (01:58 +0100)
commit de96f6a3003513c796bbe4e23210a446913f5c00 upstream.

This change fixes a rare issue where the PHY fails to detect a link
due to incorrect reset behavior.

The SW_RESET definition was incorrectly assigned to bit 14, which is the
Digital Restart bit according to the datasheet. This commit corrects
SW_RESET to bit 15 and assigns DIG_RESTART to bit 14 as per the
datasheet specifications.

The SW_RESET define is only used in the phy_reset function, which fully
re-initializes the PHY after the reset is performed. The change in the
bit definitions should not have any negative impact on the functionality
of the PHY.

v2:
- added Fixes tag
- improved commit message

Cc: stable@vger.kernel.org
Fixes: 5dc39fd5ef35 ("net: phy: DP83822: Add ability to advertise Fiber connection")
Signed-off-by: Alex Michel <alex.michel@wiedemann-group.com>
Reviewed-by: Andrew Lunn <andrew@lunn.ch>
Message-ID: <AS1P250MB0608A798661549BF83C4B43EA9462@AS1P250MB0608.EURP250.PROD.OUTLOOK.COM>
Signed-off-by: Andrew Lunn <andrew@lunn.ch>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/net/phy/dp83822.c

index 29e1cbea6dc0c3180cf465b2f2ce11d077e1a344..507726a08f82d1ef6fb965d3f674f8fd94ed8371 100644 (file)
@@ -40,8 +40,8 @@
 /* Control Register 2 bits */
 #define DP83822_FX_ENABLE      BIT(14)
 
-#define DP83822_HW_RESET       BIT(15)
-#define DP83822_SW_RESET       BIT(14)
+#define DP83822_SW_RESET       BIT(15)
+#define DP83822_DIG_RESTART    BIT(14)
 
 /* PHY STS bits */
 #define DP83822_PHYSTS_DUPLEX                  BIT(2)