From: "Jan Petrous (OSS)" Add the SerDes/PCIe combo-PHY controller nodes for S32G2 and S32G3 in the disabled state. Each SoC integrates two SerDes instances (SerDes_0 and SerDes_1) with identical register layout; every instance exposes the PCIe PHY and the two XPCS instances used for SGMII. Board device trees enable the required instance and add the lane PHY child nodes matching the wanted SerDes subsystem mode. Signed-off-by: Jan Petrous (OSS) --- arch/arm64/boot/dts/freescale/s32g2.dtsi | 32 ++++++++++++++++++++++++++++++++ arch/arm64/boot/dts/freescale/s32g3.dtsi | 32 ++++++++++++++++++++++++++++++++ 2 files changed, 64 insertions(+) diff --git a/arch/arm64/boot/dts/freescale/s32g2.dtsi b/arch/arm64/boot/dts/freescale/s32g2.dtsi index 6a2774d53747..404913b208fb 100644 --- a/arch/arm64/boot/dts/freescale/s32g2.dtsi +++ b/arch/arm64/boot/dts/freescale/s32g2.dtsi @@ -877,6 +877,38 @@ gmac0mdio: mdio { }; }; + serdes0: serdes@40480000 { + compatible = "nxp,s32g2-serdes0", "nxp,s32g2-serdes"; + reg = <0x40480000 0x108>, + <0x40483008 0x10>, + <0x40482000 0x800>, + <0x40482800 0x800>; + reg-names = "ss-pcie", "pcie-phy", "xpcs0", "xpcs1"; + clocks = <&clks 1>, <&clks 2>, <&clks 3>, <&clks 4>; + clock-names = "axi", "aux", "apb", "ref"; + resets = <&scmi_reset 9>, <&scmi_reset 8>; + reset-names = "serdes", "pcie"; + #address-cells = <1>; + #size-cells = <0>; + status = "disabled"; + }; + + serdes1: serdes@44180000 { + compatible = "nxp,s32g2-serdes1", "nxp,s32g2-serdes"; + reg = <0x44180000 0x108>, + <0x44183008 0x10>, + <0x44182000 0x800>, + <0x44182800 0x800>; + reg-names = "ss-pcie", "pcie-phy", "xpcs0", "xpcs1"; + clocks = <&clks 1>, <&clks 2>, <&clks 3>, <&clks 4>; + clock-names = "axi", "aux", "apb", "ref"; + resets = <&scmi_reset 11>, <&scmi_reset 10>; + reset-names = "serdes", "pcie"; + #address-cells = <1>; + #size-cells = <0>; + status = "disabled"; + }; + gic: interrupt-controller@50800000 { compatible = "arm,gic-v3"; reg = <0x50800000 0x10000>, diff --git a/arch/arm64/boot/dts/freescale/s32g3.dtsi b/arch/arm64/boot/dts/freescale/s32g3.dtsi index da3915b7e915..0d001b2895c6 100644 --- a/arch/arm64/boot/dts/freescale/s32g3.dtsi +++ b/arch/arm64/boot/dts/freescale/s32g3.dtsi @@ -956,6 +956,38 @@ gmac0mdio: mdio { }; }; + serdes0: serdes@40480000 { + compatible = "nxp,s32g3-serdes0", "nxp,s32g3-serdes"; + reg = <0x40480000 0x108>, + <0x40483008 0x10>, + <0x40482000 0x800>, + <0x40482800 0x800>; + reg-names = "ss-pcie", "pcie-phy", "xpcs0", "xpcs1"; + clocks = <&clks 1>, <&clks 2>, <&clks 3>, <&clks 4>; + clock-names = "axi", "aux", "apb", "ref"; + resets = <&scmi_reset 9>, <&scmi_reset 8>; + reset-names = "serdes", "pcie"; + #address-cells = <1>; + #size-cells = <0>; + status = "disabled"; + }; + + serdes1: serdes@44180000 { + compatible = "nxp,s32g3-serdes1", "nxp,s32g3-serdes"; + reg = <0x44180000 0x108>, + <0x44183008 0x10>, + <0x44182000 0x800>, + <0x44182800 0x800>; + reg-names = "ss-pcie", "pcie-phy", "xpcs0", "xpcs1"; + clocks = <&clks 1>, <&clks 2>, <&clks 3>, <&clks 4>; + clock-names = "axi", "aux", "apb", "ref"; + resets = <&scmi_reset 11>, <&scmi_reset 10>; + reset-names = "serdes", "pcie"; + #address-cells = <1>; + #size-cells = <0>; + status = "disabled"; + }; + swt8: watchdog@40500000 { compatible = "nxp,s32g3-swt", "nxp,s32g2-swt"; reg = <0x40500000 0x1000>; -- 2.55.0