[RFC net-next 0/8] net: Add support for Synopsys DesignWare XPCS

From: Jose Abreu
Date: Mon Jan 27 2020 - 06:16:02 EST


This adds support for Synopsys DesignWare XPCS in net subsystem and
integrates it into stmmac.

At 1/8, we start by removing the limitation of stmmac selftests that needed
a PHY to pass all the tests.

Then at 2/8 and 3/8 we add and use some new helpers in PHYLINK so that we
can simplify some code in stmmac and possible other drivers.

At 4/8, we fallback to dev_fwnode() so that PCI based setups wich may
not have CONFIG_OF can still use FW node.

We proceed by doing changes in PHYLINK in order to support XPCS: At 5/8 we
add some missing speeds that USXGMII supports and at 6/8 we do the most
important change to support XPCS that allows to configure MAC and PCS
withouht having any PHY neither SFP attached.

Support for XPCS is finally introduced at 7/8, along with the usage of it
in stmmac driver at 8/8.

---
Cc: Giuseppe Cavallaro <peppe.cavallaro@xxxxxx>
Cc: Alexandre Torgue <alexandre.torgue@xxxxxx>
Cc: Jose Abreu <joabreu@xxxxxxxxxxxx>
Cc: "David S. Miller" <davem@xxxxxxxxxxxxx>
Cc: Jakub Kicinski <kuba@xxxxxxxxxx>
Cc: Maxime Coquelin <mcoquelin.stm32@xxxxxxxxx>
Cc: Russell King <linux@xxxxxxxxxxxxxxx>
Cc: Andrew Lunn <andrew@xxxxxxx>
Cc: Florian Fainelli <f.fainelli@xxxxxxxxx>
Cc: Heiner Kallweit <hkallweit1@xxxxxxxxx>
Cc: netdev@xxxxxxxxxxxxxxx
Cc: linux-stm32@xxxxxxxxxxxxxxxxxxxxxxxxxxxx
Cc: linux-arm-kernel@xxxxxxxxxxxxxxxxxxx
Cc: linux-kernel@xxxxxxxxxxxxxxx
---

Jose Abreu (8):
net: stmmac: selftests: Do not fail if PHY is not attached
net: phylink: Add phylink_and and phylink_andnot Helpers
net: stmmac: Switch to phylink_and()/phylink_andnot()
net: stmmac: Fallback to dev_fwnode() if needed
net: phylink: Add missing Backplane speeds
net: phylink: Configure MAC/PCS when link is up without PHY
net: phy: Add Synopsys DesignWare XPCS MDIO module
net: stmmac: Integrate it with DesignWare XPCS

MAINTAINERS | 7 +
drivers/net/ethernet/stmicro/stmmac/Kconfig | 1 +
drivers/net/ethernet/stmicro/stmmac/common.h | 3 +
drivers/net/ethernet/stmicro/stmmac/hwif.h | 12 +
drivers/net/ethernet/stmicro/stmmac/stmmac_main.c | 32 +-
drivers/net/ethernet/stmicro/stmmac/stmmac_mdio.c | 27 +
.../net/ethernet/stmicro/stmmac/stmmac_selftests.c | 2 +-
drivers/net/phy/Kconfig | 6 +
drivers/net/phy/Makefile | 1 +
drivers/net/phy/mdio-xpcs.c | 567 +++++++++++++++++++++
drivers/net/phy/phylink.c | 16 +-
include/linux/mdio-xpcs.h | 41 ++
include/linux/phylink.h | 4 +
include/linux/stmmac.h | 1 +
14 files changed, 708 insertions(+), 12 deletions(-)
create mode 100644 drivers/net/phy/mdio-xpcs.c
create mode 100644 include/linux/mdio-xpcs.h

--
2.7.4