<html><head><meta name="color-scheme" content="light dark"></head><body><pre style="word-wrap: break-word; white-space: pre-wrap;">--- a/drivers/pci/controller/Kconfig
+++ b/drivers/pci/controller/Kconfig
@@ -48,6 +48,11 @@ config PCIE_CADENCE_EP
 	  endpoint mode. This PCIe controller may be embedded into many
 	  different vendors SoCs.
 
+config PCIE_OXNAS
+	bool "PLX Oxnas PCIe controller"
+	depends on ARCH_OXNAS
+	select PCIEPORTBUS
+
 endmenu
 
 config PCIE_XILINX_NWL
--- a/drivers/pci/controller/Makefile
+++ b/drivers/pci/controller/Makefile
@@ -28,6 +28,7 @@ obj-$(CONFIG_PCIE_ROCKCHIP_EP) += pcie-r
 obj-$(CONFIG_PCIE_ROCKCHIP_HOST) += pcie-rockchip-host.o
 obj-$(CONFIG_PCIE_MEDIATEK) += pcie-mediatek.o
 obj-$(CONFIG_PCIE_MOBIVEIL) += pcie-mobiveil.o
+obj-$(CONFIG_PCIE_OXNAS) += pcie-oxnas.o
 obj-$(CONFIG_PCIE_TANGO_SMP8759) += pcie-tango.o
 obj-$(CONFIG_VMD) += vmd.o
 # pcie-hisi.o quirks are needed even without CONFIG_PCIE_DW
--- a/arch/arm/boot/dts/ox820.dtsi
+++ b/arch/arm/boot/dts/ox820.dtsi
@@ -289,7 +289,7 @@
 			#address-cells = &lt;1&gt;;
 			#size-cells = &lt;1&gt;;
 			compatible = "simple-bus";
-			ranges = &lt;0 0x47000000 0x1000000&gt;;
+			ranges = &lt;0 0x47000000 0x2000&gt;;
 
 			scu: scu@0 {
 				compatible = "arm,arm11mp-scu";
@@ -318,5 +318,86 @@
 				      &lt;0x100 0x500&gt;;
 			};
 		};
+
+		pcie0: pcie-controller@47c00000 {
+			compatible = "plxtech,nas782x-pcie";
+			device_type = "pci";
+			#address-cells = &lt;3&gt;;
+			#size-cells = &lt;2&gt;;
+
+			/*		flag &amp; space	bus address	host address	size */
+			ranges = &lt;	0x82000000	0 0x48000000	0x48000000	0 0x2000000
+					0xC2000000	0 0x4A000000	0x4A000000	0 0x1E00000
+					0x81000000	0 0x4BE00000	0x4BE00000	0 0x0100000
+					0x80000000	0 0x4BF00000	0x4BF00000	0 0x0100000&gt;;
+
+			bus-range = &lt;0x00 0x7f&gt;;
+
+			/*	cfg			inbound translator	*/
+			reg =	&lt;0x47c00000 0x1000&gt;,	&lt;0x47d00000 0x100&gt;;
+
+			phys = &lt;&amp;pcie_phy&gt;;
+			phy-names = "pcie-phy";
+
+			#interrupt-cells = &lt;1&gt;;
+			/* wild card mask, match all bus address &amp; interrupt specifier */
+			/* format: bus address mask, interrupt specifier mask */
+			/* each bit 1 means need match, 0 means ignored when match */
+			interrupt-map-mask = &lt;0 0 0 0&gt;;
+			/* format: a list of: bus address, interrupt specifier,
+			 * parent interrupt controller &amp; specifier */
+			interrupt-map = &lt;0 0 0 0 &amp;gic 0 19 0x304&gt;;
+			gpios = &lt;&amp;gpio1 12 0&gt;;
+			clocks = &lt;&amp;stdclk CLK_820_PCIEA&gt;, &lt;&amp;pllb&gt;;
+			clock-names = "pcie", "busclk";
+			resets = &lt;&amp;reset RESET_PCIEA&gt;;
+			reset-names = "pcie";
+
+			plxtech,pcie-hcsl-bit = &lt;2&gt;;
+			plxtech,pcie-ctrl-offset = &lt;0x120&gt;;
+			plxtech,pcie-outbound-offset = &lt;0x138&gt;;
+			status = "disabled";
+		};
+
+		pcie1: pcie-controller@47e00000 {
+			compatible = "plxtech,nas782x-pcie";
+			device_type = "pci";
+			#address-cells = &lt;3&gt;;
+			#size-cells = &lt;2&gt;;
+
+			/*		flag &amp; space	bus address	host address	size */
+			ranges = &lt;	0x82000000	0 0x4C000000	0x4C000000	0 0x2000000
+					0xC2000000	0 0x4E000000	0x4E000000	0 0x1E00000
+					0x81000000	0 0x4FE00000	0x4FE00000	0 0x0100000
+					0x80000000	0 0x4FF00000	0x4FF00000	0 0x0100000&gt;;
+
+			bus-range = &lt;0x80 0xff&gt;;
+
+			/*	cfg			inbound translator	*/
+			reg =	&lt;0x47e00000 0x1000&gt;,	&lt;0x47f00000 0x100&gt;;
+
+			phys = &lt;&amp;pcie_phy&gt;;
+			phy-names = "pcie-phy";
+
+			#interrupt-cells = &lt;1&gt;;
+			/* wild card mask, match all bus address &amp; interrupt specifier */
+			/* format: bus address mask, interrupt specifier mask */
+			/* each bit 1 means need match, 0 means ignored when match */
+			interrupt-map-mask = &lt;0 0 0 0&gt;;
+			/* format: a list of: bus address, interrupt specifier,
+			 * parent interrupt controller &amp; specifier */
+			interrupt-map = &lt;0 0 0 0 &amp;gic 0 20 0x304&gt;;
+
+			/* gpios = &lt;&amp;gpio1 12 0&gt;; */
+			clocks = &lt;&amp;stdclk CLK_820_PCIEB&gt;, &lt;&amp;pllb&gt;;
+			clock-names = "pcie", "busclk";
+			resets = &lt;&amp;reset RESET_PCIEB&gt;;
+			reset-names = "pcie";
+
+			plxtech,pcie-hcsl-bit = &lt;3&gt;;
+			plxtech,pcie-ctrl-offset = &lt;0x124&gt;;
+			plxtech,pcie-outbound-offset = &lt;0x174&gt;;
+			status = "disabled";
+		};
 	};
 };
</pre></body></html>