From 8f69555ef54c59aa0207cdd0e15939417730a4e4 Mon Sep 17 00:00:00 2001 From: Ioana Ciornei Date: Fri, 17 Jul 2026 15:06:28 +0300 Subject: [PATCH] arm64: dts: lx2160a: extract the PCIe from LX2160A Rev2 into a separate file 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 Signed-off-by: Frank Li --- .../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 = ; - 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 = ; - 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 = ; - 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 = ; - 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 = ; - 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 = ; - 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 = ; + 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 = ; + 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 = ; + 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 = ; + 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 = ; + 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 = ; + 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"; + }; +};