mbox series

[RFC,russell-king,0/4] Support for RollBall 10G copper SFP modules

Message ID 20200810220645.19326-1-marek.behun@nic.cz
Headers show
Series Support for RollBall 10G copper SFP modules | expand

Message

Marek BehĂșn Aug. 10, 2020, 10:06 p.m. UTC
Hi Russell,

this series should apply on linux-arm git repository, on branch
clearfog.

Some internet providers are already starting to offer 2.5G copper
connectivity to their users. On Turris Omnia the SFP port is capable
of 2.5G speed, so we tested some copper SFP modules.

This adds support to the SFP subsystem for 10G RollBall copper modules
which contain a Marvell 88X3310 PHY. By default these modules are
configured in 10GKR only mode on the host interface, and also contain
some bad information in EEPROM (the extended_cc byte).

The PHY in these modules is also accessed via a different I2C protocol
than the standard one.

Patch 1 adds support for this different I2C MDIO bus.
Patch 2 adds support for these modules into the SFP driver.
Patch 3 adds support for chaning MACTYPE in marvell10g PHY driver so
that the PHY will connect to the host interface on Turris Omnia even
though it only supports SGMII/1000base-x/2500base-x modes.
Patch 4 changes phylink code so that a PHY can be attached even though
802.3z mode is requested.

Marek

Marek BehĂșn (4):
  net: phy: add I2C mdio bus for RollBall compatible SFPs
  net: phy: sfp: add support for multigig RollBall modules
  net: phy: marvell10g: change MACTYPE according to phydev->interface
  net: phylink: don't fail attaching phy on 1000base-x/2500base-x mode

 drivers/net/phy/Makefile            |   2 +-
 drivers/net/phy/marvell10g.c        |  32 +++-
 drivers/net/phy/mdio-i2c-rollball.c | 238 ++++++++++++++++++++++++++++
 drivers/net/phy/mdio-i2c.h          |   1 +
 drivers/net/phy/phylink.c           |   4 +-
 drivers/net/phy/sfp.c               |  62 ++++++--
 include/linux/sfp.h                 |   5 +
 7 files changed, 322 insertions(+), 22 deletions(-)
 create mode 100644 drivers/net/phy/mdio-i2c-rollball.c