Messages in this thread Patch in this message | ![/](/images/icornerl.gif) | | From | Raju Lakkaraju <> | Subject | [PATCH net-next 2/2] net: sfp: add quirk for FS's DAC10G SFP (SFPP-PC01) | Date | Fri, 21 Jul 2023 11:30:57 +0530 |
| |
Add a quirk for a DAC10G SFP that identifies itself as "FS" "SFPP-PC01". Add a quirk to enable the SGMII interface, modes 2500base-T, 1000base-T, 100base-T/Full and 100base-T/Half support.
Signed-off-by: Raju Lakkaraju <Raju.Lakkaraju@microchip.com> --- drivers/net/phy/sfp.c | 14 ++++++++++++++ 1 file changed, 14 insertions(+)
diff --git a/drivers/net/phy/sfp.c b/drivers/net/phy/sfp.c index ee049efdf71b..80d2680f08ab 100644 --- a/drivers/net/phy/sfp.c +++ b/drivers/net/phy/sfp.c @@ -421,6 +421,18 @@ static void sfp_quirk_oem_2_5g(const struct sfp_eeprom_id *id, sfp_quirk_disable_autoneg(id, modes, interfaces); } +static void sfp_quirk_fs_dac(const struct sfp_eeprom_id *id, + unsigned long *modes, + unsigned long *interfaces) +{ + /* Fiberstore(FS)'s DAC SFP (SFPP-PC01) */ + linkmode_set_bit(ETHTOOL_LINK_MODE_2500baseT_Full_BIT, modes); + linkmode_set_bit(ETHTOOL_LINK_MODE_1000baseT_Full_BIT, modes); + linkmode_set_bit(ETHTOOL_LINK_MODE_100baseT_Full_BIT, modes); + linkmode_set_bit(ETHTOOL_LINK_MODE_100baseT_Half_BIT, modes); + __set_bit(PHY_INTERFACE_MODE_SGMII, interfaces); +} + static void sfp_quirk_ubnt_uf_instant(const struct sfp_eeprom_id *id, unsigned long *modes, unsigned long *interfaces) @@ -465,6 +477,8 @@ static const struct sfp_quirk sfp_quirks[] = { // FS 2.5G Base-T SFP_QUIRK_M("FS", "SFP-2.5G-T", sfp_quirk_oem_2_5g), + // FS DAC10G (SFPP-PC01) + SFP_QUIRK_M("FS", "SFPP-PC01", sfp_quirk_fs_dac), // Lantech 8330-262D-E can operate at 2500base-X, but incorrectly report // 2500MBd NRZ in their EEPROM -- 2.25.1
| ![\](/images/icornerr.gif) |