diff mbox series

[2/3] arm64: dts: fsl-lx2160a: add rev2 support

Message ID 20240826-2160r2-v1-2-106340d538d6@nxp.com (mailing list archive)
State Handled Elsewhere
Delegated to: Krzysztof WilczyƄski
Headers show
Series arm64: dts: PCI: lx2160 use fsl,lx2160ar2-pcie | expand

Commit Message

Frank Li Aug. 26, 2024, 9:38 p.m. UTC
Add rev2 dtsi. Although uboot fixup can change compatible string
fsl,lx2160a-pcie to fsl,ls2088a-pcie since 2019, it is quite confused and
should correctly reflect hardware status. So add fsl-lx2160a-rev2.dtsi to
overwrite pcie's compatible string.

Add PCIe EP nodes.

Signed-off-by: Frank Li <Frank.Li@nxp.com>
---
 .../arm64/boot/dts/freescale/fsl-lx2160a-rev2.dtsi | 170 +++++++++++++++++++++
 arch/arm64/boot/dts/freescale/fsl-lx2160a.dtsi     |   2 +-
 2 files changed, 171 insertions(+), 1 deletion(-)

Comments

Frank Li Oct. 16, 2024, 4:24 p.m. UTC | #1
On Mon, Aug 26, 2024 at 05:38:33PM -0400, Frank Li wrote:
> Add rev2 dtsi. Although uboot fixup can change compatible string
> fsl,lx2160a-pcie to fsl,ls2088a-pcie since 2019, it is quite confused and
> should correctly reflect hardware status. So add fsl-lx2160a-rev2.dtsi to
> overwrite pcie's compatible string.
>
> Add PCIe EP nodes.
>
> Signed-off-by: Frank Li <Frank.Li@nxp.com>
> ---

Shawn:

	Do you have chance to check this?

best regards
Frank

