PCI / PCIe related dts issues

Tom Rini trini at konsulko.com
Mon Feb 10 23:56:31 CET 2020


Hey all,

I'm sending this message to folks that are listed as maintainer for a
platform that has some PCI / PCIe related DTS problems.  These problems
can be seen if you apply the following patch:

diff --git a/scripts/Makefile.extrawarn b/scripts/Makefile.extrawarn
index da6df1429fb8..07c65f170b82 100644
--- a/scripts/Makefile.extrawarn
+++ b/scripts/Makefile.extrawarn
@@ -71,8 +71,6 @@ else
 ifeq ($(findstring 1,$(KBUILD_ENABLE_EXTRA_GCC_CHECKS)),)
 DTC_FLAGS += -Wno-unit_address_vs_reg
 DTC_FLAGS += -Wno-unit_address_format
-DTC_FLAGS += -Wno-pci_bridge
-DTC_FLAGS += -Wno-pci_device_bus_num
 DTC_FLAGS += -Wno-pci_device_reg
 DTC_FLAGS += -Wno-avoid_unnecessary_addr_size
 DTC_FLAGS += -Wno-alias_paths

Doing this would bring us slightly closer to being in-line with current
Linux-kernel kbuild files, is why I bring this up.  A way to fix this on
sandbox for example, which also has this problem is:

diff --git a/arch/sandbox/dts/sandbox.dts b/arch/sandbox/dts/sandbox.dts
index 4dd82f6a32fd..2d7db0249ebe 100644
--- a/arch/sandbox/dts/sandbox.dts
+++ b/arch/sandbox/dts/sandbox.dts
@@ -10,7 +10,7 @@
 
 	aliases {
 		i2c0 = &i2c_0;
-		pci0 = &pci;
+		pci0 = &pcic;
 		rtc0 = &rtc_0;
 		axi0 = &axi;
 		spi0 = &spi;
@@ -52,9 +52,10 @@
 		pinctrl-0 = <&pinctrl_i2c0>;
 	};
 
-	pci: pci-controller {
+	pcic: pci at 0 {
 		compatible = "sandbox,pci";
 		device_type = "pci";
+		bus-range = <0x00 0xff>;
 		#address-cells = <3>;
 		#size-cells = <2>;
 		ranges = <0x02000000 0 0x10000000 0x10000000 0 0x2000
diff --git a/arch/sandbox/dts/sandbox.dtsi b/arch/sandbox/dts/sandbox.dtsi
index 7bf144f53265..f7f3de784292 100644
--- a/arch/sandbox/dts/sandbox.dtsi
+++ b/arch/sandbox/dts/sandbox.dtsi
@@ -99,7 +99,7 @@
 		};
 	};
 
-	pci-controller {
+	pci at 0 {
 		pci at 1e,0 {
 			compatible = "sandbox,pmc";
 			reg = <0xf000 0 0 0 0>;
diff --git a/arch/sandbox/dts/sandbox64.dts b/arch/sandbox/dts/sandbox64.dts
index 5c95cee9d7a9..97e33f110eef 100644
--- a/arch/sandbox/dts/sandbox64.dts
+++ b/arch/sandbox/dts/sandbox64.dts
@@ -10,7 +10,7 @@
 
 	aliases {
 		i2c0 = &i2c_0;
-		pci0 = &pci;
+		pci0 = &pcic;
 		rtc0 = &rtc_0;
 		axi0 = &axi;
 		spi0 = &spi;
@@ -47,9 +47,10 @@
 		pinctrl-0 = <&pinctrl_i2c0>;
 	};
 
-	pci: pci-controller {
+	pcic: pci at 0 {
 		compatible = "sandbox,pci";
 		device_type = "pci";
+		bus-range = <0x00 0xff>;
 		#address-cells = <3>;
 		#size-cells = <2>;
 		ranges = <0x02000000 0 0x10000000 0 0x10000000 0 0x2000
diff --git a/arch/sandbox/dts/test.dts b/arch/sandbox/dts/test.dts
index c22844743143..4d3c42077858 100644
--- a/arch/sandbox/dts/test.dts
+++ b/arch/sandbox/dts/test.dts
@@ -463,9 +463,10 @@
 		compatible = "sandbox,pch";
 	};
 
-	pci0: pci-controller0 {
+	pci0: pci at 0 {
 		compatible = "sandbox,pci";
 		device_type = "pci";
+		bus-range = <0x00 0xff>;
 		#address-cells = <3>;
 		#size-cells = <2>;
 		ranges = <0x02000000 0 0x10000000 0x10000000 0 0x2000000
@@ -531,9 +532,10 @@
 		};
 	};
 
-	pci1: pci-controller1 {
+	pci1: pci at 1 {
 		compatible = "sandbox,pci";
 		device_type = "pci";
+		bus-range = <0x00 0xff>;
 		#address-cells = <3>;
 		#size-cells = <2>;
 		ranges = <0x02000000 0 0x30000000 0x30000000 0 0x2000
@@ -546,9 +548,10 @@
 		};
 	};
 
-	pci2: pci-controller2 {
+	pci2: pci at 2 {
 		compatible = "sandbox,pci";
 		device_type = "pci";
+		bus-range = <0x00 0xff>;
 		#address-cells = <3>;
 		#size-cells = <2>;
 		ranges = <0x02000000 0 0x50000000 0x50000000 0 0x2000

And as these are also warnings that are normally visible in Linux. you
may just need to re-sync your dts files.  Thanks!

-- 
Tom
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 833 bytes
Desc: not available
URL: <https://lists.denx.de/pipermail/u-boot/attachments/20200210/38309ea2/attachment.sig>


More information about the U-Boot mailing list