[RFC PATCH v2 0/8] Add support for 10G Ethernet SerDes on MT7988
Daniel Golle
daniel at makrotopia.org
Tue Dec 5 17:43:44 PST 2023
This series aims to add support for GMAC2 and GMAC3 of the MediaTek MT7988 SoC.
While the vendor SDK stuffs all this into their Ethernet driver, I've tried to
seperate things into a PHY driver, a PCS driver as well as changes to the
existing Ethernet and LynxI PCS driver.
+--------------+ +----------------+ +------------------+
| +---| USXGMII PCS |---+ |
| Ethernet MAC | +----------------+ | PEXTP SerDes PHY |
| +---| SGMII PCS |---+ |
+--------------+ +----------------+ +------------------+
Alltogether this allows using GMAC2 and GMAC3 with all possible interface modes,
including in-band-status if needed.
Note that this series depends on patch
"dt-bindings: clock: mediatek: add MT7988 clock IDs"
being merged before.
https://patchwork.kernel.org/project/linux-arm-kernel/list/?series=807227
Changes since RFC v1:
- drop patch inhibiting SGMII AN in 2500Base-X mode
- make pcs-mtk-lynxi a proper platform driver
- ... hence allowing to remove all the wrappers from the usxgmii driver
- attach PEXTP to MAC instead of to USXGMII PCS
Daniel Golle (8):
dt-bindings: phy: mediatek,xfi-pextp: add new bindings
phy: add driver for MediaTek pextp 10GE SerDes PHY
net: pcs: pcs-mtk-lynxi: add platform driver for MT7988
dt-bindings: net: pcs: add bindings for MediaTek USXGMII PCS
net: pcs: add driver for MediaTek USXGMII PCS
dt-bindings: net: mediatek: remove wrongly added clocks and SerDes
dt-bindings: net: mediatek,net: fix and complete mt7988-eth binding
net: ethernet: mtk_eth_soc: add paths and SerDes modes for MT7988
.../devicetree/bindings/net/mediatek,net.yaml | 180 ++++++--
.../bindings/net/pcs/mediatek,usxgmii.yaml | 60 +++
.../bindings/phy/mediatek,xfi-pextp.yaml | 80 ++++
MAINTAINERS | 3 +
drivers/net/ethernet/mediatek/mtk_eth_path.c | 122 +++++-
drivers/net/ethernet/mediatek/mtk_eth_soc.c | 284 ++++++++++--
drivers/net/ethernet/mediatek/mtk_eth_soc.h | 107 ++++-
drivers/net/pcs/Kconfig | 11 +
drivers/net/pcs/Makefile | 1 +
drivers/net/pcs/pcs-mtk-lynxi.c | 170 ++++++-
drivers/net/pcs/pcs-mtk-usxgmii.c | 413 ++++++++++++++++++
drivers/phy/mediatek/Kconfig | 11 +
drivers/phy/mediatek/Makefile | 1 +
drivers/phy/mediatek/phy-mtk-pextp.c | 365 ++++++++++++++++
include/linux/pcs/pcs-mtk-lynxi.h | 1 +
include/linux/pcs/pcs-mtk-usxgmii.h | 26 ++
16 files changed, 1746 insertions(+), 89 deletions(-)
create mode 100644 Documentation/devicetree/bindings/net/pcs/mediatek,usxgmii.yaml
create mode 100644 Documentation/devicetree/bindings/phy/mediatek,xfi-pextp.yaml
create mode 100644 drivers/net/pcs/pcs-mtk-usxgmii.c
create mode 100644 drivers/phy/mediatek/phy-mtk-pextp.c
create mode 100644 include/linux/pcs/pcs-mtk-usxgmii.h
--
2.43.0
More information about the linux-arm-kernel
mailing list