[PATCH net-next 0/4] Add 25G BASE-R support

STALE1891d

14 messages, 4 authors, 2021-06-12 · open the first message on its own page

[PATCH net-next 0/4] Add 25G BASE-R support

From: Steen Hegelund <steen.hegelund@microchip.com>
Date: 2021-06-11 12:55:08

This series add the 25G BASE-R mode to the set modes supported.
This mode is used by the Sparx5 Switch for its 25G SerDes.

Steen Hegelund (4):
  dt-bindings: net: Add 25G BASE-R phy interface
  net: phy: Add 25G BASE-R interface mode
  net: sfp: add support for 25G BASE-R SFPs
  net: phylink: Add 25G BASE-R support

 .../devicetree/bindings/net/ethernet-controller.yaml        | 1 +
 Documentation/networking/phy.rst                            | 6 ++++++
 drivers/net/phy/phylink.c                                   | 5 +++++
 drivers/net/phy/sfp-bus.c                                   | 5 +++++
 include/linux/phy.h                                         | 4 ++++
 5 files changed, 21 insertions(+)

-- 
2.32.0

[PATCH net-next 1/4] dt-bindings: net: Add 25G BASE-R phy interface

From: Steen Hegelund <steen.hegelund@microchip.com>
Date: 2021-06-11 12:55:11

Add 25gbase-r PHY interface mode.

Signed-off-by: Steen Hegelund <steen.hegelund@microchip.com>
Signed-off-by: Bjarni Jonasson <redacted>
---
 Documentation/devicetree/bindings/net/ethernet-controller.yaml | 1 +
 1 file changed, 1 insertion(+)
diff --git a/Documentation/devicetree/bindings/net/ethernet-controller.yaml b/Documentation/devicetree/bindings/net/ethernet-controller.yaml
index d97b561003ed..b0933a8c295a 100644
--- a/Documentation/devicetree/bindings/net/ethernet-controller.yaml
+++ b/Documentation/devicetree/bindings/net/ethernet-controller.yaml
@@ -98,6 +98,7 @@ properties:
       - 10gbase-kr
       - usxgmii
       - 10gbase-r
+      - 25gbase-r
 
   phy-mode:
     $ref: "#/properties/phy-connection-type"
-- 
2.32.0

[PATCH net-next 2/4] net: phy: Add 25G BASE-R interface mode

From: Steen Hegelund <steen.hegelund@microchip.com>
Date: 2021-06-11 12:55:15

Add 25gbase-r phy interface mode

Signed-off-by: Steen Hegelund <steen.hegelund@microchip.com>
Signed-off-by: Bjarni Jonasson <redacted>
---
 Documentation/networking/phy.rst | 6 ++++++
 include/linux/phy.h              | 4 ++++
 2 files changed, 10 insertions(+)
diff --git a/Documentation/networking/phy.rst b/Documentation/networking/phy.rst
index 3f05d50ecd6e..571ba08386e7 100644
--- a/Documentation/networking/phy.rst
+++ b/Documentation/networking/phy.rst
@@ -292,6 +292,12 @@ Some of the interface modes are described below:
     Note: due to legacy usage, some 10GBASE-R usage incorrectly makes
     use of this definition.
 
+``PHY_INTERFACE_MODE_25GBASER``
+    This is the IEEE 802.3 PCS Clause 107 defined 25GBASE-R protocol.
+    The PCS is identical to 10GBASE-R, i.e. 64B/66B encoded
+    running 2.5 as fast, giving a fixed bit rate of 25.78125 Gbaud.
+    Please refer to the IEEE standard for further information.
+
 ``PHY_INTERFACE_MODE_100BASEX``
     This defines IEEE 802.3 Clause 24.  The link operates at a fixed data
     rate of 125Mpbs using a 4B/5B encoding scheme, resulting in an underlying
