[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-ID:
<AS1PR03MB8189AD85CEB6E139F27307D3827F2@AS1PR03MB8189.eurprd03.prod.outlook.com>
Date: Sun, 28 Jan 2024 15:06:33 +0100
From: Sergio Palumbo <palumbo.ser@...look.it>
To: Russell King <linux@...linux.org.uk>,
Andrew Lunn <andrew@...n.ch>,
Heiner Kallweit <hkallweit1@...il.com>,
"David S. Miller" <davem@...emloft.net>,
Eric Dumazet <edumazet@...gle.com>,
Jakub Kicinski <kuba@...nel.org>,
Paolo Abeni <pabeni@...hat.com>
Cc: netdev@...r.kernel.org,
linux-kernel@...r.kernel.org
Subject: [PATCH net-next] net: sfp: add quirk for OEM DFP-34X-2C2 GPON ONU SFP
DFP-34X-2C2 is a GPON spf module working at both 1000baseX
and 2500baseX.
Setting the module to LAN_SDS_MODE=6 the module is working
at 2500baseX with auto negotiation see at
https://hack-gpon.org/ont-odi-realtek-dfp-34x-2c2/
Unfortunatly the module's PHY is accessible at 1000baseX only.
ethtool returning:
Supported ports: [ Fibre ]
Supported link modes: 1000baseX/Full
After applying the quirk:
Supported ports: [ Fibre ]
Supported link modes: 1000baseX/Full
2500baseX/Full
Tested on BANANA PI R3 in OpenWRT v 23.05.2 Kernel 5.15.137
Tested on sfp to ethernet Media Converter.
Autonegotiating 1000baseX or 2500baseX according to the
connected host speed.
This module is existing in 2 versions:
Vendor = "ODI"
Vendor = "OEM"
This is the patch for vendor "OEM"
Patch has been inserted keeping the list in alphabetical order
first by vendor first and then by part string.
Signed-off-by: Sergio Palumbo <palumbo.ser@...look.it>
---
drivers/net/phy/sfp.c | 3 +++
1 file changed, 3 insertions(+)
diff --git a/drivers/net/phy/sfp.c b/drivers/net/phy/sfp.c
index f75c9eb3958e..3c0028a4af92 100644
--- a/drivers/net/phy/sfp.c
+++ b/drivers/net/phy/sfp.c
@@ -502,6 +502,9 @@ static const struct sfp_quirk sfp_quirks[] = {
SFP_QUIRK_F("Walsun", "HXSX-ATRC-1", sfp_fixup_fs_10gt),
SFP_QUIRK_F("Walsun", "HXSX-ATRI-1", sfp_fixup_fs_10gt),
+ // OEM DFP-34X-2C2 GPON ONU support 2500base-X
+ SFP_QUIRK_M("OEM", "DFP-34X-2C2", sfp_quirk_2500basex),
+
SFP_QUIRK_F("OEM", "SFP-10G-T", sfp_fixup_rollball_cc),
SFP_QUIRK_M("OEM", "SFP-2.5G-T", sfp_quirk_oem_2_5g),
SFP_QUIRK_F("OEM", "RTSFP-10", sfp_fixup_rollball_cc),
--
2.34.1
Powered by blists - more mailing lists