net: phy: Add 5GBASER interface mode
authorPavana Sharma <pavana.sharma@digi.com>
Tue, 16 Feb 2021 19:20:53 +0000 (20:20 +0100)
committerDavid S. Miller <davem@davemloft.net>
Tue, 16 Feb 2021 22:15:12 +0000 (14:15 -0800)
Add 5GBASE-R phy interface mode

Signed-off-by: Pavana Sharma <pavana.sharma@digi.com>
Reviewed-by: Andrew Lunn <andrew@lunn.ch>
Reviewed-by: Florian Fainelli <f.fainelli@gmail.com>
Signed-off-by: Marek BehĂșn <kabel@kernel.org>
Signed-off-by: David S. Miller <davem@davemloft.net>
Documentation/networking/phy.rst
include/linux/phy.h

index 70136cc9e25e4a58a65d01006bf9697008169595..06adfc2afcf023d2c860e9b7bffbc4d552c57f56 100644 (file)
@@ -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
index 5d7c4084ade99402b501b2783573f4dd36675417..0d537f59b77f783b988d7f1413b63b28ca2e3487 100644 (file)
@@ -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: