Subject: [PATCH net-next 0/5] Support for RollBall 10G copper SFP modules

From: Marek Behún <[email-masked]>
Date: Wed, 28 Oct 2020 23:14:22 +0100

Hello,

this series adds support for RollBall/Hilink SFP modules.
These are copper modules capable of up to 10G via copper.
They contain a Marvell 88X3310 PHY.

These modules by default configure the internal PHY into XFI with Rate
Matching mode on the MAC side. To support devices which have MAC capable
of only lower than 10G SerDeses, the fourth patch sets the PHYs MACTYPE
in this case (in the marvell10g driver). Russell King has patches in his
tree that solve similar thing, but they depend on more complicated and
experimental patches. So in the meantime I think this patch can be
accepted (since it should not break anything that already works).

The protocol via which communication with the PHY can be done
is different than the standard one. This series therefore adds
support for this protocol into the mdio-i2c driver:
  - Russell first suggested that the protocol should be selected
    by PHY address: currently all SFP modules use PHY address 22 (0x16)
    because the PHY is accessible via I2C on address 0x56 (=0x40 + 0x16).
  - but Andrew thinks that this could cause problems in the future,
    and that instead the protocol should be selected not via PHY address,
    but on instatination of the mdiobus. This series uses this approach.

Marek

Cc: Andrew Lunn <[email-masked]>
Cc: Russell King <[email-masked]>

Marek Behún (5):
  net: phy: mdio-i2c: support I2C MDIO protocol for RollBall SFP modules
  net: phylink: allow attaching phy for SFP modules on 802.3z mode
  net: sfp: configure/destroy I2C mdiobus on transceiver plug/unplug
  net: phy: marvell10g: change MACTYPE if underlying MAC does not
    support it
  net: sfp: add support for multigig RollBall transceivers

 drivers/net/mdio/mdio-i2c.c   | 180 +++++++++++++++++++++++++++++++++-
 drivers/net/phy/marvell10g.c  |  31 ++++++
 drivers/net/phy/phylink.c     |   2 +-
 drivers/net/phy/sfp.c         |  96 ++++++++++++++++--
 include/linux/mdio/mdio-i2c.h |   8 +-
 5 files changed, 300 insertions(+), 17 deletions(-)

base-commit: cd29296fdfca919590e4004a7e4905544f4c4a32
-- 
2.26.2