[PATCH v3 07/11] arm64: dts: lx2162a: transition to device-specific SerDes compatible strings

Ioana Ciornei ioana.ciornei at nxp.com
Fri Jul 17 05:06:31 PDT 2026


Align to the modern fsl,lynx-28g.yaml binding for the LX2162A SoC, where
the SoC and SerDes instance is present in the compatible string, to
allow reliable per-lane capability detection and per-lane customization
of electrical properties.

Since one of the major differences between LX2162A and LX2160A is the
SerDes, add the necessary nodes to its own fsl-lx2162a-serdes.dtsi file.

Also mark the serdes_1 node as disabled by default since any dts using
it enables it explicitly now.

Signed-off-by: Ioana Ciornei <ioana.ciornei at nxp.com>
---
Changes in v3:
- New patch
---
 .../dts/freescale/fsl-lx2162a-serdes.dtsi     | 69 ++++++++++++++++++-
 1 file changed, 67 insertions(+), 2 deletions(-)

diff --git a/arch/arm64/boot/dts/freescale/fsl-lx2162a-serdes.dtsi b/arch/arm64/boot/dts/freescale/fsl-lx2162a-serdes.dtsi
index 23f05a138eac..1ab18f0c67c2 100644
--- a/arch/arm64/boot/dts/freescale/fsl-lx2162a-serdes.dtsi
+++ b/arch/arm64/boot/dts/freescale/fsl-lx2162a-serdes.dtsi
@@ -7,15 +7,80 @@
 
 &soc {
 	serdes_1: phy at 1ea0000 {
-		compatible = "fsl,lynx-28g";
+		compatible = "fsl,lx2162a-serdes1", "fsl,lynx-28g";
 		reg = <0x0 0x1ea0000 0x0 0x1e30>;
+		#address-cells = <1>;
+		#size-cells = <0>;
 		#phy-cells = <1>;
+		status = "disabled";
+
+		serdes_1_lane_e: phy at 4 {
+			reg = <4>;
+			#phy-cells = <0>;
+		};
+
+		serdes_1_lane_f: phy at 5 {
+			reg = <5>;
+			#phy-cells = <0>;
+		};
+
+		serdes_1_lane_g: phy at 6 {
+			reg = <6>;
+			#phy-cells = <0>;
+		};
+
+		serdes_1_lane_h: phy at 7 {
+			reg = <7>;
+			#phy-cells = <0>;
+		};
 	};
 
 	serdes_2: phy at 1eb0000 {
-		compatible = "fsl,lynx-28g";
+		compatible = "fsl,lx2162a-serdes2", "fsl,lynx-28g";
 		reg = <0x0 0x1eb0000 0x0 0x1e30>;
+		#address-cells = <1>;
+		#size-cells = <0>;
 		#phy-cells = <1>;
 		status = "disabled";
+
+		serdes_2_lane_a: phy at 0 {
+			reg = <0>;
+			#phy-cells = <0>;
+		};
+
+		serdes_2_lane_b: phy at 1 {
+			reg = <1>;
+			#phy-cells = <0>;
+		};
+
+		serdes_2_lane_c: phy at 2 {
+			reg = <2>;
+			#phy-cells = <0>;
+		};
+
+		serdes_2_lane_d: phy at 3 {
+			reg = <3>;
+			#phy-cells = <0>;
+		};
+
+		serdes_2_lane_e: phy at 4 {
+			reg = <4>;
+			#phy-cells = <0>;
+		};
+
+		serdes_2_lane_f: phy at 5 {
+			reg = <5>;
+			#phy-cells = <0>;
+		};
+
+		serdes_2_lane_g: phy at 6 {
+			reg = <6>;
+			#phy-cells = <0>;
+		};
+
+		serdes_2_lane_h: phy at 7 {
+			reg = <7>;
+			#phy-cells = <0>;
+		};
 	};
 };
-- 
2.25.1




More information about the linux-arm-kernel mailing list