[PATCH v2 0/3] Add driver for lan966x Serdes driver

From: Horatiu Vultur
Date: Wed Oct 06 2021 - 02:35:49 EST


This patch serie adds support for Microchip lan966x serdes. The lan966x
device which contains this serdes has 8 interfaces, consisting of 2
copper transceivers, 3 Serdes and 2 RGMII interfaces and 2 of the
Serdes support QSGMII.

The following table shows which interfaces can be supported by the port.

PortNumber Max Speed Ethernet interface options
0 1Gbps CuPHY, 1G SGMII or QSGMII
1 1Gbps CuPHY, 1G SGMII or QSGMII
2 2.5Gbps 2.5G SGMII, QSGMII, RGMII
3 2.5Gbps 2.5G SGMII, QSGMII, RGMII
4 2.5Gbps 2.5G SGMII, QSGMII
5 1Gbps QSGMII, RGMII
6 1Gbps QSGMII, RGMII
7 1Gbps QSGMII

v1 -> v2:
- replace the regmap with iomem
- update DT bindings


Horatiu Vultur (3):
dt-bindings: phy: Add lan966x-serdes binding
dt-bindings: phy: Add binding includes for lan966x serdes
phy: Add lan966x ethernet serdes PHY driver

.../phy/microchip,lan966x-serdes.yaml | 43 ++
drivers/phy/microchip/Kconfig | 8 +
drivers/phy/microchip/Makefile | 1 +
drivers/phy/microchip/lan966x_serdes.c | 542 ++++++++++++++++++
drivers/phy/microchip/lan966x_serdes_regs.h | 482 ++++++++++++++++
include/dt-bindings/phy/lan966x_serdes.h | 14 +
6 files changed, 1090 insertions(+)
create mode 100644 Documentation/devicetree/bindings/phy/microchip,lan966x-serdes.yaml
create mode 100644 drivers/phy/microchip/lan966x_serdes.c
create mode 100644 drivers/phy/microchip/lan966x_serdes_regs.h
create mode 100644 include/dt-bindings/phy/lan966x_serdes.h

--
2.33.0