The 3.xx and 4.xx synopsys gmacs have a very similar PCS embedded module and they share almost the same registers; for example: AN_Control, AN_Status, AN_Advertisement, AN_Link_Partner_Ability, AN_Expansion, TBI_Extended_Status.
Just the RGMII/SMII Control/Status register differs. So these patches aim to reorganize and enhance the PCS support; to do that, some small inline functions have been provided and also some rework to the PCS ISR part has been done. In the end, the SGMII for MAC2MAC connection has been introduced. All patches have been built on top of net-next git and, as for the previous version, not fully tested. Giuseppe Cavallaro (3): drivers: net: stmmac: reworking the PCS code. drivers: net: stmmac: rework core ISR to better manage PCS and PMT drivers: net: stmmac: add port selection programming Documentation/devicetree/bindings/net/stmmac.txt | 3 + Documentation/networking/stmmac.txt | 1 + drivers/net/ethernet/stmicro/stmmac/common.h | 19 ++- drivers/net/ethernet/stmicro/stmmac/dwmac1000.h | 86 +++++------ .../net/ethernet/stmicro/stmmac/dwmac1000_core.c | 147 ++++++++++--------- drivers/net/ethernet/stmicro/stmmac/dwmac4.h | 43 ++++-- drivers/net/ethernet/stmicro/stmmac/dwmac4_core.c | 96 +++++++++---- drivers/net/ethernet/stmicro/stmmac/stmmac.h | 1 - .../net/ethernet/stmicro/stmmac/stmmac_ethtool.c | 60 +++++--- drivers/net/ethernet/stmicro/stmmac/stmmac_main.c | 50 +++++-- drivers/net/ethernet/stmicro/stmmac/stmmac_pcs.h | 159 +++++++++++++++++++++ .../net/ethernet/stmicro/stmmac/stmmac_platform.c | 2 + include/linux/stmmac.h | 1 + 13 files changed, 474 insertions(+), 194 deletions(-) create mode 100644 drivers/net/ethernet/stmicro/stmmac/stmmac_pcs.h -- 2.7.4