net: phy: realtek: configure SerDes mode for rtl822xb PHYs
authorAlexander Couzens <lynxis@fe80.eu>
Tue, 9 Apr 2024 07:30:11 +0000 (09:30 +0200)
committerDavid S. Miller <davem@davemloft.net>
Fri, 12 Apr 2024 09:18:17 +0000 (10:18 +0100)
commitdeb8af5243504e379878ae3f9a091b21422d65b2
tree269eea94a8ca3a6e6998894692f101b6c484feea
parentaf74be9fb08bc53e346d682f8ecc5beafa2ec0af
net: phy: realtek: configure SerDes mode for rtl822xb PHYs

The rtl8221b and rtl8226b series support switching SerDes mode between
2500base-x and sgmii based on the negotiated copper speed.

Configure this switching mode according to SerDes modes supported by
host.

There is an additional datasheet for RTL8226B/RTL8221B called
"SERDES MODE SETTING FLOW APPLICATION NOTE" where a sequence is
described to setup interface and rate adapter mode.

However, there is no documentation about the meaning of registers
and bits, it's literally just magic numbers and pseudo-code.

Signed-off-by: Alexander Couzens <lynxis@fe80.eu>
[ refactored, dropped HiSGMII mode and changed commit message ]
Signed-off-by: Marek BehĂșn <kabel@kernel.org>
[ changed rtl822x_update_interface() to use vendor register ]
[ always fill in possible interfaces ]
[ only apply to rtl8221b and rtl8226b phy's ]
[ set phydev->rate_matching in .config_init() ]
Signed-off-by: Eric Woudstra <ericwouds@gmail.com>
Reviewed-by: Russell King (Oracle) <rmk+kernel@armlinux.org.uk>
Reviewed-by: should come before them, without any blank lines. As the
Signed-off-by: David S. Miller <davem@davemloft.net>
drivers/net/phy/realtek.c