linux/drivers/net/phy
Josua Mayer db1a6ad77c net: sfp: handle 100G/25G active optical cables in sfp_parse_support
Handle extended compliance code 0x1 (SFF8024_ECC_100G_25GAUI_C2M_AOC)
for active optical cables supporting 25G and 100G speeds.

Since the specification makes no statement about transmitter range, and
as the specific sfp module that had been tested features only 2m fiber -
short-range (SR) modes are selected.

The 100G speed is irrelevant because it would require multiple fibers /
multiple SFP28 modules combined under one netdev.
sfp-bus.c only handles a single module per netdev, so only 25Gbps modes
are selected.

sfp_parse_support already handles SFF8024_ECC_100GBASE_SR4_25GBASE_SR
with compatible properties, however that entry is a contradiction in
itself since with SFP(28) 100GBASE_SR4 is impossible - that would likely
be a mode for qsfp modules only.

Add a case for SFF8024_ECC_100G_25GAUI_C2M_AOC selecting 25gbase-r
interface mode and 25000baseSR link mode.
Also enforce SFP28 bitrate limits on the values read from sfp eeprom as
requested by Russell King.

Tested with fs.com S28-AO02 AOC SFP28 module.

Signed-off-by: Josua Mayer <josua@solid-run.com>
Reviewed-by: Russell King (Oracle) <rmk+kernel@armlinux.org.uk>
Signed-off-by: David S. Miller <davem@davemloft.net>
2023-08-19 19:22:14 +01:00
..
mscc net: phy: mscc: fix packet loss due to RGMII delays 2023-06-27 09:31:51 -07:00
adin1100.c net: phy: adin1100: add PHY IDs of adin1110/adin2111 2022-09-20 15:00:30 +02:00
adin.c net: move from strlcpy with unused retval to strscpy 2022-08-31 14:11:07 -07:00
amd.c
aquantia_hwmon.c net: phy: aquantia: constify pointers to hwmon_channel_info 2023-04-09 19:02:09 -07:00
aquantia_main.c net: phy: aquantia: add AQR112 and AQR412 PHY IDs 2022-11-15 20:34:27 -08:00
aquantia.h
at803x.c net: phy: at803x: remove set/get wol callbacks for AR8032 2023-08-04 10:00:17 +01:00
ax88796b.c net: phy: ax88772a: fix lost pause advertisement configuration 2022-06-29 20:39:05 -07:00
bcm7xxx.c net: phy: bcm7xx: Correct read from expansion register 2023-05-09 20:25:52 -07:00
bcm63xx.c
bcm87xx.c
bcm54140.c net: phy: bcm54140: constify pointers to hwmon_channel_info 2023-04-09 19:02:09 -07:00
bcm84881.c
bcm-cygnus.c
bcm-phy-lib.c net: phy: broadcom: Add support for setting LED brightness 2023-06-09 10:38:43 +01:00
bcm-phy-lib.h net: phy: broadcom: Add support for setting LED brightness 2023-06-09 10:38:43 +01:00
bcm-phy-ptp.c net: phy: Add support for 1PPS out and external timestamps 2022-06-23 20:49:02 -07:00
broadcom.c net: phy: broadcom: stub c45 read/write for 54810 2023-08-15 18:53:43 -07:00
cicada.c
cortina.c
davicom.c
dp83tc811.c
dp83td510.c net: phy: dp83td510: fix kernel stall during netboot in DP83TD510E PHY driver 2023-06-22 19:43:55 -07:00
dp83640_reg.h
dp83640.c
dp83822.c net: phy: dp83822: Fix null pointer access on DP83825/DP83826 devices 2023-01-28 00:23:58 -08:00
dp83848.c
dp83867.c Revert "net: phy: dp83867: perform soft reset and retain established link" 2023-06-20 20:20:22 -07:00
dp83869.c net: phy: dp83869: support mii mode when rgmii strap cfg is used 2023-05-09 11:57:53 +02:00
et1011c.c
fixed_phy.c net: phy: fixed_phy: set phy_mask before calling mdiobus_register() 2022-06-13 23:11:24 -07:00
icplus.c
intel-xway.c
Kconfig net: phy: mediatek: fix compile-test dependencies 2023-06-20 12:02:22 -07:00
linkmode.c
lxt.c
Makefile net: phy: add driver for MediaTek SoC built-in GE PHYs 2023-06-12 11:55:04 +01:00
marvell10g.c net: phy: marvell10g: fix 88x3310 power up 2023-07-23 11:47:07 +01:00
marvell-88x2222.c net: phy: marvell-88x2222: remove unnecessary (void*) conversions 2023-04-25 09:43:50 +01:00
marvell.c net: phy: marvell: Fix inconsistent indenting in led_blink_set 2023-04-24 19:01:47 -07:00
mdio_bus.c net: mdio: fix the wrong parameters 2023-06-20 20:17:49 -07:00
mdio_device.c net: mdio: fix unbalanced fwnode reference count in mdio_device_release() 2022-12-06 12:50:00 +01:00
mdio_devres.c net: mdio: fix owner field for mdio buses registered using device-tree 2023-03-19 10:48:35 +00:00
mdio-boardinfo.c
mdio-boardinfo.h
mdio-open-alliance.h drivers/net/phy: add helpers to get/set PLCA configuration 2023-01-11 08:35:02 +00:00
mediatek-ge-soc.c net: phy: add driver for MediaTek SoC built-in GE PHYs 2023-06-12 11:55:04 +01:00
mediatek-ge.c net: phy: add driver for MediaTek SoC built-in GE PHYs 2023-06-12 11:55:04 +01:00
meson-gxl.c net: phy: meson-gxl: enable edpd tunable support for G12A internal PHY 2023-04-04 18:56:01 -07:00
micrel.c net: micrel: Change to receive timestamp in the frame for lan8841 2023-06-21 15:05:46 +01:00
microchip_t1.c net: phy: microchip: run phy initialization during each link update 2023-01-23 22:34:19 -08:00
microchip_t1s.c net: phy: microchip_t1s: add support for Microchip LAN865x Rev.B0 PHYs 2023-05-30 11:49:55 +02:00
microchip.c net: lan78xx: fix accessing the LAN7800's internal phy specific registers from the MAC driver 2023-03-02 22:21:07 -08:00
mii_timestamper.c
motorcomm.c net: phy: motorcomm: uninitialized variables in yt8531_link_change_notify() 2023-02-15 21:23:33 -08:00
mxl-gpy.c net: phy: mxl-gpy: extend interrupt fix to all impacted variants 2023-06-01 09:59:36 -07:00
national.c
ncn26000.c drivers/net/phy: add driver for the onsemi NCN26000 10BASE-T1S PHY 2023-01-11 08:35:03 +00:00
nxp-c45-tja11xx.c net: phy: nxp-c45-tja11xx: add remove callback 2023-04-11 15:28:31 +02:00
nxp-cbtx.c net: phy: add basic driver for NXP CBTX PHY 2023-04-21 20:04:09 -07:00
nxp-tja11xx.c net: phy: nxp-tja11xx: constify pointers to hwmon_channel_info 2023-04-09 19:02:09 -07:00
phy_device.c net: phy: fix IRQ-based wake-on-lan over hibernate / power off 2023-08-13 12:27:08 +01:00
phy_led_triggers.c
phy-c45.c net: phy-c45: Fix genphy_c45_ethtool_set_eee description 2023-06-20 20:35:26 -07:00
phy-core.c drivers/net/phy: add the link modes for the 10BASE-T1S Ethernet PHY 2023-01-11 08:35:02 +00:00
phy.c net: phy: avoid kernel warning dump when stopping an errored PHY 2023-05-24 08:28:27 +01:00
phylink.c net: phylink: pass neg_mode into phylink_mii_c22_pcs_config() 2023-06-22 19:41:01 -07:00
qsemi.c
realtek.c net: phy: realtek: Disable clock on suspend 2023-06-07 09:52:24 +01:00
rockchip.c
sfp-bus.c net: sfp: handle 100G/25G active optical cables in sfp_parse_support 2023-08-19 19:22:14 +01:00
sfp.c net: sfp: add support for HXSX-ATRI-1 copper SFP+ module 2023-05-23 20:34:22 -07:00
sfp.h net: sfp: add support for setting signalling rate 2023-05-18 19:52:31 -07:00
smsc.c net: phy: smsc: enable edpd tunable support 2023-04-03 10:08:43 +01:00
spi_ks8995.c net: phy: ks8995: drop of_match_ptr for ID table 2023-03-15 08:11:02 +00:00
ste10Xp.c
swphy.c
swphy.h
teranetics.c
uPD60620.c
vitesse.c
xilinx_gmii2rgmii.c net: phy: xgmiitorgmii: Fix refcount leak in xgmiitorgmii_probe 2022-12-30 07:46:10 +00:00