|
|
Log in / Subscribe / Register

Serdes: s32g: Add support for serdes subsystem

From:  Vincent Guittot <vincent.guittot-AT-linaro.org>
To:  vkoul-AT-kernel.org, neil.armstrong-AT-linaro.org, krzk+dt-AT-kernel.org, conor+dt-AT-kernel.org, ciprianmarian.costea-AT-oss.nxp.com, s32-AT-nxp.com, p.zabel-AT-pengutronix.de, linux-AT-armlinux.org.uk, ghennadi.procopciuc-AT-nxp.com, Ionut.Vicovan-AT-nxp.com, linux-phy-AT-lists.infradead.org, devicetree-AT-vger.kernel.org, linux-kernel-AT-vger.kernel.org, linux-arm-kernel-AT-lists.infradead.org, netdev-AT-vger.kernel.org, horms-AT-kernel.org
Subject:  [PATCH 0/4 v2] Serdes: s32g: Add support for serdes subsystem
Date:  Tue, 03 Feb 2026 17:19:13 +0100
Message-ID:  <20260203161917.1666696-1-vincent.guittot@linaro.org>
Cc:  Frank.li-AT-nxp.com
Archive-link:  Article

s32g SoC family includes 2 serdes subsystems which are made of one PCIe
controller, 2 XPCS and a shared Phy. The Phy got 2 lanes that can be
configured to output PCIe lanes and/or SGMII.
    
Implement PCIe phy and XPCS support.
    
Change since v1:
- Fix compile_test
- Use devm_reset_control_get_exclusive()
- Fix s32g_serdes_phy_set_mode_ext()
- Manage devm_clk_bulk_get_all() returns 0
- Fix s32g_serdes_parse_lanes() error management
- Move xpcs filein drivers/net/pcs/
- Add pcs_inband_caps()
- Fix functions in phylink_pcs_ops
- Fix MAINTAINERS


Vincent Guittot (4):
  dt-bindings: serdes: s32g: Add NXP serdes subsystem
  phy: s32g: Add serdes subsystem phy
  phy: s32g: Add serdes xpcs subsystem
  MAINTAINERS: Add MAINTAINER for NXP S32G Serdes driver

 .../bindings/phy/nxp,s32g-serdes.yaml         |  154 +++
 MAINTAINERS                                   |   10 +
 drivers/net/pcs/Makefile                      |    1 +
 drivers/net/pcs/pcs-nxp-s32g-xpcs.c           | 1006 +++++++++++++++++
 drivers/phy/freescale/Kconfig                 |   10 +
 drivers/phy/freescale/Makefile                |    1 +
 drivers/phy/freescale/phy-nxp-s32g-serdes.c   |  953 ++++++++++++++++
 include/linux/pcs/pcs-nxp-s32g-xpcs.h         |   50 +
 8 files changed, 2185 insertions(+)
 create mode 100644 Documentation/devicetree/bindings/phy/nxp,s32g-serdes.yaml
 create mode 100644 drivers/net/pcs/pcs-nxp-s32g-xpcs.c
 create mode 100644 drivers/phy/freescale/phy-nxp-s32g-serdes.c
 create mode 100644 include/linux/pcs/pcs-nxp-s32g-xpcs.h

-- 
2.43.0




Copyright © 2026, Eklektix, Inc.
Comments and public postings are copyrighted by their creators.
Linux is a registered trademark of Linus Torvalds