net: phy: bcm-phy-lib: Implement BroadR-Reach link modes
authorKamil Horák (2N) <kamilh@axis.com>
Fri, 12 Jul 2024 15:07:09 +0000 (17:07 +0200)
committerJakub Kicinski <kuba@kernel.org>
Mon, 15 Jul 2024 03:38:35 +0000 (20:38 -0700)
commit03ab6c244bb0ced0a67b86399a282987740bb116
treea349d3f6474612530a0af4d138a0da608a3cadc0
parent775631d7845b34996ceb0d975725c16d9a414430
net: phy: bcm-phy-lib: Implement BroadR-Reach link modes

Implement single-pair BroadR-Reach modes on bcm5481x PHY by Broadcom.
Create set of functions alternative to IEEE 802.3 to handle
configuration of these modes on compatible Broadcom PHYs.
There is only subset of capabilities supported because of limited
collection of hardware available for the development.
For BroadR-Reach capable PHYs, the LRE (Long Reach Ethernet)
alternative register set is handled. Only bcm54811 PHY is verified,
for bcm54810, there is some support possible but untested. There
is no auto-negotiation of the link parameters (called LDS in the
Broadcom terminology, Long-Distance Signaling) for bcm54811.
It should be possible to enable LDS for bcm54810.

Signed-off-by: Kamil Horák (2N) <kamilh@axis.com>
Reviewed-by: Andrew Lunn <andrew@lunn.ch>
Reviewed-by: Florian Fainelli <florian.fainelli@broadcom.com>
Link: https://patch.msgid.link/20240712150709.3134474-5-kamilh@axis.com
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
drivers/net/phy/bcm-phy-lib.c
drivers/net/phy/bcm-phy-lib.h
drivers/net/phy/broadcom.c