]> git.ipfire.org Git - thirdparty/kernel/linux.git/commit
net: phy: dp83867: Always program R/SGMII enable bits
authorSean Anderson <sean.anderson@linux.dev>
Thu, 29 Jan 2026 17:12:05 +0000 (12:12 -0500)
committerJakub Kicinski <kuba@kernel.org>
Tue, 3 Feb 2026 01:19:53 +0000 (17:19 -0800)
commit3d0721cfcf57a65518c4fded1712882f05c33642
tree0490b11b9b92cc9f5eb3a1246c2668f8cf05f0bb
parentd700b2a440518b087af2808b7db9ab091ed53a4a
net: phy: dp83867: Always program R/SGMII enable bits

If the board designers have neglected to populate the appropriate
resistors on the strapping pins then the phy may default to the wrong
interface mode. Enable/disable the RGMII/SGMII enable bits as necessary
to select the correct interface.

The dp83867 strapping pins have four levels and typically configure two
features at once. LED_0 controls both port mirroring and whether SGMII
is enabled. If it is pulled to VDDIO, both port mirroring and SGMII
will be enabled. For variants of the dp83867 that do not support SGMII,
this will prevent data from being transferred. As we now explicitly set
the SGMII and RGMII enable bits, we do not need to detect whether SGMII
has been inadvertently enabled.

Signed-off-by: Sean Anderson <sean.anderson@linux.dev>
Link: https://patch.msgid.link/20260129171205.3868605-3-sean.anderson@linux.dev
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
drivers/net/phy/dp83867.c