]> git.ipfire.org Git - thirdparty/kernel/linux.git/commitdiff
net: sfp: add quirk for 2.5G OEM BX SFP
authorBirger Koblitz <mail@birger-koblitz.de>
Tue, 18 Feb 2025 17:59:40 +0000 (18:59 +0100)
committerJakub Kicinski <kuba@kernel.org>
Fri, 21 Feb 2025 23:04:56 +0000 (15:04 -0800)
The OEM SFP-2.5G-BX10-D/U SFP module pair is meant to operate with
2500Base-X. However, in their EEPROM they incorrectly specify:
Transceiver codes   : 0x00 0x12 0x00 0x00 0x12 0x00 0x01 0x05 0x00
BR, Nominal         : 2500MBd

Use sfp_quirk_2500basex for this module to allow 2500Base-X mode anyway.
Tested on BananaPi R3.

Signed-off-by: Birger Koblitz <mail@birger-koblitz.de>
Reviewed-by: Daniel Golle <daniel@makrotopia.org>
Link: https://patch.msgid.link/20250218-b4-lkmsub-v1-1-1e51dcabed90@birger-koblitz.de
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
drivers/net/phy/sfp.c

index 7dbcbf0a4ee26a221e9c47a6f030c8a18317bdbb..9369f5297769493efcab0ed4c356245baa1aa248 100644 (file)
@@ -515,6 +515,8 @@ static const struct sfp_quirk sfp_quirks[] = {
 
        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_M("OEM", "SFP-2.5G-BX10-D", sfp_quirk_2500basex),
+       SFP_QUIRK_M("OEM", "SFP-2.5G-BX10-U", sfp_quirk_2500basex),
        SFP_QUIRK_F("OEM", "RTSFP-10", sfp_fixup_rollball_cc),
        SFP_QUIRK_F("OEM", "RTSFP-10G", sfp_fixup_rollball_cc),
        SFP_QUIRK_F("Turris", "RTSFP-2.5G", sfp_fixup_rollball),