[PATCH net-next 0/6] Microsemi Felix switch support

From: Claudiu Manoil
Date: Fri Jun 21 2019 - 11:38:59 EST


This device is an ethernet switch core from Microsemi (VSC9959)
integrated as PCIe endpoint into the LS1028a SoC.

Though this switch core has some particularities (i.e. 6 ports,
some register mapping differences), functionally this driver relies
entirely on the Ocelot switch driver providing all the features,
and is basically an instance of the Ocelot core driver.

The first 3 patches are minor refactoring of the common Ocelot code
(core driver). The rest provide the integration code of the switch
as a PCIe device, the register mapping, corresponding ls1028a DT
nodes (for switch ports link configuration). There are also few
particularities described by individual patch messages.

Claudiu Manoil (6):
ocelot: Filter out ocelot SoC specific PCS config from common path
ocelot: Refactor common ocelot probing code to ocelot_init
ocelot: Factor out resource ioremap and regmap init common code
arm64: dts: fsl: ls1028a: Add Felix switch port DT node
dt-bindings: net: Add DT bindings for Microsemi Felix Switch
net/mssc/ocelot: Add basic Felix switch driver

.../devicetree/bindings/net/mscc-felix.txt | 77 +++
.../arm64/boot/dts/freescale/fsl-ls1028a.dtsi | 58 ++-
drivers/net/ethernet/mscc/Kconfig | 8 +
drivers/net/ethernet/mscc/Makefile | 9 +-
drivers/net/ethernet/mscc/felix_board.c | 392 +++++++++++++++
drivers/net/ethernet/mscc/felix_regs.c | 448 ++++++++++++++++++
drivers/net/ethernet/mscc/ocelot.c | 23 +-
drivers/net/ethernet/mscc/ocelot.h | 13 +-
drivers/net/ethernet/mscc/ocelot_board.c | 16 +-
drivers/net/ethernet/mscc/ocelot_io.c | 14 +-
drivers/net/ethernet/mscc/ocelot_regs.c | 21 +
11 files changed, 1041 insertions(+), 38 deletions(-)
create mode 100644 Documentation/devicetree/bindings/net/mscc-felix.txt
create mode 100644 drivers/net/ethernet/mscc/felix_board.c
create mode 100644 drivers/net/ethernet/mscc/felix_regs.c

--
2.17.1