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 <and...@lunn.ch> Cc: Russell King <rmk+ker...@armlinux.org.uk> 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