Thread (28 messages) 28 messages, 5 authors, 2026-01-30

Re: [PATCH 1/4] dt-bindings: serdes: s32g: Add NXP serdes subsystem

From: Vincent Guittot <vincent.guittot@linaro.org>
Date: 2026-01-29 13:05:16
Also in: linux-arm-kernel, linux-devicetree, linux-phy, lkml

On Thu, 29 Jan 2026 at 13:50, Russell King (Oracle)
[off-list ref] wrote:
On Mon, Jan 26, 2026 at 10:21:56AM +0100, Vincent Guittot wrote:
quoted
Describe the serdes subsystem available on the S32G platforms.

Signed-off-by: Vincent Guittot <vincent.guittot@linaro.org>
---
 .../bindings/phy/nxp,s32g-serdes.yaml         | 154 ++++++++++++++++++
 1 file changed, 154 insertions(+)
 create mode 100644 Documentation/devicetree/bindings/phy/nxp,s32g-serdes.yaml
diff --git a/Documentation/devicetree/bindings/phy/nxp,s32g-serdes.yaml b/Documentation/devicetree/bindings/phy/nxp,s32g-serdes.yaml
new file mode 100644
index 000000000000..fad34bee2a4f
--- /dev/null
+++ b/Documentation/devicetree/bindings/phy/nxp,s32g-serdes.yaml
@@ -0,0 +1,154 @@
+# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
+%YAML 1.2
+---
+$id: http://devicetree.org/schemas/phy/nxp,s32g-serdes.yaml#
+$schema: http://devicetree.org/meta-schemas/core.yaml#
+
+title: NXP S32G2xxx/S32G3xxx SerDes PHY subsystem
+
+maintainers:
+  - Ghennadi Procopciuc <ghennadi.procopciuc@nxp.com>
+
+description: |
+  The SerDes subsystem on S32G SoC Family includes two types of PHYs:
+    - One PCIe PHY: Supports various PCIe operation modes
+    - Two Ethernet Physical Coding Sublayer (XPCS) controllers
+
+  SerDes operation mode selects the enabled PHYs and speeds. Clock frequency
+  must be adapted accordingly. Below table describes all possible operation
+  modes.
+
+  Mode  PCIe XPCS0           XPCS1           PHY clock       Description
+                SGMII                SGMII             (MHz)
+  -------------------------------------------------------------------------
+  0  Gen3    N/A             N/A             100             Single PCIe
+  1  Gen2    1.25Gbps        N/A             100             PCIe/SGMII
+  2  Gen2    N/A             1.25Gbps        100             PCIe/SGMII
+  3  N/A     1.25Gbps        1.25Gbps        100,125         SGMII
+  4  N/A     3.125/1.25Gbps  3.125/1.25Gbps  125             SGMII
+  5  Gen2    N/A             3.125Gbps       100             PCIe/SGMII
Shouldn't the mode be configured via phy_set_mode_ext()?
There is a phy for only pcie only. In mode 3 to 5 there is no generic
phy created
This identifies whether it is operating as PCIe or for networking and
in the case of networking, the PHY interface mode should be passed as
the submode.

Have a look at include/linux/phy/pcie.h to see the submodes that may
be appropriate to pass to phy_set_mode_ext() - but talk to the PHY
subsystem maintainers.

--
RMK's Patch system: https://www.armlinux.org.uk/developer/patches/
FTTP is here! 80Mbps down 10Mbps up. Decent connectivity at last!
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help