net: phy: broadcom: Set proper 1000BaseX/SGMII interface mode for BCM54616S
authorRobert Hancock <robert.hancock@calian.com>
Tue, 16 Feb 2021 22:54:52 +0000 (16:54 -0600)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Tue, 30 Mar 2021 12:32:05 +0000 (14:32 +0200)
commit485335a637c8f2909f7c1932b1820d1d9f9db9f8
tree5f9cf79e0c09f812db5e960fd509a7ebcef65ebf
parent837a3ae33459f25ad895e828088b505b60349983
net: phy: broadcom: Set proper 1000BaseX/SGMII interface mode for BCM54616S

[ Upstream commit 3afd0218992a8d1398e9791d6c2edd4c948ae7ee ]

The default configuration for the BCM54616S PHY may not match the desired
mode when using 1000BaseX or SGMII interface modes, such as when it is on
an SFP module. Add code to explicitly set the correct mode using
programming sequences provided by Bel-Fuse:

https://www.belfuse.com/resources/datasheets/powersolutions/ds-bps-sfp-1gbt-05-series.pdf
https://www.belfuse.com/resources/datasheets/powersolutions/ds-bps-sfp-1gbt-06-series.pdf

Signed-off-by: Robert Hancock <robert.hancock@calian.com>
Acked-by: Florian Fainelli <f.fainelli@gmail.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Signed-off-by: Sasha Levin <sashal@kernel.org>
drivers/net/phy/broadcom.c
include/linux/brcmphy.h