Add support for the two SerDes PCS interfaces of the MxL862xx switch
ICs, which can both either be used to connect PHYs or SFP cages, or as
CPU port(s). 1000Base-X, 2500Base-X, 10GBase-R, 10GBase-KR, SGMII,
QSGMII and USXGMII (single 10G or quad 2.5G) are supported.
The firmware only added the API to directly control the PCS as of
version 1.0.84, so the PCS features are gated behind a version check.
As the driver is growing do some refactoring to break out the phylink
parts into mxl862xx-phylink.h.
Also add custom ethtool stats for the various diagnostic values related
to the SerDes interfaces which can be read from the firmware.
Daniel Golle (5):
net: dsa: mxl862xx: store firmware version for feature gating
net: dsa: mxl862xx: move phylink stubs to mxl862xx-phylink.c
net: dsa: mxl862xx: move API macros to mxl862xx-host.h
net: dsa: mxl862xx: add support for SerDes ports
net: dsa: mxl862xx: add SerDes ethtool statistics
drivers/net/dsa/mxl862xx/Makefile | 2 +-
drivers/net/dsa/mxl862xx/mxl862xx-api.h | 392 +++++++++++++++++
drivers/net/dsa/mxl862xx/mxl862xx-cmd.h | 11 +
drivers/net/dsa/mxl862xx/mxl862xx-host.h | 8 +
drivers/net/dsa/mxl862xx/mxl862xx-phylink.c | 446 ++++++++++++++++++++
drivers/net/dsa/mxl862xx/mxl862xx-phylink.h | 27 ++
drivers/net/dsa/mxl862xx/mxl862xx.c | 60 +--
drivers/net/dsa/mxl862xx/mxl862xx.h | 58 +++
8 files changed, 957 insertions(+), 47 deletions(-)
create mode 100644 drivers/net/dsa/mxl862xx/mxl862xx-phylink.c
create mode 100644 drivers/net/dsa/mxl862xx/mxl862xx-phylink.h
--
2.54.0