diff --git a/include/linux/phy.h b/include/linux/phy.h
index ed332ac92e25..70a1399ff454 100644
--- a/include/linux/phy.h
+++ b/include/linux/phy.h
@@ -112,6 +112,7 @@ extern const int phy_10gbit_features_array[1];
  * @PHY_INTERFACE_MODE_RXAUI: Reduced XAUI
  * @PHY_INTERFACE_MODE_XAUI: 10 Gigabit Attachment Unit Interface
  * @PHY_INTERFACE_MODE_10GBASER: 10G BaseR
+ * @PHY_INTERFACE_MODE_25GBASER: 25G BaseR
  * @PHY_INTERFACE_MODE_USXGMII:  Universal Serial 10GE MII
  * @PHY_INTERFACE_MODE_10GKR: 10GBASE-KR - with Clause 73 AN
  * @PHY_INTERFACE_MODE_MAX: Book keeping
@@ -147,6 +148,7 @@ typedef enum {
 	PHY_INTERFACE_MODE_XAUI,
 	/* 10GBASE-R, XFI, SFI - single lane 10G Serdes */
 	PHY_INTERFACE_MODE_10GBASER,
+	PHY_INTERFACE_MODE_25GBASER,
 	PHY_INTERFACE_MODE_USXGMII,
 	/* 10GBASE-KR - with Clause 73 AN */
 	PHY_INTERFACE_MODE_10GKR,
@@ -223,6 +225,8 @@ static inline const char *phy_modes(phy_interface_t interface)
 		return "xaui";
 	case PHY_INTERFACE_MODE_10GBASER:
 		return "10gbase-r";
+	case PHY_INTERFACE_MODE_25GBASER:
+		return "25gbase-r";
 	case PHY_INTERFACE_MODE_USXGMII:
 		return "usxgmii";
 	case PHY_INTERFACE_MODE_10GKR:
-- 
2.32.0

[PATCH net-next 3/4] net: sfp: add support for 25G BASE-R SFPs

From: Steen Hegelund <steen.hegelund@microchip.com>
Date: 2021-06-11 12:55:18

Add support for 25gbase-r modules. This is needed for the Sparx5 switch.

Signed-off-by: Steen Hegelund <steen.hegelund@microchip.com>
Signed-off-by: Bjarni Jonasson <redacted>
---
 drivers/net/phy/sfp-bus.c | 5 +++++
 1 file changed, 5 insertions(+)
diff --git a/drivers/net/phy/sfp-bus.c b/drivers/net/phy/sfp-bus.c
index e61de66e973b..1db9cea13690 100644
--- a/drivers/net/phy/sfp-bus.c
+++ b/drivers/net/phy/sfp-bus.c
@@ -392,6 +392,11 @@ EXPORT_SYMBOL_GPL(sfp_parse_support);
 phy_interface_t sfp_select_interface(struct sfp_bus *bus,
 				     unsigned long *link_modes)
 {
+	if (phylink_test(link_modes, 25000baseCR_Full) ||
+	    phylink_test(link_modes, 25000baseKR_Full) ||
+	    phylink_test(link_modes, 25000baseSR_Full))
+		return PHY_INTERFACE_MODE_25GBASER;
+
 	if (phylink_test(link_modes, 10000baseCR_Full) ||
 	    phylink_test(link_modes, 10000baseSR_Full) ||
 	    phylink_test(link_modes, 10000baseLR_Full) ||
-- 
2.32.0

[PATCH net-next 4/4] net: phylink: Add 25G BASE-R support

From: Steen Hegelund <steen.hegelund@microchip.com>
Date: 2021-06-11 12:55:22

Add 25gbase-r interface type and speed to phylink.
This is needed for the Sparx5 switch.

Signed-off-by: Steen Hegelund <steen.hegelund@microchip.com>
Signed-off-by: Bjarni Jonasson <redacted>
---
 drivers/net/phy/phylink.c | 5 +++++
 1 file changed, 5 insertions(+)
diff --git a/drivers/net/phy/phylink.c b/drivers/net/phy/phylink.c
index 96d8e88b4e46..b1b9bb30d5b5 100644
--- a/drivers/net/phy/phylink.c
+++ b/drivers/net/phy/phylink.c
@@ -311,6 +311,11 @@ static int phylink_parse_mode(struct phylink *pl, struct fwnode_handle *fwnode)
 			phylink_set(pl->supported, 5000baseT_Full);
 			break;
 
+		case PHY_INTERFACE_MODE_25GBASER:
+			phylink_set(pl->supported, 25000baseCR_Full);
+			phylink_set(pl->supported, 25000baseKR_Full);
+			phylink_set(pl->supported, 25000baseSR_Full);
+			fallthrough;
 		case PHY_INTERFACE_MODE_USXGMII:
 		case PHY_INTERFACE_MODE_10GKR:
 		case PHY_INTERFACE_MODE_10GBASER:
-- 
2.32.0

Re: [PATCH net-next 1/4] dt-bindings: net: Add 25G BASE-R phy interface

From: Andrew Lunn <andrew@lunn.ch>
Date: 2021-06-12 18:06:03

On Fri, Jun 11, 2021 at 02:54:50PM +0200, Steen Hegelund wrote:
Add 25gbase-r PHY interface mode.

Signed-off-by: Steen Hegelund <steen.hegelund@microchip.com>
Signed-off-by: Bjarni Jonasson <redacted>
Reviewed-by: Andrew Lunn <andrew@lunn.ch>

    Andrew

Re: [PATCH net-next 2/4] net: phy: Add 25G BASE-R interface mode

From: Andrew Lunn <andrew@lunn.ch>
Date: 2021-06-12 18:07:06

On Fri, Jun 11, 2021 at 02:54:51PM +0200, Steen Hegelund wrote:
Add 25gbase-r phy interface mode

Signed-off-by: Steen Hegelund <steen.hegelund@microchip.com>
Signed-off-by: Bjarni Jonasson <redacted>
Reviewed-by: Andrew Lunn <andrew@lunn.ch>

    Andrew

Re: [PATCH net-next 3/4] net: sfp: add support for 25G BASE-R SFPs

From: Andrew Lunn <andrew@lunn.ch>
Date: 2021-06-12 18:07:22

On Fri, Jun 11, 2021 at 02:54:52PM +0200, Steen Hegelund wrote:
Add support for 25gbase-r modules. This is needed for the Sparx5 switch.

Signed-off-by: Steen Hegelund <steen.hegelund@microchip.com>
Signed-off-by: Bjarni Jonasson <redacted>
Reviewed-by: Andrew Lunn <andrew@lunn.ch>

    Andrew

Re: [PATCH net-next 4/4] net: phylink: Add 25G BASE-R support

From: Andrew Lunn <andrew@lunn.ch>
Date: 2021-06-12 18:07:53

On Fri, Jun 11, 2021 at 02:54:53PM +0200, Steen Hegelund wrote:
Add 25gbase-r interface type and speed to phylink.
This is needed for the Sparx5 switch.

Signed-off-by: Steen Hegelund <steen.hegelund@microchip.com>
Signed-off-by: Bjarni Jonasson <redacted>
Reviewed-by: Andrew Lunn <andrew@lunn.ch>

    Andrew

Re: [PATCH net-next 1/4] dt-bindings: net: Add 25G BASE-R phy interface

From: "Russell King (Oracle)" <linux@armlinux.org.uk>
Date: 2021-06-12 18:52:27

On Fri, Jun 11, 2021 at 02:54:50PM +0200, Steen Hegelund wrote:
Add 25gbase-r PHY interface mode.

Signed-off-by: Steen Hegelund <steen.hegelund@microchip.com>
Signed-off-by: Bjarni Jonasson <redacted>
Reviewed-by: Russell King (Oracle) <redacted>

-- 
RMK's Patch system: https://www.armlinux.org.uk/developer/patches/
FTTP is here! 40Mbps down 10Mbps up. Decent connectivity at last!

Re: [PATCH net-next 2/4] net: phy: Add 25G BASE-R interface mode

From: "Russell King (Oracle)" <linux@armlinux.org.uk>
Date: 2021-06-12 18:52:55

On Fri, Jun 11, 2021 at 02:54:51PM +0200, Steen Hegelund wrote:
Add 25gbase-r phy interface mode

Signed-off-by: Steen Hegelund <steen.hegelund@microchip.com>
Signed-off-by: Bjarni Jonasson <redacted>
Reviewed-by: Russell King (Oracle) <redacted>

-- 
RMK's Patch system: https://www.armlinux.org.uk/developer/patches/
FTTP is here! 40Mbps down 10Mbps up. Decent connectivity at last!

Re: [PATCH net-next 3/4] net: sfp: add support for 25G BASE-R SFPs

From: "Russell King (Oracle)" <linux@armlinux.org.uk>
Date: 2021-06-12 18:53:19

On Fri, Jun 11, 2021 at 02:54:52PM +0200, Steen Hegelund wrote:
Add support for 25gbase-r modules. This is needed for the Sparx5 switch.

Signed-off-by: Steen Hegelund <steen.hegelund@microchip.com>
Signed-off-by: Bjarni Jonasson <redacted>
Reviewed-by: Russell King (Oracle) <redacted>

-- 
RMK's Patch system: https://www.armlinux.org.uk/developer/patches/
FTTP is here! 40Mbps down 10Mbps up. Decent connectivity at last!

Re: [PATCH net-next 4/4] net: phylink: Add 25G BASE-R support

From: "Russell King (Oracle)" <linux@armlinux.org.uk>
Date: 2021-06-12 18:54:23

On Fri, Jun 11, 2021 at 02:54:53PM +0200, Steen Hegelund wrote:
Add 25gbase-r interface type and speed to phylink.
This is needed for the Sparx5 switch.

Signed-off-by: Steen Hegelund <steen.hegelund@microchip.com>
Signed-off-by: Bjarni Jonasson <redacted>
Reviewed-by: Russell King (Oracle) <redacted>

-- 
RMK's Patch system: https://www.armlinux.org.uk/developer/patches/
FTTP is here! 40Mbps down 10Mbps up. Decent connectivity at last!

Re: [PATCH net-next 0/4] Add 25G BASE-R support

From: patchwork-bot+netdevbpf@kernel.org
Date: 2021-06-12 20:20:14

Hello:

This series was applied to netdev/net-next.git (refs/heads/master):

On Fri, 11 Jun 2021 14:54:49 +0200 you wrote:
This series add the 25G BASE-R mode to the set modes supported.
This mode is used by the Sparx5 Switch for its 25G SerDes.

Steen Hegelund (4):
  dt-bindings: net: Add 25G BASE-R phy interface
  net: phy: Add 25G BASE-R interface mode
  net: sfp: add support for 25G BASE-R SFPs
  net: phylink: Add 25G BASE-R support

[...]
Here is the summary with links:
  - [net-next,1/4] dt-bindings: net: Add 25G BASE-R phy interface
    https://git.kernel.org/netdev/net-next/c/858252c9c346
  - [net-next,2/4] net: phy: Add 25G BASE-R interface mode
    https://git.kernel.org/netdev/net-next/c/a56c28686569
  - [net-next,3/4] net: sfp: add support for 25G BASE-R SFPs
    https://git.kernel.org/netdev/net-next/c/452d2c6fbae2
  - [net-next,4/4] net: phylink: Add 25G BASE-R support
    https://git.kernel.org/netdev/net-next/c/21e0c59edc09

You are awesome, thank you!
--
Deet-doot-dot, I am a bot.
https://korg.docs.kernel.org/patchwork/pwbot.html

Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help