[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID:
<176279045960.2130772.11393060400220095710.stgit@ahduyck-xeon-server.home.arpa>
Date: Mon, 10 Nov 2025 08:00:59 -0800
From: Alexander Duyck <alexander.duyck@...il.com>
To: netdev@...r.kernel.org
Cc: kuba@...nel.org, kernel-team@...a.com, andrew+netdev@...n.ch,
hkallweit1@...il.com, linux@...linux.org.uk, pabeni@...hat.com,
davem@...emloft.net
Subject: [net-next PATCH v3 01/10] net: phy: Add support for 25,
50 and 100Gbps PMA to genphy_c45_read_pma
From: Alexander Duyck <alexanderduyck@...com>
Add support for reading 25, 50, and 100G from the PMA interface for a C45
device. By doing this we enable support for future devices that support
higher speeds than the current limit of 10G.
Signed-off-by: Alexander Duyck <alexanderduyck@...com>
---
drivers/net/phy/phy-c45.c | 9 +++++++++
include/uapi/linux/mdio.h | 6 ++++++
2 files changed, 15 insertions(+)
diff --git a/drivers/net/phy/phy-c45.c b/drivers/net/phy/phy-c45.c
index e8e5be4684ab..1d747fbaa10c 100644
--- a/drivers/net/phy/phy-c45.c
+++ b/drivers/net/phy/phy-c45.c
@@ -627,6 +627,15 @@ int genphy_c45_read_pma(struct phy_device *phydev)
case MDIO_CTRL1_SPEED10G:
phydev->speed = SPEED_10000;
break;
+ case MDIO_PMA_CTRL1_SPEED25G:
+ phydev->speed = SPEED_25000;
+ break;
+ case MDIO_PMA_CTRL1_SPEED50G:
+ phydev->speed = SPEED_50000;
+ break;
+ case MDIO_PMA_CTRL1_SPEED100G:
+ phydev->speed = SPEED_100000;
+ break;
default:
phydev->speed = SPEED_UNKNOWN;
break;
diff --git a/include/uapi/linux/mdio.h b/include/uapi/linux/mdio.h
index 6975f182b22c..75ed41fc46c6 100644
--- a/include/uapi/linux/mdio.h
+++ b/include/uapi/linux/mdio.h
@@ -116,6 +116,12 @@
#define MDIO_CTRL1_SPEED10G (MDIO_CTRL1_SPEEDSELEXT | 0x00)
/* 10PASS-TS/2BASE-TL */
#define MDIO_CTRL1_SPEED10P2B (MDIO_CTRL1_SPEEDSELEXT | 0x04)
+/* 100 Gb/s */
+#define MDIO_PMA_CTRL1_SPEED100G (MDIO_CTRL1_SPEEDSELEXT | 0x0c)
+/* 25 Gb/s */
+#define MDIO_PMA_CTRL1_SPEED25G (MDIO_CTRL1_SPEEDSELEXT | 0x10)
+/* 50 Gb/s */
+#define MDIO_PMA_CTRL1_SPEED50G (MDIO_CTRL1_SPEEDSELEXT | 0x14)
/* 2.5 Gb/s */
#define MDIO_CTRL1_SPEED2_5G (MDIO_CTRL1_SPEEDSELEXT | 0x18)
/* 5 Gb/s */
Powered by blists - more mailing lists