[PATCH v3 04/11] arm64: dts: lx2160a: extract the PCIe from LX2160A Rev2 into a separate file
From: Ioana Ciornei
Date: Fri Jul 17 2026 - 08:09:36 EST
The LX2160A Rev2 SoC changed the PCIe controllers used. This difference
is reflected in the fsl-lx2160a-rev2.dtsi file which modifies the
relevant dt nodes so that they match the actual HW.
Extract these modifications into a separate dtsi file as a first step
into a complete overhaul of the LX216xA related dts files with the
intent to not use delete-node or delete-property. No final dtb changes
are expected with this patch.
Signed-off-by: Ioana Ciornei <ioana.ciornei@xxxxxxx>
---
Changes in v3:
- New patch
---
.../boot/dts/freescale/fsl-lx2160a-rev2.dtsi | 185 +----------------
.../dts/freescale/fsl-lx216xa-pcie-gen3.dtsi | 187 ++++++++++++++++++
2 files changed, 188 insertions(+), 184 deletions(-)
create mode 100644 arch/arm64/boot/dts/freescale/fsl-lx216xa-pcie-gen3.dtsi
diff --git a/arch/arm64/boot/dts/freescale/fsl-lx2160a-rev2.dtsi b/arch/arm64/boot/dts/freescale/fsl-lx2160a-rev2.dtsi
index 3d2637fee2d3..c2a18cfd8efc 100644
--- a/arch/arm64/boot/dts/freescale/fsl-lx2160a-rev2.dtsi
+++ b/arch/arm64/boot/dts/freescale/fsl-lx2160a-rev2.dtsi
@@ -7,187 +7,4 @@
/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 = /* 16-Bit IO Window */
- <0x81000000 0x00 0x00000000 0x80 0x00010000 0x00 0x00010000>,
- /* 32-Bit - non-prefetchable */
- <0x82000000 0x00 0x40000000 0x80 0x40000000 0x00 0x40000000>,
- /* 64-Bit - prefetchable - 16GB */
- <0xC3000000 0x84 0x00000000 0x84 0x00000000 0x04 0x00000000>;
-
- 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 = /* 16-Bit IO Window */
- <0x81000000 0x00 0x00000000 0x88 0x00010000 0x00 0x00010000>,
- /* 32-Bit - non-prefetchable */
- <0x82000000 0x00 0x40000000 0x88 0x40000000 0x00 0x40000000>,
- /* 64-Bit - prefetchable - 16GB */
- <0xC3000000 0x8c 0x00000000 0x8c 0x00000000 0x04 0x00000000>;
-
- 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 = /* 16-Bit IO Window */
- <0x81000000 0x00 0x00000000 0x90 0x00010000 0x00 0x00010000>,
- /* 32-Bit - non-prefetchable */
- <0x82000000 0x00 0x40000000 0x90 0x40000000 0x00 0x40000000>,
- /* 64-Bit - prefetchable - 16GB */
- <0xC3000000 0x94 0x00000000 0x94 0x00000000 0x04 0x00000000>;
-
- 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 = /* 16-Bit IO Window */
- <0x81000000 0x00 0x00000000 0x98 0x00010000 0x00 0x00010000>,
- /* 32-Bit - non-prefetchable */
- <0x82000000 0x00 0x40000000 0x98 0x40000000 0x00 0x40000000>,
- /* 64-Bit - prefetchable - 16GB */
- <0xC3000000 0x9c 0x00000000 0x9c 0x00000000 0x04 0x00000000>;
-
- 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 = /* 16-Bit IO Window */
- <0x81000000 0x00 0x00000000 0xa0 0x00010000 0x00 0x00010000>,
- /* 32-Bit - non-prefetchable */
- <0x82000000 0x00 0x40000000 0xa0 0x40000000 0x00 0x40000000>,
- /* 64-Bit - prefetchable - 16GB */
- <0xC3000000 0xa4 0x00000000 0xa4 0x00000000 0x04 0x00000000>;
-
- 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 = /* 16-Bit IO Window */
- <0x81000000 0x00 0x00000000 0xa8 0x00010000 0x00 0x00010000>,
- /* 32-Bit - non-prefetchable */
- <0x82000000 0x00 0x40000000 0xa8 0x40000000 0x00 0x40000000>,
- /* 64-Bit - prefetchable - 16GB */
- <0xC3000000 0xac 0x00000000 0xac 0x00000000 0x04 0x00000000>;
-
- 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";
- };
-};
+#include "fsl-lx216xa-pcie-gen3.dtsi"
diff --git a/arch/arm64/boot/dts/freescale/fsl-lx216xa-pcie-gen3.dtsi b/arch/arm64/boot/dts/freescale/fsl-lx216xa-pcie-gen3.dtsi
new file mode 100644
index 000000000000..f405b21e68fc
--- /dev/null
+++ b/arch/arm64/boot/dts/freescale/fsl-lx216xa-pcie-gen3.dtsi
@@ -0,0 +1,187 @@
+// SPDX-License-Identifier: (GPL-2.0 OR MIT)
+//
+// Device Tree file describing the PCIe IPs found on the LX2160A Rev2 and LX2162A SoCs
+//
+// Copyright 2026 NXP
+
+&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 = /* 16-Bit IO Window */
+ <0x81000000 0x00 0x00000000 0x80 0x00010000 0x00 0x00010000>,
+ /* 32-Bit - non-prefetchable */
+ <0x82000000 0x00 0x40000000 0x80 0x40000000 0x00 0x40000000>,
+ /* 64-Bit - prefetchable - 16GB */
+ <0xC3000000 0x84 0x00000000 0x84 0x00000000 0x04 0x00000000>;
+
+ 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 = /* 16-Bit IO Window */
+ <0x81000000 0x00 0x00000000 0x88 0x00010000 0x00 0x00010000>,
+ /* 32-Bit - non-prefetchable */
+ <0x82000000 0x00 0x40000000 0x88 0x40000000 0x00 0x40000000>,
+ /* 64-Bit - prefetchable - 16GB */
+ <0xC3000000 0x8c 0x00000000 0x8c 0x00000000 0x04 0x00000000>;
+
+ 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 = /* 16-Bit IO Window */
+ <0x81000000 0x00 0x00000000 0x90 0x00010000 0x00 0x00010000>,
+ /* 32-Bit - non-prefetchable */
+ <0x82000000 0x00 0x40000000 0x90 0x40000000 0x00 0x40000000>,
+ /* 64-Bit - prefetchable - 16GB */
+ <0xC3000000 0x94 0x00000000 0x94 0x00000000 0x04 0x00000000>;
+
+ 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 = /* 16-Bit IO Window */
+ <0x81000000 0x00 0x00000000 0x98 0x00010000 0x00 0x00010000>,
+ /* 32-Bit - non-prefetchable */
+ <0x82000000 0x00 0x40000000 0x98 0x40000000 0x00 0x40000000>,
+ /* 64-Bit - prefetchable - 16GB */
+ <0xC3000000 0x9c 0x00000000 0x9c 0x00000000 0x04 0x00000000>;
+
+ 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 = /* 16-Bit IO Window */
+ <0x81000000 0x00 0x00000000 0xa0 0x00010000 0x00 0x00010000>,
+ /* 32-Bit - non-prefetchable */
+ <0x82000000 0x00 0x40000000 0xa0 0x40000000 0x00 0x40000000>,
+ /* 64-Bit - prefetchable - 16GB */
+ <0xC3000000 0xa4 0x00000000 0xa4 0x00000000 0x04 0x00000000>;
+
+ 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 = /* 16-Bit IO Window */
+ <0x81000000 0x00 0x00000000 0xa8 0x00010000 0x00 0x00010000>,
+ /* 32-Bit - non-prefetchable */
+ <0x82000000 0x00 0x40000000 0xa8 0x40000000 0x00 0x40000000>,
+ /* 64-Bit - prefetchable - 16GB */
+ <0xC3000000 0xac 0x00000000 0xac 0x00000000 0x04 0x00000000>;
+
+ 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";
+ };
+};
--
2.25.1