Skip to content

RFC Add support for 10G Ethernet SerDes on MT7988

Daniel Golle linux-arm-kernel linux-devicetree linux-mediatek linux-phy lkml netdev 3 versions – In review

Get series with b4
b4 am [email protected]

Versions newest first · linked by author and title

  1. v3 RFC Latest8 patches 24 repliesIn review
  2. v2 RFC8 patches 21 repliesSuperseded
  3. v1 RFC8 patches 15 repliesSuperseded

Changes in v3 from the cover letter

- use clk_bulk_* when ever feasible
- rework Ethernet <-> PCS driver link, use device_link

Patches in v3 No applies recorded yet

#Subject and filesSizeRepliesApplied
1/8dt-bindings: phy: mediatek,xfi-pextp: add new bindingsDocumentation/devicetree/bindings/phy/mediatek,xfi-pextp.yaml+80 -06 replies
2/8phy: add driver for MediaTek pextp 10GE SerDes PHYMAINTAINERS drivers/phy/mediatek/Kconfig drivers/phy/mediatek/Makefile +1 more+374 -03 replies
3/8net: pcs: pcs-mtk-lynxi: add platform driver for MT7988drivers/net/pcs/pcs-mtk-lynxi.c include/linux/pcs/pcs-mtk-lynxi.h+226 -117 replies
4/8dt-bindings: net: pcs: add bindings for MediaTek USXGMII PCSDocumentation/devicetree/bindings/net/pcs/mediatek,usxgmii.yaml+60 -02 replies
5/8net: pcs: add driver for MediaTek USXGMII PCSMAINTAINERS drivers/net/pcs/Kconfig drivers/net/pcs/Makefile +2 more+497 -01 reply
6/8dt-bindings: net: mediatek: remove wrongly added clocks and SerDesDocumentation/devicetree/bindings/net/mediatek,net.yaml+7 -252 replies
7/8dt-bindings: net: mediatek,net: fix and complete mt7988-eth bindingDocumentation/devicetree/bindings/net/mediatek,net.yaml+145 -23 replies
8/8net: ethernet: mtk_eth_soc: add paths and SerDes modes for MT7988drivers/net/ethernet/mediatek/mtk_eth_path.c drivers/net/ethernet/mediatek/mtk_eth_soc.c drivers/net/ethernet/mediatek/mtk_eth_soc.h+469 -510 replies

Reviews trailers per patch

2 of 8 patches have a Reviewed-by or Acked-by.

PatchConor DooleyKrzysztof Kozlowski
1/8
2/8
3/8
4/8
5/8
6/8A-b
7/8A-b R-b
8/8

Trailers given in replies are filled; those carried in the patches from earlier versions are outlined with dashes.

Read the v3 thread

Cover letter [RFC PATCH net-next v3 0/8] Add support for 10G Ethernet SerDes on MT7988

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 series "dt-bindings: clock: mediatek:
add MT7988 clock IDs"[1] as well as "dt-bindings: watchdog:
mediatek,mtk-wdt: add MT7988 watchdog and toprgu"[2] being merged before.

[1]: https://patchwork.kernel.org/project/linux-arm-kernel/list/?series=809031
[2]: https://patchwork.kernel.org/project/linux-arm-kernel/list/?series=802588

Changes since RFC v2:
- use clk_bulk_* when ever feasible
- rework Ethernet <-> PCS driver link, use device_link

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   | 291 +++++++++--
 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               | 226 ++++++++-
 drivers/net/pcs/pcs-mtk-usxgmii.c             | 456 ++++++++++++++++++
 drivers/phy/mediatek/Kconfig                  |  11 +
 drivers/phy/mediatek/Makefile                 |   1 +
 drivers/phy/mediatek/phy-mtk-pextp.c          | 361 ++++++++++++++
 include/linux/pcs/pcs-mtk-lynxi.h             |  11 +
 include/linux/pcs/pcs-mtk-usxgmii.h           |  27 ++
 16 files changed, 1859 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
Signature · 1 line
2.43.0