Thread (17 messages) 17 messages, 2 authors, 2025-07-10
STALE350d
Revisions (16)
  1. v7 [diff vs current]
  2. v8 current
  3. v9 [diff vs current]
  4. v10 [diff vs current]
  5. v11 [diff vs current]
  6. v12 [diff vs current]
  7. v13 [diff vs current]
  8. v14 [diff vs current]
  9. v15 [diff vs current]
  10. v16 [diff vs current]
  11. v17 [diff vs current]
  12. v18 [diff vs current]
  13. v19 [diff vs current]
  14. v20 [diff vs current]
  15. v21 [diff vs current]
  16. v22 [diff vs current]

[PATCH net-next v8 14/15] net: phy: dp83822: Add SFP support through the phy_port interface

From: Maxime Chevallier <maxime.chevallier@bootlin.com>
Date: 2025-07-10 13:46:02
Also in: linux-arm-kernel, linux-arm-msm, linux-devicetree, lkml
Subsystem: ethernet phy library, networking drivers, the rest · Maintainers: Andrew Lunn, Heiner Kallweit, "David S. Miller", Eric Dumazet, Jakub Kicinski, Paolo Abeni, Linus Torvalds

The DP83822 can support 100BaseFX. This mode was only accessible through
custom DT properties, but there also exist SFP modules that support
these modes. As this only requires setting the relevant supported
interface in the driver, expose the port capability with the new
phy_port API, allowing SFP support.

Signed-off-by: Maxime Chevallier <maxime.chevallier@bootlin.com>
---
 drivers/net/phy/dp83822.c | 7 +++++++
 1 file changed, 7 insertions(+)
diff --git a/drivers/net/phy/dp83822.c b/drivers/net/phy/dp83822.c
index 2657be2e9034..aa2c0085a900 100644
--- a/drivers/net/phy/dp83822.c
+++ b/drivers/net/phy/dp83822.c
@@ -979,6 +979,13 @@ static int dp83822_attach_port(struct phy_device *phydev, struct phy_port *port)
 		}
 	}
 
+	/* If attached from SFP, is_mii is set, but not the mediums. */
+	if (port->is_mii)
+		dp83822->fx_enabled = true;
+
+	if (dp83822->fx_enabled)
+		__set_bit(PHY_INTERFACE_MODE_100BASEX, port->interfaces);
+
 	return 0;
 }
 
-- 
2.49.0
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help