aboutsummaryrefslogtreecommitdiffstats
path: root/target/linux/mvebu/patches-5.4/537-net-mvneta-add-2500baset-support.patch
diff options
context:
space:
mode:
Diffstat (limited to 'target/linux/mvebu/patches-5.4/537-net-mvneta-add-2500baset-support.patch')
-rw-r--r--target/linux/mvebu/patches-5.4/537-net-mvneta-add-2500baset-support.patch34
1 files changed, 34 insertions, 0 deletions
diff --git a/target/linux/mvebu/patches-5.4/537-net-mvneta-add-2500baset-support.patch b/target/linux/mvebu/patches-5.4/537-net-mvneta-add-2500baset-support.patch
new file mode 100644
index 0000000000..9186ceb0da
--- /dev/null
+++ b/target/linux/mvebu/patches-5.4/537-net-mvneta-add-2500baset-support.patch
@@ -0,0 +1,34 @@
+From eda3d1b0228484fb52b7244a68fd4cc8a985ed10 Mon Sep 17 00:00:00 2001
+From: Maxime Chevallier <maxime.chevallier@bootlin.com>
+Date: Wed, 27 Mar 2019 17:31:06 +0100
+Subject: [PATCH] net: mvneta: Add 2500BaseT support
+
+Some PHYs will use the 2500BaseX PHY_INTERFACE_MODE when being linked
+with a partner using 2.5GBaseT.
+
+Since we can't autonegotiate this speed between the MAC and the PHY, we
+need to have the proper comphy support enabled, to make sure we can
+safely advertise 2.5G and 1G in BaseT and be able to switch between both
+corresponding PHY interface modes. This is now possible since comphy
+support was added to this driver.
+
+This commit adds the 2500BaseT mode to the list of supported modes when
+using 2500BaseX, and was tested on a setup with an Armada385 and a
+88E2010 PHY, both with and without the comphy node in the DT.
+
+Signed-off-by: Maxime Chevallier <maxime.chevallier@bootlin.com>
+Signed-off-by: David S. Miller <davem@davemloft.net>
+---
+ drivers/net/ethernet/marvell/mvneta.c | 1 +
+ 1 file changed, 1 insertion(+)
+
+--- a/drivers/net/ethernet/marvell/mvneta.c
++++ b/drivers/net/ethernet/marvell/mvneta.c
+@@ -3402,6 +3402,7 @@ static void mvneta_validate(struct net_d
+ phylink_set(mask, 1000baseX_Full);
+ }
+ if (pp->comphy || state->interface == PHY_INTERFACE_MODE_2500BASEX) {
++ phylink_set(mask, 2500baseT_Full);
+ phylink_set(mask, 2500baseX_Full);
+ }
+