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>
This commit is contained in:
commit
884b6b8ab4
@ -89,6 +89,7 @@ properties:
|
||||
- trgmii
|
||||
- 1000base-x
|
||||
- 2500base-x
|
||||
- 5gbase-r
|
||||
- rxaui
|
||||
- xaui
|
||||
|
||||
|
@ -267,6 +267,12 @@ Some of the interface modes are described below:
|
||||
duplex, pause or other settings. This is dependent on the MAC and/or
|
||||
PHY behaviour.
|
||||
|
||||
``PHY_INTERFACE_MODE_5GBASER``
|
||||
This is the IEEE 802.3 Clause 129 defined 5GBASE-R protocol. It is
|
||||
identical to the 10GBASE-R protocol defined in Clause 49, with the
|
||||
exception that it operates at half the frequency. Please refer to the
|
||||
IEEE standard for the definition.
|
||||
|
||||
``PHY_INTERFACE_MODE_10GBASER``
|
||||
This is the IEEE 802.3 Clause 49 defined 10GBASE-R protocol used with
|
||||
various different mediums. Please refer to the IEEE standard for a
|
||||
|
@ -306,6 +306,10 @@ static int phylink_parse_mode(struct phylink *pl, struct fwnode_handle *fwnode)
|
||||
phylink_set(pl->supported, 2500baseX_Full);
|
||||
break;
|
||||
|
||||
case PHY_INTERFACE_MODE_5GBASER:
|
||||
phylink_set(pl->supported, 5000baseT_Full);
|
||||
break;
|
||||
|
||||
case PHY_INTERFACE_MODE_USXGMII:
|
||||
case PHY_INTERFACE_MODE_10GKR:
|
||||
case PHY_INTERFACE_MODE_10GBASER:
|
||||
|
@ -400,6 +400,9 @@ phy_interface_t sfp_select_interface(struct sfp_bus *bus,
|
||||
phylink_test(link_modes, 10000baseT_Full))
|
||||
return PHY_INTERFACE_MODE_10GBASER;
|
||||
|
||||
if (phylink_test(link_modes, 5000baseT_Full))
|
||||
return PHY_INTERFACE_MODE_5GBASER;
|
||||
|
||||
if (phylink_test(link_modes, 2500baseX_Full))
|
||||
return PHY_INTERFACE_MODE_2500BASEX;
|
||||
|
||||
|
@ -107,6 +107,7 @@ extern const int phy_10gbit_features_array[1];
|
||||
* @PHY_INTERFACE_MODE_100BASEX: 100 BaseX
|
||||
* @PHY_INTERFACE_MODE_1000BASEX: 1000 BaseX
|
||||
* @PHY_INTERFACE_MODE_2500BASEX: 2500 BaseX
|
||||
* @PHY_INTERFACE_MODE_5GBASER: 5G BaseR
|
||||
* @PHY_INTERFACE_MODE_RXAUI: Reduced XAUI
|
||||
* @PHY_INTERFACE_MODE_XAUI: 10 Gigabit Attachment Unit Interface
|
||||
* @PHY_INTERFACE_MODE_10GBASER: 10G BaseR
|
||||
@ -139,6 +140,7 @@ typedef enum {
|
||||
PHY_INTERFACE_MODE_100BASEX,
|
||||
PHY_INTERFACE_MODE_1000BASEX,
|
||||
PHY_INTERFACE_MODE_2500BASEX,
|
||||
PHY_INTERFACE_MODE_5GBASER,
|
||||
PHY_INTERFACE_MODE_RXAUI,
|
||||
PHY_INTERFACE_MODE_XAUI,
|
||||
/* 10GBASE-R, XFI, SFI - single lane 10G Serdes */
|
||||
@ -209,6 +211,8 @@ static inline const char *phy_modes(phy_interface_t interface)
|
||||
return "1000base-x";
|
||||
case PHY_INTERFACE_MODE_2500BASEX:
|
||||
return "2500base-x";
|
||||
case PHY_INTERFACE_MODE_5GBASER:
|
||||
return "5gbase-r";
|
||||
case PHY_INTERFACE_MODE_RXAUI:
|
||||
return "rxaui";
|
||||
case PHY_INTERFACE_MODE_XAUI:
|
||||
|
Loading…
Reference in New Issue
Block a user