>  .../arm64/boot/dts/freescale/fsl-lx2160a-rev2.dtsi | 170 +++++++++++++++++++++
>  arch/arm64/boot/dts/freescale/fsl-lx2160a.dtsi     |   2 +-
>  2 files changed, 171 insertions(+), 1 deletion(-)
>
> diff --git a/arch/arm64/boot/dts/freescale/fsl-lx2160a-rev2.dtsi b/arch/arm64/boot/dts/freescale/fsl-lx2160a-rev2.dtsi
> new file mode 100644
> index 0000000000000..432e54f6f7ae5
> --- /dev/null
> +++ b/arch/arm64/boot/dts/freescale/fsl-lx2160a-rev2.dtsi
> @@ -0,0 +1,170 @@
> +// SPDX-License-Identifier: (GPL-2.0 OR MIT)
> +//
> +// Device Tree file for LX2160 REV2
> +//
> +// Copyright 2025 NXP
> +
> +/dts-v1/;
> +
> +#include "fsl-lx2160a.dtsi"
> +
> +&pcie1 {
> +	compatible = "fsl,lx2160ar2-pcie", "fsl,ls2088a-pcie";
> +	reg = <0x00 0x03400000 0x0 0x00100000   /* controller registers */
> +	      0x80 0x00000000 0x0 0x00002000>; /* configuration space */
> +	reg-names = "regs", "config";
> +
> +	ranges = <0x81000000 0x0 0x00000000 0x80 0x00010000 0x0 0x00010000
> +		  0x82000000 0x0 0x40000000 0x80 0x40000000 0x0 0x40000000>;
> +
> +	interrupts = <GIC_SPI 108 IRQ_TYPE_LEVEL_HIGH>;
> +	interrupt-names = "intr";
> +
> +	/delete-property/ apio-wins;
> +	/delete-property/ ppio-wins;
> +};
> +
> +&pcie2 {
> +	compatible = "fsl,lx2160ar2-pcie", "fsl,ls2088a-pcie";
> +	reg = <0x00 0x03500000 0x0 0x00100000   /* controller registers */
> +	       0x88 0x00000000 0x0 0x00002000>; /* configuration space */
> +	reg-names = "regs", "config";
> +
> +	ranges = <0x81000000 0x0 0x00000000 0x88 0x00010000 0x0 0x00010000
> +		  0x82000000 0x0 0x40000000 0x88 0x40000000 0x0 0x40000000>;
> +
> +	interrupts = <GIC_SPI 113 IRQ_TYPE_LEVEL_HIGH>;
> +	interrupt-names = "intr";
> +
> +	/delete-property/ apio-wins;
> +	/delete-property/ ppio-wins;
> +};
> +
> +&pcie3 {
> +	compatible = "fsl,lx2160ar2-pcie", "fsl,ls2088a-pcie";
> +	reg = <0x00 0x03600000 0x0 0x00100000   /* controller registers */
> +	       0x90 0x00000000 0x0 0x00002000>; /* configuration space */
> +	reg-names = "regs", "config";
> +
> +	ranges = <0x81000000 0x0 0x00000000 0x90 0x00010000 0x0 0x00010000
> +		  0x82000000 0x0 0x40000000 0x90 0x40000000 0x0 0x40000000>;
> +
> +	interrupts = <GIC_SPI 118 IRQ_TYPE_LEVEL_HIGH>;
> +	interrupt-names = "intr";
> +
> +	/delete-property/ apio-wins;
> +	/delete-property/ ppio-wins;
> +};
> +
> +
> +&pcie4 {
> +	compatible = "fsl,lx2160ar2-pcie", "fsl,ls2088a-pcie";
> +	reg = <0x00 0x03700000 0x0 0x00100000   /* controller registers */
> +	       0x98 0x00000000 0x0 0x00002000>; /* configuration space */
> +	reg-names = "regs", "config";
> +
> +	ranges = <0x81000000 0x0 0x00000000 0x98 0x00010000 0x0 0x00010000
> +		  0x82000000 0x0 0x40000000 0x98 0x40000000 0x0 0x40000000>;
> +
> +	interrupts = <GIC_SPI 123 IRQ_TYPE_LEVEL_HIGH>;
> +	interrupt-names = "intr";
> +
> +	/delete-property/ apio-wins;
> +	/delete-property/ ppio-wins;
> +};
> +
> +&pcie5 {
> +	compatible = "fsl,lx2160ar2-pcie", "fsl,ls2088a-pcie";
> +	reg = <0x00 0x03800000 0x0 0x00100000   /* controller registers */
> +	       0xa0 0x00000000 0x0 0x00002000>; /* configuration space */
> +	reg-names = "regs", "config";
> +
> +	ranges = <0x81000000 0x0 0x00000000 0xa0 0x00010000 0x0 0x00010000
> +		  0x82000000 0x0 0x40000000 0xa0 0x40000000 0x0 0x40000000>;
> +
> +	interrupts = <GIC_SPI 128 IRQ_TYPE_LEVEL_HIGH>;
> +	interrupt-names = "intr";
> +
> +	/delete-property/ apio-wins;
> +	/delete-property/ ppio-wins;
> +};
> +
> +&pcie6 {
> +	compatible = "fsl,lx2160ar2-pcie", "fsl,ls2088a-pcie";
> +	reg = <0x00 0x03900000 0x0 0x00100000   /* controller registers */
> +	       0xa8 0x00000000 0x0 0x00002000>; /* configuration space */
> +	reg-names = "regs", "config";
> +
> +	ranges = <0x81000000 0x0 0x00000000 0xa8 0x00010000 0x0 0x00010000
> +		  0x82000000 0x0 0x40000000 0xa8 0x40000000 0x0 0x40000000>;
> +
> +	interrupts = <GIC_SPI 103 IRQ_TYPE_LEVEL_HIGH>;
> +	interrupt-names = "intr";
> +
> +	/delete-property/ apio-wins;
> +	/delete-property/ ppio-wins;
> +};
> +
> +&soc {
> +	pcie_ep1: pcie-ep@3400000 {
> +		compatible = "fsl,lx2160ar2-pcie-ep";
> +		reg = <0x00 0x03400000 0x0 0x00100000
> +		       0x80 0x00000000 0x8 0x00000000>;
> +		reg-names = "regs", "addr_space";
> +		num-ob-windows = <8>;
> +		num-ib-windows = <8>;
> +		status = "disabled";
> +	};
> +
> +	pcie_ep2: pcie-ep@3500000 {
> +		compatible = "fsl,lx2160ar2-pcie-ep";
> +		reg = <0x00 0x03500000 0x0 0x00100000
> +		       0x88 0x00000000 0x8 0x00000000>;
> +		reg-names = "regs", "addr_space";
> +		num-ob-windows = <8>;
> +		num-ib-windows = <8>;
> +		status = "disabled";
> +	};
> +
> +	pcie_ep3: pcie-ep@3600000 {
> +		compatible = "fsl,lx2160ar2-pcie-ep";
> +		reg = <0x00 0x03600000 0x0 0x00100000
> +		       0x90 0x00000000 0x8 0x00000000>;
> +		reg-names = "regs", "addr_space";
> +		num-ob-windows = <256>;
> +		num-ib-windows = <24>;
> +		status = "disabled";
> +	};
> +
> +	pcie_ep4: pcie-ep@3700000 {
> +		compatible = "fsl,lx2160ar2-pcie-ep";
> +		reg = <0x00 0x03700000 0x0 0x00100000
> +		       0x98 0x00000000 0x8 0x00000000>;
> +		reg-names = "regs", "addr_space";
> +		num-ob-windows = <8>;
> +		num-ib-windows = <8>;
> +		status = "disabled";
> +	};
> +
> +
> +	pcie_ep5: pcie-ep@3800000 {
> +		compatible = "fsl,lx2160ar2-pcie-ep";
> +		reg = <0x00 0x03800000 0x0 0x00100000
> +		       0xa0 0x00000000 0x8 0x00000000>;
> +		reg-names = "regs", "addr_space";
> +		num-ob-windows = <256>;
> +		num-ib-windows = <24>;
> +		status = "disabled";
> +	};
> +
> +	pcie_ep6: pcie-ep@3900000 {
> +		compatible = "fsl,lx2160ar2-pcie-ep";
> +		reg = <0x00 0x03900000 0x0 0x00100000
> +		       0xa8 0x00000000 0x8 0x00000000>;
> +		reg-names = "regs", "addr_space";
> +		num-ob-windows = <8>;
> +		num-ib-windows = <8>;
> +		status = "disabled";
> +	};
> +};
> +
> diff --git a/arch/arm64/boot/dts/freescale/fsl-lx2160a.dtsi b/arch/arm64/boot/dts/freescale/fsl-lx2160a.dtsi
> index 26c7ca31e22e7..b2dea03e1b8ec 100644
> --- a/arch/arm64/boot/dts/freescale/fsl-lx2160a.dtsi
> +++ b/arch/arm64/boot/dts/freescale/fsl-lx2160a.dtsi
> @@ -613,7 +613,7 @@ cluster2-3-crit {
>  		};
>  	};
>
> -	soc {
> +	soc: soc {
>  		compatible = "simple-bus";
>  		#address-cells = <2>;
>  		#size-cells = <2>;
>
> --
> 2.34.1
>
Shawn Guo Oct. 18, 2024, 3:03 a.m. UTC | #2
On Mon, Aug 26, 2024 at 05:38:33PM -0400, Frank Li wrote:
> Add rev2 dtsi. Although uboot fixup can change compatible string
> fsl,lx2160a-pcie to fsl,ls2088a-pcie since 2019, it is quite confused and
> should correctly reflect hardware status. So add fsl-lx2160a-rev2.dtsi to
> overwrite pcie's compatible string.
> 
> Add PCIe EP nodes.
> 
> Signed-off-by: Frank Li <Frank.Li@nxp.com>

Applied, thanks!
diff mbox series

Patch

diff --git a/arch/arm64/boot/dts/freescale/fsl-lx2160a-rev2.dtsi b/arch/arm64/boot/dts/freescale/fsl-lx2160a-rev2.dtsi
new file mode 100644
index 0000000000000..432e54f6f7ae5
--- /dev/null
+++ b/arch/arm64/boot/dts/freescale/fsl-lx2160a-rev2.dtsi
@@ -0,0 +1,170 @@ 
+// SPDX-License-Identifier: (GPL-2.0 OR MIT)
+//
+// Device Tree file for LX2160 REV2
+//
+// Copyright 2025 NXP
+
+/dts-v1/;
+
+#include "fsl-lx2160a.dtsi"
+
+&pcie1 {
+	compatible = "fsl,lx2160ar2-pcie", "fsl,ls2088a-pcie";
+	reg = <0x00 0x03400000 0x0 0x00100000   /* controller registers */
+	      0x80 0x00000000 0x0 0x00002000>; /* configuration space */
+	reg-names = "regs", "config";
+
+	ranges = <0x81000000 0x0 0x00000000 0x80 0x00010000 0x0 0x00010000
+		  0x82000000 0x0 0x40000000 0x80 0x40000000 0x0 0x40000000>;
+
+	interrupts = <GIC_SPI 108 IRQ_TYPE_LEVEL_HIGH>;
+	interrupt-names = "intr";
+
+	/delete-property/ apio-wins;
+	/delete-property/ ppio-wins;
+};
+
+&pcie2 {
+	compatible = "fsl,lx2160ar2-pcie", "fsl,ls2088a-pcie";
+	reg = <0x00 0x03500000 0x0 0x00100000   /* controller registers */
+	       0x88 0x00000000 0x0 0x00002000>; /* configuration space */
+	reg-names = "regs", "config";
+
+	ranges = <0x81000000 0x0 0x00000000 0x88 0x00010000 0x0 0x00010000
+		  0x82000000 0x0 0x40000000 0x88 0x40000000 0x0 0x40000000>;
+
+	interrupts = <GIC_SPI 113 IRQ_TYPE_LEVEL_HIGH>;
+	interrupt-names = "intr";
+
+	/delete-property/ apio-wins;
+	/delete-property/ ppio-wins;
+};
+
+&pcie3 {
+	compatible = "fsl,lx2160ar2-pcie", "fsl,ls2088a-pcie";
+	reg = <0x00 0x03600000 0x0 0x00100000   /* controller registers */
+	       0x90 0x00000000 0x0 0x00002000>; /* configuration space */
+	reg-names = "regs", "config";
+
+	ranges = <0x81000000 0x0 0x00000000 0x90 0x00010000 0x0 0x00010000
+		  0x82000000 0x0 0x40000000 0x90 0x40000000 0x0 0x40000000>;
+
+	interrupts = <GIC_SPI 118 IRQ_TYPE_LEVEL_HIGH>;
+	interrupt-names = "intr";
+
+	/delete-property/ apio-wins;
+	/delete-property/ ppio-wins;
+};
+
+
+&pcie4 {
+	compatible = "fsl,lx2160ar2-pcie", "fsl,ls2088a-pcie";
+	reg = <0x00 0x03700000 0x0 0x00100000   /* controller registers */
+	       0x98 0x00000000 0x0 0x00002000>; /* configuration space */
+	reg-names = "regs", "config";
+
+	ranges = <0x81000000 0x0 0x00000000 0x98 0x00010000 0x0 0x00010000
+		  0x82000000 0x0 0x40000000 0x98 0x40000000 0x0 0x40000000>;
+
+	interrupts = <GIC_SPI 123 IRQ_TYPE_LEVEL_HIGH>;
+	interrupt-names = "intr";
+
+	/delete-property/ apio-wins;
+	/delete-property/ ppio-wins;
+};
+
+&pcie5 {
+	compatible = "fsl,lx2160ar2-pcie", "fsl,ls2088a-pcie";
+	reg = <0x00 0x03800000 0x0 0x00100000   /* controller registers */
+	       0xa0 0x00000000 0x0 0x00002000>; /* configuration space */
+	reg-names = "regs", "config";
+
+	ranges = <0x81000000 0x0 0x00000000 0xa0 0x00010000 0x0 0x00010000
+		  0x82000000 0x0 0x40000000 0xa0 0x40000000 0x0 0x40000000>;
+
+	interrupts = <GIC_SPI 128 IRQ_TYPE_LEVEL_HIGH>;
+	interrupt-names = "intr";
+
+	/delete-property/ apio-wins;
+	/delete-property/ ppio-wins;
+};
+
+&pcie6 {
+	compatible = "fsl,lx2160ar2-pcie", "fsl,ls2088a-pcie";
+	reg = <0x00 0x03900000 0x0 0x00100000   /* controller registers */
+	       0xa8 0x00000000 0x0 0x00002000>; /* configuration space */
+	reg-names = "regs", "config";
+
+	ranges = <0x81000000 0x0 0x00000000 0xa8 0x00010000 0x0 0x00010000
+		  0x82000000 0x0 0x40000000 0xa8 0x40000000 0x0 0x40000000>;
+
+	interrupts = <GIC_SPI 103 IRQ_TYPE_LEVEL_HIGH>;
+	interrupt-names = "intr";
+
+	/delete-property/ apio-wins;
+	/delete-property/ ppio-wins;
+};
+
+&soc {
+	pcie_ep1: pcie-ep@3400000 {
+		compatible = "fsl,lx2160ar2-pcie-ep";
+		reg = <0x00 0x03400000 0x0 0x00100000
+		       0x80 0x00000000 0x8 0x00000000>;
+		reg-names = "regs", "addr_space";
+		num-ob-windows = <8>;
+		num-ib-windows = <8>;
+		status = "disabled";
+	};
+
+	pcie_ep2: pcie-ep@3500000 {
+		compatible = "fsl,lx2160ar2-pcie-ep";
+		reg = <0x00 0x03500000 0x0 0x00100000
+		       0x88 0x00000000 0x8 0x00000000>;
+		reg-names = "regs", "addr_space";
+		num-ob-windows = <8>;
+		num-ib-windows = <8>;
+		status = "disabled";
+	};
+
+	pcie_ep3: pcie-ep@3600000 {
+		compatible = "fsl,lx2160ar2-pcie-ep";
+		reg = <0x00 0x03600000 0x0 0x00100000
+		       0x90 0x00000000 0x8 0x00000000>;
+		reg-names = "regs", "addr_space";
+		num-ob-windows = <256>;
+		num-ib-windows = <24>;
+		status = "disabled";
+	};
+
+	pcie_ep4: pcie-ep@3700000 {
+		compatible = "fsl,lx2160ar2-pcie-ep";
+		reg = <0x00 0x03700000 0x0 0x00100000
+		       0x98 0x00000000 0x8 0x00000000>;
+		reg-names = "regs", "addr_space";
+		num-ob-windows = <8>;
+		num-ib-windows = <8>;
+		status = "disabled";
+	};
+
+
+	pcie_ep5: pcie-ep@3800000 {
+		compatible = "fsl,lx2160ar2-pcie-ep";
+		reg = <0x00 0x03800000 0x0 0x00100000
+		       0xa0 0x00000000 0x8 0x00000000>;
+		reg-names = "regs", "addr_space";
+		num-ob-windows = <256>;
+		num-ib-windows = <24>;
+		status = "disabled";
+	};
+
+	pcie_ep6: pcie-ep@3900000 {
+		compatible = "fsl,lx2160ar2-pcie-ep";
+		reg = <0x00 0x03900000 0x0 0x00100000
+		       0xa8 0x00000000 0x8 0x00000000>;
+		reg-names = "regs", "addr_space";
+		num-ob-windows = <8>;
+		num-ib-windows = <8>;
+		status = "disabled";
+	};
+};
+
diff --git a/arch/arm64/boot/dts/freescale/fsl-lx2160a.dtsi b/arch/arm64/boot/dts/freescale/fsl-lx2160a.dtsi
index 26c7ca31e22e7..b2dea03e1b8ec 100644
--- a/arch/arm64/boot/dts/freescale/fsl-lx2160a.dtsi
+++ b/arch/arm64/boot/dts/freescale/fsl-lx2160a.dtsi
@@ -613,7 +613,7 @@  cluster2-3-crit {
 		};
 	};
 
-	soc {
+	soc: soc {
 		compatible = "simple-bus";
 		#address-cells = <2>;
 		#size-cells = <2>;