riscv: dts: resolve the address conflict between PCIe switch and CPU sys

reserve a spare area in the low 4G space for pcie switch

Signed-off-by: fengchun.li <fengchun.li@sophgo.com>
This commit is contained in:
fengchun.li 2023-10-11 14:26:33 +08:00 committed by Xiaoguang Xing
parent 35a5b3e1a7
commit ded5db2262
4 changed files with 47 additions and 85 deletions

View File

@ -33,48 +33,10 @@
// 64bit prefetchable memory // 64bit prefetchable memory
// 64bit non-prefetchable memory // 64bit non-prefetchable memory
ranges = <0x01000000 0x0 0x00000000 0x48 0x10000000 0x0 0x00400000>, ranges = <0x01000000 0x0 0x00000000 0x48 0x10000000 0x0 0x00400000>,
<0x42000000 0x0 0x20000000 0x48 0x20000000 0x0 0x50000000>, <0x42000000 0x0 0xc0000000 0x48 0xc0000000 0x0 0x20000000>,
<0x02000000 0x0 0x70000000 0x48 0x70000000 0x0 0x20000000>, <0x02000000 0x0 0xe0000000 0x48 0xe0000000 0x0 0x20000000>,
<0x43000000 0x49 0x00000000 0x49 0x00000000 0x2 0x00000000>, <0x43000000 0x4a 0x00000000 0x4a 0x00000000 0x2 0x00000000>,
<0x03000000 0x4b 0x00000000 0x4b 0x00000000 0x1 0x00000000>; <0x03000000 0x49 0x00000000 0x49 0x00000000 0x1 0x00000000>;
dma-ranges = <0x03000000 0x0 0x0 0x0 0x0 0x1f 0x0>;
status = "okay";
};
pcie@7062800000 {
compatible = "sophgo,cdns-pcie-host";
device_type = "pci";
#address-cells = <3>;
#size-cells = <2>;
bus-range = <0x40 0x7f>;
linux,pci-domain = <1>;
cdns,max-outbound-regions = <16>;
cdns,no-bar-match-nbits = <48>;
vendor-id = /bits/ 16 <0x1E30>;
device-id = /bits/ 16 <0x2042>;
pcie-id = /bits/ 16 <0x1>;
link-id = /bits/ 16 <0x1>;
top-intc-used = <1>;
top-intc-id = <0>;
msix-supported = <0>;
interrupt-parent = <&intc1>;
//interrupts = <SOC_PERIPHERAL_IRQ(123) IRQ_TYPE_LEVEL_HIGH>;
//interrupt-names = "msi";
reg = <0x4c 0x00000000 0x0 0x00001000>;
reg-names = "cfg";
// IO, check IO_SPACE_LIMIT
// 32bit prefetchable memory
// 32bit non-prefetchable memory
// 64bit prefetchable memory
// 64bit non-prefetchable memory
ranges = <0x01000000 0x0 0x00000000 0x4c 0x10400000 0x0 0x00400000>,
<0x42000000 0x0 0x20000000 0x4c 0x20000000 0x0 0x50000000>,
<0x02000000 0x0 0x70000000 0x4c 0x70000000 0x0 0x20000000>,
<0x43000000 0x4d 0x00000000 0x4d 0x00000000 0x2 0x00000000>,
<0x03000000 0x4f 0x00000000 0x4f 0x00000000 0x1 0x00000000>;
dma-ranges = <0x03000000 0x0 0x0 0x0 0x0 0x1f 0x0>; dma-ranges = <0x03000000 0x0 0x0 0x0 0x0 0x1f 0x0>;
status = "okay"; status = "okay";
@ -110,10 +72,10 @@
// 64bit prefetchable memory // 64bit prefetchable memory
// 64bit non-prefetchable memory // 64bit non-prefetchable memory
ranges = <0x01000000 0x0 0x00800000 0xc0 0x10800000 0x0 0x00800000>, ranges = <0x01000000 0x0 0x00800000 0xc0 0x10800000 0x0 0x00800000>,
<0x42000000 0x0 0x90000000 0xc0 0x90000000 0x0 0x50000000>, <0x42000000 0x0 0xc0000000 0xc0 0xc0000000 0x0 0x20000000>,
<0x02000000 0x0 0xe0000000 0xc0 0xe0000000 0x0 0x20000000>, <0x02000000 0x0 0xe0000000 0xc0 0xe0000000 0x0 0x20000000>,
<0x43000000 0xc1 0x00000000 0xc1 0x00000000 0x2 0x00000000>, <0x43000000 0xc2 0x00000000 0xc2 0x00000000 0x2 0x00000000>,
<0x03000000 0xc3 0x00000000 0xc3 0x00000000 0x1 0x00000000>; <0x03000000 0xc1 0x00000000 0xc1 0x00000000 0x1 0x00000000>;
dma-ranges = <0x03000000 0x0 0x0 0x0 0x0 0x1f 0x0>; dma-ranges = <0x03000000 0x0 0x0 0x0 0x0 0x1f 0x0>;
status = "okay"; status = "okay";

View File

@ -32,10 +32,10 @@
// 64bit prefetchable memory // 64bit prefetchable memory
// 64bit non-prefetchable memory // 64bit non-prefetchable memory
ranges = <0x01000000 0x0 0x00000000 0x40 0x10000000 0x0 0x00400000>, ranges = <0x01000000 0x0 0x00000000 0x40 0x10000000 0x0 0x00400000>,
<0x42000000 0x0 0x20000000 0x40 0x20000000 0x0 0x30000000>, <0x42000000 0x0 0x40000000 0x40 0x40000000 0x0 0x40000000>,
<0x02000000 0x0 0x50000000 0x40 0x50000000 0x0 0x10000000>, <0x02000000 0x0 0x80000000 0x40 0x80000000 0x0 0x80000000>,
<0x43000000 0x41 0x00000000 0x41 0x00000000 0x2 0x00000000>, <0x43000000 0x42 0x00000000 0x42 0x00000000 0x2 0x00000000>,
<0x03000000 0x43 0x00000000 0x43 0x00000000 0x1 0x00000000>; <0x03000000 0x41 0x00000000 0x41 0x00000000 0x1 0x00000000>;
dma-ranges = <0x03000000 0x0 0x0 0x0 0x0 0x1f 0x0>; dma-ranges = <0x03000000 0x0 0x0 0x0 0x0 0x1f 0x0>;
status = "okay"; status = "okay";
@ -70,10 +70,10 @@
// 64bit prefetchable memory // 64bit prefetchable memory
// 64bit non-prefetchable memory // 64bit non-prefetchable memory
ranges = <0x01000000 0x0 0x00400000 0x44 0x10400000 0x0 0x00400000>, ranges = <0x01000000 0x0 0x00400000 0x44 0x10400000 0x0 0x00400000>,
<0x42000000 0x0 0x60000000 0x44 0x60000000 0x0 0x20000000>, <0x42000000 0x0 0xf8000000 0x44 0xf8000000 0x0 0x04000000>,
<0x02000000 0x0 0x80000000 0x44 0x80000000 0x0 0x10000000>, <0x02000000 0x0 0xfc000000 0x44 0xfc000000 0x0 0x04000000>,
<0x43000000 0x45 0x00000000 0x45 0x00000000 0x2 0x00000000>, <0x43000000 0x46 0x00000000 0x46 0x00000000 0x2 0x00000000>,
<0x03000000 0x47 0x00000000 0x47 0x00000000 0x1 0x00000000>; <0x03000000 0x45 0x00000000 0x45 0x00000000 0x1 0x00000000>;
dma-ranges = <0x03000000 0x0 0x0 0x0 0x0 0x1f 0x0>; dma-ranges = <0x03000000 0x0 0x0 0x0 0x0 0x1f 0x0>;
status = "okay"; status = "okay";
@ -107,10 +107,10 @@
// 64bit prefetchable memory // 64bit prefetchable memory
// 64bit non-prefetchable memory // 64bit non-prefetchable memory
ranges = <0x01000000 0x0 0x00800000 0x48 0x10800000 0x0 0x00800000>, ranges = <0x01000000 0x0 0x00800000 0x48 0x10800000 0x0 0x00800000>,
<0x42000000 0x0 0x90000000 0x48 0x90000000 0x0 0x50000000>, <0x42000000 0x0 0x40000000 0x48 0x40000000 0x0 0x40000000>,
<0x02000000 0x0 0xe0000000 0x48 0xe0000000 0x0 0x20000000>, <0x02000000 0x0 0x80000000 0x48 0x80000000 0x0 0x80000000>,
<0x43000000 0x49 0x00000000 0x49 0x00000000 0x2 0x00000000>, <0x43000000 0x4a 0x00000000 0x4a 0x00000000 0x2 0x00000000>,
<0x03000000 0x4b 0x00000000 0x4b 0x00000000 0x1 0x00000000>; <0x03000000 0x49 0x00000000 0x49 0x00000000 0x1 0x00000000>;
dma-ranges = <0x03000000 0x0 0x0 0x0 0x0 0x1f 0x0>; dma-ranges = <0x03000000 0x0 0x0 0x0 0x0 0x1f 0x0>;
status = "okay"; status = "okay";

View File

@ -31,10 +31,10 @@
// 64bit prefetchable memory // 64bit prefetchable memory
// 64bit non-prefetchable memory // 64bit non-prefetchable memory
ranges = <0x01000000 0x0 0x00000000 0x40 0x10000000 0x0 0x00400000>, ranges = <0x01000000 0x0 0x00000000 0x40 0x10000000 0x0 0x00400000>,
<0x42000000 0x0 0x20000000 0x40 0x20000000 0x0 0x30000000>, <0x42000000 0x0 0x40000000 0x40 0x40000000 0x0 0x40000000>,
<0x02000000 0x0 0x50000000 0x40 0x50000000 0x0 0x10000000>, <0x02000000 0x0 0x80000000 0x40 0x80000000 0x0 0x80000000>,
<0x43000000 0x41 0x00000000 0x41 0x00000000 0x2 0x00000000>, <0x43000000 0x42 0x00000000 0x42 0x00000000 0x2 0x00000000>,
<0x03000000 0x43 0x00000000 0x43 0x00000000 0x1 0x00000000>; <0x03000000 0x41 0x00000000 0x41 0x00000000 0x1 0x00000000>;
dma-ranges = <0x03000000 0x0 0x0 0x0 0x0 0x1f 0x0>; dma-ranges = <0x03000000 0x0 0x0 0x0 0x0 0x1f 0x0>;
status = "okay"; status = "okay";
@ -67,10 +67,10 @@
// 64bit prefetchable memory // 64bit prefetchable memory
// 64bit non-prefetchable memory // 64bit non-prefetchable memory
ranges = <0x01000000 0x0 0x00400000 0x44 0x10400000 0x0 0x00400000>, ranges = <0x01000000 0x0 0x00400000 0x44 0x10400000 0x0 0x00400000>,
<0x42000000 0x0 0x60000000 0x44 0x60000000 0x0 0x20000000>, <0x42000000 0x0 0x40000000 0x44 0x40000000 0x0 0x40000000>,
<0x02000000 0x0 0x80000000 0x44 0x80000000 0x0 0x10000000>, <0x02000000 0x0 0x80000000 0x44 0x80000000 0x0 0x80000000>,
<0x43000000 0x45 0x00000000 0x45 0x00000000 0x2 0x00000000>, <0x43000000 0x46 0x00000000 0x46 0x00000000 0x2 0x00000000>,
<0x03000000 0x47 0x00000000 0x47 0x00000000 0x1 0x00000000>; <0x03000000 0x45 0x00000000 0x45 0x00000000 0x1 0x00000000>;
dma-ranges = <0x03000000 0x0 0x0 0x0 0x0 0x1f 0x0>; dma-ranges = <0x03000000 0x0 0x0 0x0 0x0 0x1f 0x0>;
status = "okay"; status = "okay";
@ -104,10 +104,10 @@
// 64bit prefetchable memory // 64bit prefetchable memory
// 64bit non-prefetchable memory // 64bit non-prefetchable memory
ranges = <0x01000000 0x0 0x00800000 0x48 0x10800000 0x0 0x00800000>, ranges = <0x01000000 0x0 0x00800000 0x48 0x10800000 0x0 0x00800000>,
<0x42000000 0x0 0x90000000 0x48 0x90000000 0x0 0x50000000>, <0x42000000 0x0 0x40000000 0x48 0x40000000 0x0 0x40000000>,
<0x02000000 0x0 0xe0000000 0x48 0xe0000000 0x0 0x20000000>, <0x02000000 0x0 0x80000000 0x48 0x80000000 0x0 0x80000000>,
<0x43000000 0x49 0x00000000 0x49 0x00000000 0x2 0x00000000>, <0x43000000 0x49 0x00000000 0x49 0x00000000 0x1 0x00000000>,
<0x03000000 0x4b 0x00000000 0x4b 0x00000000 0x1 0x00000000>; <0x03000000 0x4a 0x00000000 0x4a 0x00000000 0x2 0x00000000>;
dma-ranges = <0x03000000 0x0 0x0 0x0 0x0 0x1f 0x0>; dma-ranges = <0x03000000 0x0 0x0 0x0 0x0 0x1f 0x0>;
status = "okay"; status = "okay";

View File

@ -31,10 +31,10 @@
// 64bit prefetchable memory // 64bit prefetchable memory
// 64bit non-prefetchable memory // 64bit non-prefetchable memory
ranges = <0x01000000 0x0 0x00000000 0x40 0x10000000 0x0 0x00400000>, ranges = <0x01000000 0x0 0x00000000 0x40 0x10000000 0x0 0x00400000>,
<0x42000000 0x0 0x20000000 0x40 0x20000000 0x0 0x30000000>, <0x42000000 0x0 0x40000000 0x40 0x40000000 0x0 0x40000000>,
<0x02000000 0x0 0x50000000 0x40 0x50000000 0x0 0x10000000>, <0x02000000 0x0 0x80000000 0x40 0x80000000 0x0 0x80000000>,
<0x43000000 0x41 0x00000000 0x41 0x00000000 0x2 0x00000000>, <0x43000000 0x42 0x00000000 0x42 0x00000000 0x2 0x00000000>,
<0x03000000 0x43 0x00000000 0x43 0x00000000 0x1 0x00000000>; <0x03000000 0x41 0x00000000 0x41 0x00000000 0x1 0x00000000>;
dma-ranges = <0x03000000 0x0 0x0 0x0 0x0 0x1f 0x0>; dma-ranges = <0x03000000 0x0 0x0 0x0 0x0 0x1f 0x0>;
status = "okay"; status = "okay";
@ -67,10 +67,10 @@
// 64bit prefetchable memory // 64bit prefetchable memory
// 64bit non-prefetchable memory // 64bit non-prefetchable memory
ranges = <0x01000000 0x0 0x00400000 0x44 0x10400000 0x0 0x00400000>, ranges = <0x01000000 0x0 0x00400000 0x44 0x10400000 0x0 0x00400000>,
<0x42000000 0x0 0x60000000 0x44 0x60000000 0x0 0x20000000>, <0x42000000 0x0 0x40000000 0x44 0x40000000 0x0 0x40000000>,
<0x02000000 0x0 0x80000000 0x44 0x80000000 0x0 0x10000000>, <0x02000000 0x0 0x80000000 0x44 0x80000000 0x0 0x80000000>,
<0x43000000 0x45 0x00000000 0x45 0x00000000 0x2 0x00000000>, <0x43000000 0x46 0x00000000 0x46 0x00000000 0x2 0x00000000>,
<0x03000000 0x47 0x00000000 0x47 0x00000000 0x1 0x00000000>; <0x03000000 0x45 0x00000000 0x45 0x00000000 0x1 0x00000000>;
dma-ranges = <0x03000000 0x0 0x0 0x0 0x0 0x1f 0x0>; dma-ranges = <0x03000000 0x0 0x0 0x0 0x0 0x1f 0x0>;
status = "okay"; status = "okay";
@ -104,10 +104,10 @@
// 64bit prefetchable memory // 64bit prefetchable memory
// 64bit non-prefetchable memory // 64bit non-prefetchable memory
ranges = <0x01000000 0x0 0x00800000 0x48 0x10800000 0x0 0x00400000>, ranges = <0x01000000 0x0 0x00800000 0x48 0x10800000 0x0 0x00400000>,
<0x42000000 0x0 0x90000000 0x48 0x90000000 0x0 0x30000000>, <0x42000000 0x0 0x40000000 0x48 0x40000000 0x0 0x40000000>,
<0x02000000 0x0 0xc0000000 0x48 0xc0000000 0x0 0x10000000>, <0x02000000 0x0 0x80000000 0x48 0x80000000 0x0 0x80000000>,
<0x43000000 0x49 0x00000000 0x49 0x00000000 0x2 0x00000000>, <0x03000000 0x49 0x00000000 0x49 0x00000000 0x1 0x00000000>,
<0x03000000 0x4b 0x00000000 0x4b 0x00000000 0x1 0x00000000>; <0x43000000 0x4a 0x00000000 0x4a 0x00000000 0x2 0x00000000>;
dma-ranges = <0x03000000 0x0 0x0 0x0 0x0 0x1f 0x0>; dma-ranges = <0x03000000 0x0 0x0 0x0 0x0 0x1f 0x0>;
status = "okay"; status = "okay";
@ -140,10 +140,10 @@
// 64bit prefetchable memory // 64bit prefetchable memory
// 64bit non-prefetchable memory // 64bit non-prefetchable memory
ranges = <0x01000000 0x0 0x00c00000 0x4c 0x10c00000 0x0 0x00400000>, ranges = <0x01000000 0x0 0x00c00000 0x4c 0x10c00000 0x0 0x00400000>,
<0x42000000 0x0 0xd0000000 0x4c 0xd0000000 0x0 0x20000000>, <0x42000000 0x0 0xf8000000 0x4c 0xf8000000 0x0 0x04000000>,
<0x02000000 0x0 0xf0000000 0x4c 0xf0000000 0x0 0x10000000>, <0x02000000 0x0 0xfc000000 0x4c 0xfc000000 0x0 0x04000000>,
<0x43000000 0x4d 0x00000000 0x4d 0x00000000 0x2 0x00000000>, <0x43000000 0x4e 0x00000000 0x4e 0x00000000 0x2 0x00000000>,
<0x03000000 0x4f 0x00000000 0x4f 0x00000000 0x1 0x00000000>; <0x03000000 0x4d 0x00000000 0x4d 0x00000000 0x1 0x00000000>;
dma-ranges = <0x03000000 0x0 0x0 0x0 0x0 0x1f 0x0>; dma-ranges = <0x03000000 0x0 0x0 0x0 0x0 0x1f 0x0>;
status = "okay"; status = "okay";