mbox series

[net-next,v3,0/5] Add a driver for the Marvell 88Q2110 PHY

Message ID 20230717193350.285003-1-eichest@gmail.com (mailing list archive)
Headers show
Series Add a driver for the Marvell 88Q2110 PHY | expand

Message

Stefan Eichenberger July 17, 2023, 7:33 p.m. UTC
Add support for 1000BASE-T1 to the phy-c45 helper and add a first
1000BASE-T1 driver for the Marvell 88Q2110 PHY.

v3:
  - Read the BASE-T1 capabilities from the ability register (Andrew)
  - Fix several missing return values (Francesco)
  - Poll the reset bit to be sure the soft reset was done (Andrew)
  - Fix reading the latched link status wrongly (Andrew/Russell)
  - Remove probe function (Francesco)
  - Add defines for Marvell specific registers (Andrew)
  - Move the BASE-T1 ability reading to a separate function (Andrew)

v2:
 - Use the same pattern in Kconfig as for 88X2222 (Andrew)
 - Sort Kconfig and Makefile entries (Andrew)
 - Add generic registers to mdio.h (Andrew)
 - Move generic functionality to phy-c45.c (Andrew)
 - Document where proprietary registers are used (Andrew)
 - Remove unnecessary c45 check (Andrew)
 - Remove cable tests which were not implemented (Andrew)
 - Remove comma for terminator entry (Francesco)
 - Sort include files (Francesco)
 - Return phy_write_mmd value in soft_reset (Francesco)

Stefan Eichenberger (5):
  net: phy: add registers to support 1000BASE-T1
  net: phy: c45: add support for 1000BASE-T1 forced setup
  net: phy: c45: add a separate function to read BASE-T1 abilities
  net: phy: c45: detect the BASE-T1 speed from the ability register
  net: phy: marvell-88q2xxx: add driver for the Marvell 88Q2110 PHY

 drivers/net/phy/Kconfig           |   6 +
 drivers/net/phy/Makefile          |   1 +
 drivers/net/phy/marvell-88q2xxx.c | 265 ++++++++++++++++++++++++++++++
 drivers/net/phy/phy-c45.c         |  63 +++++--
 include/linux/phy.h               |   1 +
 include/uapi/linux/mdio.h         |  18 +-
 6 files changed, 339 insertions(+), 15 deletions(-)
 create mode 100644 drivers/net/phy/marvell-88q2xxx.c