[PATCH net-next 0/5] net: lan966x: Add lan966x switch driver

Horatiu Vultur
2021-11-17T09:17:57Z

This patch series add support for Microchip lan966x driver

The lan966x switch is a multi-port Gigabit AVB/TSN Ethernet Switch with
two integrated 10/100/1000Base-T PHYs. In addition to the integrated PHYs,
it supports up to 2RGMII/RMII, up to 3BASE-X/SERDES/2.5GBASE-X and up to
2 Quad-SGMII/Quad-USGMII interfaces.

Intially it adds support only for the ports to behave as simple
NIC cards. In the future patches it would be extended with other
functionality like Switchdev, PTP, Frame DMA, VCAP, etc.

Horatiu Vultur (5):
dt-bindings: net: lan966x: Add lan966x-switch bindings
net: lan966x: add the basic lan966x driver
net: lan966x: add port module support
net: lan966x: add mactable support
net: lan966x: add ethtool configuration and statistics

.../net/microchip,lan966x-switch.yaml | 149 +++
drivers/net/ethernet/microchip/Kconfig | 1 +
drivers/net/ethernet/microchip/Makefile | 1 +
.../net/ethernet/microchip/lan966x/Kconfig | 7 +
.../net/ethernet/microchip/lan966x/Makefile | 9 +
.../microchip/lan966x/lan966x_ethtool.c | 664 ++++++++++++
.../ethernet/microchip/lan966x/lan966x_ifh.h | 173 ++++
.../ethernet/microchip/lan966x/lan966x_mac.c | 95 ++
.../ethernet/microchip/lan966x/lan966x_main.c | 950 ++++++++++++++++++
.../ethernet/microchip/lan966x/lan966x_main.h | 205 ++++
.../microchip/lan966x/lan966x_phylink.c | 116 +++
.../ethernet/microchip/lan966x/lan966x_port.c | 472 +++++++++
.../ethernet/microchip/lan966x/lan966x_regs.h | 730 ++++++++++++++
13 files changed, 3572 insertions(+)
create mode 100644 Documentation/devicetree/bindings/net/microchip,lan966x-switch.yaml
create mode 100644 drivers/net/ethernet/microchip/lan966x/Kconfig
create mode 100644 drivers/net/ethernet/microchip/lan966x/Makefile
create mode 100644 drivers/net/ethernet/microchip/lan966x/lan966x_ethtool.c
create mode 100644 drivers/net/ethernet/microchip/lan966x/lan966x_ifh.h
create mode 100644 drivers/net/ethernet/microchip/lan966x/lan966x_mac.c
create mode 100644 drivers/net/ethernet/microchip/lan966x/lan966x_main.c
create mode 100644 drivers/net/ethernet/microchip/lan966x/lan966x_main.h
create mode 100644 drivers/net/ethernet/microchip/lan966x/lan966x_phylink.c
create mode 100644 drivers/net/ethernet/microchip/lan966x/lan966x_port.c
create mode 100644 drivers/net/ethernet/microchip/lan966x/lan966x_regs.h

--
2.33.0