Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

Merge branch 'Add-5gbase-r-PHY-interface-mode'

Marek Behún says:

====================-
Add 5gbase-r PHY interface mode

there is still some testing needed for Amethyst patches, so I have
split the part adding support for 5gbase-r interface mode and am sending
it alone.

The first two patches are already reviewed.

Changes since last patches (Amethyst v16):
- added phylink 5gbase-r handler
- added SFP support for 5gbase-r mode
====================

Signed-off-by: David S. Miller <davem@davemloft.net>

+18
+1
Documentation/devicetree/bindings/net/ethernet-controller.yaml
··· 89 89 - trgmii 90 90 - 1000base-x 91 91 - 2500base-x 92 + - 5gbase-r 92 93 - rxaui 93 94 - xaui 94 95
+6
Documentation/networking/phy.rst
··· 267 267 duplex, pause or other settings. This is dependent on the MAC and/or 268 268 PHY behaviour. 269 269 270 + ``PHY_INTERFACE_MODE_5GBASER`` 271 + This is the IEEE 802.3 Clause 129 defined 5GBASE-R protocol. It is 272 + identical to the 10GBASE-R protocol defined in Clause 49, with the 273 + exception that it operates at half the frequency. Please refer to the 274 + IEEE standard for the definition. 275 + 270 276 ``PHY_INTERFACE_MODE_10GBASER`` 271 277 This is the IEEE 802.3 Clause 49 defined 10GBASE-R protocol used with 272 278 various different mediums. Please refer to the IEEE standard for a
+4
drivers/net/phy/phylink.c
··· 306 306 phylink_set(pl->supported, 2500baseX_Full); 307 307 break; 308 308 309 + case PHY_INTERFACE_MODE_5GBASER: 310 + phylink_set(pl->supported, 5000baseT_Full); 311 + break; 312 + 309 313 case PHY_INTERFACE_MODE_USXGMII: 310 314 case PHY_INTERFACE_MODE_10GKR: 311 315 case PHY_INTERFACE_MODE_10GBASER:
+3
drivers/net/phy/sfp-bus.c
··· 400 400 phylink_test(link_modes, 10000baseT_Full)) 401 401 return PHY_INTERFACE_MODE_10GBASER; 402 402 403 + if (phylink_test(link_modes, 5000baseT_Full)) 404 + return PHY_INTERFACE_MODE_5GBASER; 405 + 403 406 if (phylink_test(link_modes, 2500baseX_Full)) 404 407 return PHY_INTERFACE_MODE_2500BASEX; 405 408
+4
include/linux/phy.h
··· 107 107 * @PHY_INTERFACE_MODE_100BASEX: 100 BaseX 108 108 * @PHY_INTERFACE_MODE_1000BASEX: 1000 BaseX 109 109 * @PHY_INTERFACE_MODE_2500BASEX: 2500 BaseX 110 + * @PHY_INTERFACE_MODE_5GBASER: 5G BaseR 110 111 * @PHY_INTERFACE_MODE_RXAUI: Reduced XAUI 111 112 * @PHY_INTERFACE_MODE_XAUI: 10 Gigabit Attachment Unit Interface 112 113 * @PHY_INTERFACE_MODE_10GBASER: 10G BaseR ··· 140 139 PHY_INTERFACE_MODE_100BASEX, 141 140 PHY_INTERFACE_MODE_1000BASEX, 142 141 PHY_INTERFACE_MODE_2500BASEX, 142 + PHY_INTERFACE_MODE_5GBASER, 143 143 PHY_INTERFACE_MODE_RXAUI, 144 144 PHY_INTERFACE_MODE_XAUI, 145 145 /* 10GBASE-R, XFI, SFI - single lane 10G Serdes */ ··· 211 209 return "1000base-x"; 212 210 case PHY_INTERFACE_MODE_2500BASEX: 213 211 return "2500base-x"; 212 + case PHY_INTERFACE_MODE_5GBASER: 213 + return "5gbase-r"; 214 214 case PHY_INTERFACE_MODE_RXAUI: 215 215 return "rxaui"; 216 216 case PHY_INTERFACE_MODE_XAUI: