]> git.itanic.dy.fi Git - linux-stable/commit
net: phy: Add 1000BASE-KX interface mode
authorSean Anderson <sean.anderson@seco.com>
Fri, 2 Sep 2022 22:02:39 +0000 (18:02 -0400)
committerDavid S. Miller <davem@davemloft.net>
Mon, 5 Sep 2022 13:30:42 +0000 (14:30 +0100)
commit05ad5d4581c3c1cc724fe50d4652833fb9f3037b
treeaaf17b642d240573d059b468e800e8e288ac879f
parentab526eaa84b90963a54f4f22891a11ef7288196c
net: phy: Add 1000BASE-KX interface mode

Add 1000BASE-KX interface mode. This 1G backplane ethernet as described in
clause 70. Clause 73 autonegotiation is mandatory, and only full duplex
operation is supported.

Although at the PMA level this interface mode is identical to
1000BASE-X, it uses a different form of in-band autonegation. This
justifies a separate interface mode, since the interface mode (along
with the MLO_AN_* autonegotiation mode) sets the type of autonegotiation
which will be used on a link. This results in more than just electrical
differences between the link modes.

With regard to 1000BASE-X, 1000BASE-KX holds a similar position to
SGMII: same signaling, but different autonegotiation. PCS drivers
(which typically handle in-band autonegotiation) may only support
1000BASE-X, and not 1000BASE-KX. Similarly, the phy mode is used to
configure serdes phys with phy_set_mode_ext. Due to the different
electrical standards (SFI or XFI vs Clause 70), they will likely want to
use different configuration. Adding a phy interface mode for
1000BASE-KX helps simplify configuration in these areas.

Signed-off-by: Sean Anderson <sean.anderson@seco.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Documentation/networking/phy.rst
drivers/net/phy/phy-core.c
drivers/net/phy/phylink.c
include/linux/phy.h