diff --git a/target/linux/ramips/dts/AC1200RM.dts b/target/linux/ramips/dts/AC1200RM.dts
index 5215f5d6a84c9f48b1745bbe772254a2a4a60bcd..5b826ac8c4ba10ba174ddd80451a981e85c186e6 100644
--- a/target/linux/ramips/dts/AC1200RM.dts
+++ b/target/linux/ramips/dts/AC1200RM.dts
@@ -110,18 +110,17 @@
 
 &pcie {
 	status = "okay";
+};
+
+&pcie0 {
+	mt76@0,0 {
+		reg = <0x0000 0 0 0 0>;
+		mediatek,mtd-eeprom = <&factory 0x8000>;
+		ieee80211-freq-limit = <5000000 6000000>;
 
-	pcie-bridge {
-		mt76@0,0 {
-			reg = <0x0000 0 0 0 0>;
-			device_type = "pci";
-			mediatek,mtd-eeprom = <&factory 0x8000>;
-			ieee80211-freq-limit = <5000000 6000000>;
-
-			led {
-				led-sources = <2>;
-				led-active-low;
-			};
+		led {
+			led-sources = <2>;
+			led-active-low;
 		};
 	};
 };
diff --git a/target/linux/ramips/dts/ArcherC2-v1.dts b/target/linux/ramips/dts/ArcherC2-v1.dts
index 2387dbcf8d44f0996118c5c436dbbda1f2527ca1..5cdad56e1e715f244d6bec931cf952d7488a644f 100644
--- a/target/linux/ramips/dts/ArcherC2-v1.dts
+++ b/target/linux/ramips/dts/ArcherC2-v1.dts
@@ -171,12 +171,11 @@
 
 &pcie {
 	status = "okay";
+};
 
-	pcie-bridge {
-		mt76@0,0 {
-			reg = <0x0000 0 0 0 0>;
-			device_type = "pci";
-			mediatek,mtd-eeprom = <&radio 0x8000>;
-		};
+&pcie0 {
+	mt76@0,0 {
+		reg = <0x0000 0 0 0 0>;
+		mediatek,mtd-eeprom = <&radio 0x8000>;
 	};
 };
diff --git a/target/linux/ramips/dts/ArcherC20i.dts b/target/linux/ramips/dts/ArcherC20i.dts
index c12f49855d7883dac91555513790f205ad6dbaac..7a88fc5746384aacff80e05145db8f5420016c6c 100644
--- a/target/linux/ramips/dts/ArcherC20i.dts
+++ b/target/linux/ramips/dts/ArcherC20i.dts
@@ -142,12 +142,11 @@
 
 &pcie {
 	status = "okay";
+};
 
-	pcie-bridge {
-		mt76@0,0 {
-			reg = <0x0000 0 0 0 0>;
-			device_type = "pci";
-			mediatek,mtd-eeprom = <&radio 32768>;
-		};
+&pcie0 {
+	mt76@0,0 {
+		reg = <0x0000 0 0 0 0>;
+		mediatek,mtd-eeprom = <&radio 32768>;
 	};
 };
diff --git a/target/linux/ramips/dts/ArcherC20v1.dts b/target/linux/ramips/dts/ArcherC20v1.dts
index 5dd29742f2a333e69b773dd319023ec5c707575b..8c2ea0c253d5a5844df83c44df9cb6a74c8a4147 100644
--- a/target/linux/ramips/dts/ArcherC20v1.dts
+++ b/target/linux/ramips/dts/ArcherC20v1.dts
@@ -178,15 +178,14 @@
 
 &pcie {
 	status = "okay";
+};
 
-	pcie-bridge {
-		mt76@0,0 {
-			reg = <0x0000 0 0 0 0>;
-			device_type = "pci";
-			mediatek,mtd-eeprom = <&radio 0x8000>;
-			ieee80211-freq-limit = <5000000 6000000>;
-			mtd-mac-address = <&rom 0xf100>;
-			mtd-mac-address-increment = <(-1)>;
-		};
+&pcie0 {
+	mt76@0,0 {
+		reg = <0x0000 0 0 0 0>;
+		mediatek,mtd-eeprom = <&radio 0x8000>;
+		ieee80211-freq-limit = <5000000 6000000>;
+		mtd-mac-address = <&rom 0xf100>;
+		mtd-mac-address-increment = <(-1)>;
 	};
 };
diff --git a/target/linux/ramips/dts/ArcherC20v4.dts b/target/linux/ramips/dts/ArcherC20v4.dts
index 92080da905553bd12542b2430cfa080bd963d540..e2851d20c67f3da2d35af3bb1068f26525fae000 100644
--- a/target/linux/ramips/dts/ArcherC20v4.dts
+++ b/target/linux/ramips/dts/ArcherC20v4.dts
@@ -91,15 +91,14 @@
 
 &pcie {
 	status = "okay";
+};
 
-	pcie-bridge {
-		mt76@0,0 {
-			reg = <0x0000 0 0 0 0>;
-			device_type = "pci";
-			mediatek,mtd-eeprom = <&factory 0x28000>;
-			ieee80211-freq-limit = <5000000 6000000>;
-			mtd-mac-address = <&factory 0xf100>;
-			mtd-mac-address-increment = <(-1)>;
-		};
+&pcie0 {
+	mt76@0,0 {
+		reg = <0x0000 0 0 0 0>;
+		mediatek,mtd-eeprom = <&factory 0x28000>;
+		ieee80211-freq-limit = <5000000 6000000>;
+		mtd-mac-address = <&factory 0xf100>;
+		mtd-mac-address-increment = <(-1)>;
 	};
 };
diff --git a/target/linux/ramips/dts/ArcherC50.dts b/target/linux/ramips/dts/ArcherC50.dts
index 1e197fcfd7386a065a1681617dbdb88f166c966f..db79950a2bb26dfc51b36264eeb6b1f3bcadc4bb 100644
--- a/target/linux/ramips/dts/ArcherC50.dts
+++ b/target/linux/ramips/dts/ArcherC50.dts
@@ -177,15 +177,14 @@
 
 &pcie {
 	status = "okay";
+};
 
-	pcie-bridge {
-		mt76@0,0 {
-			reg = <0x0000 0 0 0 0>;
-			device_type = "pci";
-			mediatek,mtd-eeprom = <&radio 32768>;
-			ieee80211-freq-limit = <5000000 6000000>;
-			mtd-mac-address = <&rom 0xf100>;
-			mtd-mac-address-increment = <(-1)>;
-		};
+&pcie0 {
+	mt76@0,0 {
+		reg = <0x0000 0 0 0 0>;
+		mediatek,mtd-eeprom = <&radio 32768>;
+		ieee80211-freq-limit = <5000000 6000000>;
+		mtd-mac-address = <&rom 0xf100>;
+		mtd-mac-address-increment = <(-1)>;
 	};
 };
diff --git a/target/linux/ramips/dts/ArcherC50V3.dts b/target/linux/ramips/dts/ArcherC50V3.dts
index 93d9a34ccf588a125e3fe93f49bc90077d2e3da5..e112af4e0c7363651462b79144232dbfe3855c1c 100644
--- a/target/linux/ramips/dts/ArcherC50V3.dts
+++ b/target/linux/ramips/dts/ArcherC50V3.dts
@@ -84,15 +84,14 @@
 
 &pcie {
 	status = "okay";
+};
 
-	pcie-bridge {
-		mt76@0,0 {
-			reg = <0x0000 0 0 0 0>;
-			device_type = "pci";
-			mediatek,mtd-eeprom = <&factory 0x28000>;
-			ieee80211-freq-limit = <5000000 6000000>;
-			mtd-mac-address = <&factory 0xf100>;
-			mtd-mac-address-increment = <(-1)>;
-		};
+&pcie0 {
+	mt76@0,0 {
+		reg = <0x0000 0 0 0 0>;
+		mediatek,mtd-eeprom = <&factory 0x28000>;
+		ieee80211-freq-limit = <5000000 6000000>;
+		mtd-mac-address = <&factory 0xf100>;
+		mtd-mac-address-increment = <(-1)>;
 	};
 };
diff --git a/target/linux/ramips/dts/ArcherMR200.dts b/target/linux/ramips/dts/ArcherMR200.dts
index 9a8b558e6ff2d83f42c0807bbc093e7fd9baf862..678af7eef12b0b805bbeb86dc113819bd12815a9 100644
--- a/target/linux/ramips/dts/ArcherMR200.dts
+++ b/target/linux/ramips/dts/ArcherMR200.dts
@@ -187,12 +187,11 @@
 
 &pcie {
 	status = "okay";
+};
 
-	pcie-bridge {
-		mt76@0,0 {
-			reg = <0x0000 0 0 0 0>;
-			device_type = "pci";
-			mediatek,mtd-eeprom = <&radio 32768>;
-		};
+&pcie0 {
+	mt76@0,0 {
+		reg = <0x0000 0 0 0 0>;
+		mediatek,mtd-eeprom = <&radio 32768>;
 	};
 };
diff --git a/target/linux/ramips/dts/BR-6475ND.dts b/target/linux/ramips/dts/BR-6475ND.dts
index 1c3afe54c29b8b93d3eb6d505915407953144ac1..ab4494bf95bc707be357bf8fd5194eb06acf87ef 100644
--- a/target/linux/ramips/dts/BR-6475ND.dts
+++ b/target/linux/ramips/dts/BR-6475ND.dts
@@ -150,27 +150,16 @@
 
 &pci {
 	status = "okay";
-	pinctrl-names = "default";
-	pinctrl-0 = <&pci_pins>;
-
-	pci_pins: pci {
-		pci {
-			ralink,group = "pci";
-			ralink,function = "pci-fnc";
-		};
-	};
+};
 
-	host-bridge {
-		pci-bridge@1 {
-			status = "okay";
+&pci1 {
+	status = "okay";
 
-			wifi@0,0 {
-				compatible = "pci0,0";
-				reg = <0x10000 0 0 0 0>;
-				ralink,5ghz = <0>;
-				ralink,mtd-eeprom = <&factory 0x8000>;
-			};
-		};
+	wifi@0,0 {
+		compatible = "pci0,0";
+		reg = <0x10000 0 0 0 0>;
+		ralink,5ghz = <0>;
+		ralink,mtd-eeprom = <&factory 0x8000>;
 	};
 };
 
diff --git a/target/linux/ramips/dts/CY-SWR1100.dts b/target/linux/ramips/dts/CY-SWR1100.dts
index 8db5f31471574621edd2df7154a363cd194eacde..6430d84dd8a4dcfd462b5c862e509f8e8d40fdcb 100644
--- a/target/linux/ramips/dts/CY-SWR1100.dts
+++ b/target/linux/ramips/dts/CY-SWR1100.dts
@@ -118,27 +118,16 @@
 
 &pci {
 	status = "okay";
-	pinctrl-names = "default";
-	pinctrl-0 = <&pci_pins>;
-
-	pci_pins: pci {
-		pci {
-			ralink,group = "pci";
-			ralink,function = "pci-fnc";
-		};
-	};
+};
 
-	host-bridge {
-		pci-bridge@1 {
-			status = "okay";
+&pci1 {
+	status = "okay";
 
-			wifi@0,0 {
-				compatible = "pci0,0";
-				reg = <0x10000 0 0 0 0>;
-				ralink,5ghz = <0>;
-				ralink,mtd-eeprom = <&factory 0x2000>;
-			};
-		};
+	wifi@0,0 {
+		compatible = "pci0,0";
+		reg = <0x10000 0 0 0 0>;
+		ralink,5ghz = <0>;
+		ralink,mtd-eeprom = <&factory 0x2000>;
 	};
 };
 
diff --git a/target/linux/ramips/dts/DIR-860L-B1.dts b/target/linux/ramips/dts/DIR-860L-B1.dts
index b8e675eb2fd510b3565fd40a1dbfdebb65c2076c..7893303efe3172ace85bfa8add95c2e691f85378 100644
--- a/target/linux/ramips/dts/DIR-860L-B1.dts
+++ b/target/linux/ramips/dts/DIR-860L-B1.dts
@@ -116,23 +116,21 @@
 
 &pcie {
 	status = "okay";
+};
 
-	pcie0 {
-		mt76@0,0 {
-			reg = <0x0000 0 0 0 0>;
-			device_type = "pci";
-			mediatek,mtd-eeprom = <&radio 0x2000>;
-			ieee80211-freq-limit = <5000000 6000000>;
-		};
+&pcie0 {
+	mt76@0,0 {
+		reg = <0x0000 0 0 0 0>;
+		mediatek,mtd-eeprom = <&radio 0x2000>;
+		ieee80211-freq-limit = <5000000 6000000>;
 	};
+};
 
-	pcie1 {
-		mt76@1,0 {
-			reg = <0x0000 0 0 0 0>;
-			device_type = "pci";
-			mediatek,mtd-eeprom = <&radio 0>;
-			ieee80211-freq-limit = <2400000 2500000>;
-		};
+&pcie1 {
+	mt76@0,0 {
+		reg = <0x0000 0 0 0 0>;
+		mediatek,mtd-eeprom = <&radio 0>;
+		ieee80211-freq-limit = <2400000 2500000>;
 	};
 };
 
diff --git a/target/linux/ramips/dts/EW1200.dts b/target/linux/ramips/dts/EW1200.dts
index 5d0c70a592d8361917a893dd911b96446751433b..657a9140cda3b660059cbe6f12d93fdd5778f45f 100644
--- a/target/linux/ramips/dts/EW1200.dts
+++ b/target/linux/ramips/dts/EW1200.dts
@@ -98,23 +98,21 @@
 
 &pcie {
 	status = "okay";
+};
 
-	pcie0 {
-		mt76@0,0 {
-			reg = <0x0000 0 0 0 0>;
-			device_type = "pci";
-			mediatek,mtd-eeprom = <&factory 0x8000>;
-			ieee80211-freq-limit = <5000000 6000000>;
-		};
+&pcie0 {
+	mt76@0,0 {
+		reg = <0x0000 0 0 0 0>;
+		mediatek,mtd-eeprom = <&factory 0x8000>;
+		ieee80211-freq-limit = <5000000 6000000>;
 	};
+};
 
-	pcie1 {
-		mt76@1,0 {
-			reg = <0x0000 0 0 0 0>;
-			device_type = "pci";
-			mediatek,mtd-eeprom = <&factory 0x0000>;
-			ieee80211-freq-limit = <2400000 2500000>;
-		};
+&pcie1 {
+	mt76@0,0 {
+		reg = <0x0000 0 0 0 0>;
+		mediatek,mtd-eeprom = <&factory 0x0000>;
+		ieee80211-freq-limit = <2400000 2500000>;
 	};
 };
 
diff --git a/target/linux/ramips/dts/EX3700.dts b/target/linux/ramips/dts/EX3700.dts
index 5dd6929b8c1d72ca9e4ff8fd358b9bb7acaf3cfd..f44b783a5abe01bad903b951a8416aac7e91de8f 100644
--- a/target/linux/ramips/dts/EX3700.dts
+++ b/target/linux/ramips/dts/EX3700.dts
@@ -137,14 +137,13 @@
 
 &pcie {
 	status = "okay";
+};
 
-	pcie-bridge {
-		mt76@0,0 {
-			reg = <0x0000 0 0 0 0 >;
-			device_type = "pci";
-			mediatek,mtd-eeprom = <&factory 0x8000>;
-			ieee80211-freq-limit = <5000000 6000000>;
-		};
+&pcie0 {
+	mt76@0,0 {
+		reg = <0x0000 0 0 0 0 >;
+		mediatek,mtd-eeprom = <&factory 0x8000>;
+		ieee80211-freq-limit = <5000000 6000000>;
 	};
 };
 
diff --git a/target/linux/ramips/dts/F5D8235_V1.dts b/target/linux/ramips/dts/F5D8235_V1.dts
index 32850b4a0747cff666d25e789565775ad7aaa8bb..86ccd2b2c213f6119d85f49c14887e32fe34c411 100644
--- a/target/linux/ramips/dts/F5D8235_V1.dts
+++ b/target/linux/ramips/dts/F5D8235_V1.dts
@@ -15,10 +15,6 @@
 		led-status = &led_wired_blue;
 	};
 
-	pci@440000 {
-		status = "ok";
-	};
-
 	cfi@1f000000 {
 		compatible = "cfi-flash";
 		reg = <0xbc400000 0x800000>;
@@ -209,6 +205,10 @@
 	};
 };
 
+&pci {
+	status = "okay";
+};
+
 &wmac {
 	status = "okay";
 	ralink,mtd-eeprom = <&factory 0x0>;
diff --git a/target/linux/ramips/dts/FIREWRT.dts b/target/linux/ramips/dts/FIREWRT.dts
index 5a65ec1d81e9b64f8e4e4dbaa3d6680ebb8242a5..1b2e9553c0ab1d17be3fdadc8c1a3760890ebabe 100644
--- a/target/linux/ramips/dts/FIREWRT.dts
+++ b/target/linux/ramips/dts/FIREWRT.dts
@@ -93,23 +93,21 @@
 
 &pcie {
 	status = "okay";
+};
 
-	pcie0 {
-		mt76@0,0 {
-			reg = <0x0000 0 0 0 0>;
-			device_type = "pci";
-			mediatek,mtd-eeprom = <&factory 0x8000>;
-			ieee80211-freq-limit = <5000000 6000000>;
-		};
+&pcie0 {
+	mt76@0,0 {
+		reg = <0x0000 0 0 0 0>;
+		mediatek,mtd-eeprom = <&factory 0x8000>;
+		ieee80211-freq-limit = <5000000 6000000>;
 	};
+};
 
-	pcie1 {
-		mt76@1,0 {
-			reg = <0x0000 0 0 0 0>;
-			device_type = "pci";
-			mediatek,mtd-eeprom = <&factory 0x0000>;
-			ieee80211-freq-limit = <2400000 2500000>;
-		};
+&pcie1 {
+	mt76@0,0 {
+		reg = <0x0000 0 0 0 0>;
+		mediatek,mtd-eeprom = <&factory 0x0000>;
+		ieee80211-freq-limit = <2400000 2500000>;
 	};
 };
 
diff --git a/target/linux/ramips/dts/GL-MT750.dts b/target/linux/ramips/dts/GL-MT750.dts
index 007f745b636f1d6e79ad86147ba687898523b528..2d19e716b16c9d6a38b1664207a61903b58e6d46 100644
--- a/target/linux/ramips/dts/GL-MT750.dts
+++ b/target/linux/ramips/dts/GL-MT750.dts
@@ -136,13 +136,12 @@
 
 &pcie {
 	status = "okay";
+};
 
-	pcie-bridge {
-		mt76@0,0 {
-			reg = <0x0000 0 0 0 0>;
-			device_type = "pci";
-			mediatek,mtd-eeprom = <&factory 0x8000>;
-		};
+&pcie0 {
+	mt76@0,0 {
+		reg = <0x0000 0 0 0 0>;
+		mediatek,mtd-eeprom = <&factory 0x8000>;
 	};
 };
 
diff --git a/target/linux/ramips/dts/HC5962.dts b/target/linux/ramips/dts/HC5962.dts
index e73be9071f4d05ac2cd1ec102208f5d06c01dd5c..318e3758ce46e47df51345ae5578f09f98ccdb86 100644
--- a/target/linux/ramips/dts/HC5962.dts
+++ b/target/linux/ramips/dts/HC5962.dts
@@ -122,23 +122,21 @@
 
 &pcie {
 	status = "okay";
+};
 
-	pcie0 {
-		mt76@0,0 {
-			reg = <0x0000 0 0 0 0>;
-			device_type = "pci";
-			mediatek,mtd-eeprom = <&factory 0x0000>;
-			ieee80211-freq-limit = <2400000 2500000>;
-		};
+&pcie0 {
+	mt76@0,0 {
+		reg = <0x0000 0 0 0 0>;
+		mediatek,mtd-eeprom = <&factory 0x0000>;
+		ieee80211-freq-limit = <2400000 2500000>;
 	};
+};
 
-	pcie1 {
-		mt76@1,0 {
-			reg = <0x0000 0 0 0 0>;
-			device_type = "pci";
-			mediatek,mtd-eeprom = <&factory 0x8000>;
-			ieee80211-freq-limit = <5000000 6000000>;
-		};
+&pcie1 {
+	mt76@0,0 {
+		reg = <0x0000 0 0 0 0>;
+		mediatek,mtd-eeprom = <&factory 0x8000>;
+		ieee80211-freq-limit = <5000000 6000000>;
 	};
 };
 
diff --git a/target/linux/ramips/dts/K2G.dts b/target/linux/ramips/dts/K2G.dts
index 09689f7bea35032a28c3ff5f77dcab42c7d35cf8..d54a01d1fecf3147d1629325b79710514abb877b 100644
--- a/target/linux/ramips/dts/K2G.dts
+++ b/target/linux/ramips/dts/K2G.dts
@@ -122,14 +122,13 @@
 
 &pcie {
 	status = "okay";
+};
 
-	pcie-bridge {
-		mt76@0,0 {
-			reg = <0x0000 0 0 0 0>;
-			device_type = "pci";
-			mediatek,mtd-eeprom = <&factory 0x8000>;
-			ieee80211-freq-limit = <5000000 6000000>;
-		};
+&pcie0 {
+	mt76@0,0 {
+		reg = <0x0000 0 0 0 0>;
+		mediatek,mtd-eeprom = <&factory 0x8000>;
+		ieee80211-freq-limit = <5000000 6000000>;
 	};
 };
 
diff --git a/target/linux/ramips/dts/K2P.dts b/target/linux/ramips/dts/K2P.dts
index 60948782b39addaaa56b30b4a3c811b3d2e353c1..196a133c3d64bbd4ba24b566918d23bcd7575a83 100644
--- a/target/linux/ramips/dts/K2P.dts
+++ b/target/linux/ramips/dts/K2P.dts
@@ -99,13 +99,12 @@
 
 &pcie {
 	status = "okay";
+};
 
-	pcie0 {
-		mt76@0,0 {
-			reg = <0x0000 0 0 0 0>;
-			device_type = "pci";
-			mediatek,mtd-eeprom = <&factory 0x0>;
-		};
+&pcie0 {
+	mt76@0,0 {
+		reg = <0x0000 0 0 0 0>;
+		mediatek,mtd-eeprom = <&factory 0x0>;
 	};
 };
 
diff --git a/target/linux/ramips/dts/MAC1200RV2.dts b/target/linux/ramips/dts/MAC1200RV2.dts
index 8c07105a5018a21b5ac81bb6d251acd1cdb73a0a..034a2c513d43b776b09cdb040441f87afd0d5de7 100644
--- a/target/linux/ramips/dts/MAC1200RV2.dts
+++ b/target/linux/ramips/dts/MAC1200RV2.dts
@@ -89,12 +89,12 @@
 
 &pcie {
 	status = "okay";
-	pcie-bridge {
-		mt76@0,0 {
-			reg = <0x0000 0 0 0 0>;
-			device_type = "pci";
-			mediatek,mtd-eeprom = <&art 0x1000>;
-			ieee80211-freq-limit = <5000000 6000000>;
-		};
+};
+
+&pcie0 {
+	mt76@0,0 {
+		reg = <0x0000 0 0 0 0>;
+		mediatek,mtd-eeprom = <&art 0x1000>;
+		ieee80211-freq-limit = <5000000 6000000>;
 	};
 };
diff --git a/target/linux/ramips/dts/MIR3G.dts b/target/linux/ramips/dts/MIR3G.dts
index faba70f181594408ceb30e49523857b80d6cf8bb..e4ad90d96c2d0f0f6e2f6388dae157545ccecd9d 100644
--- a/target/linux/ramips/dts/MIR3G.dts
+++ b/target/linux/ramips/dts/MIR3G.dts
@@ -167,23 +167,23 @@
 
 &pcie {
 	status = "okay";
+};
 
-	pcie0 {
-		wifi@14c3,7603 {
-			compatible = "pci14c3,7603";
-			reg = <0x0000 0 0 0 0>;
-			mediatek,mtd-eeprom = <&factory 0x0000>;
-			ieee80211-freq-limit = <2400000 2500000>;
-		};
+&pcie0 {
+	wifi@0,0 {
+		compatible = "pci14c3,7603";
+		reg = <0x0000 0 0 0 0>;
+		mediatek,mtd-eeprom = <&factory 0x0000>;
+		ieee80211-freq-limit = <2400000 2500000>;
 	};
+};
 
-	pcie1 {
-		wifi@14c3,7662 {
-			compatible = "pci14c3,7662";
-			reg = <0x0000 0 0 0 0>;
-			mediatek,mtd-eeprom = <&factory 0x8000>;
-			ieee80211-freq-limit = <5000000 6000000>;
-		};
+&pcie1 {
+	wifi@0,0 {
+		compatible = "pci14c3,7662";
+		reg = <0x0000 0 0 0 0>;
+		mediatek,mtd-eeprom = <&factory 0x8000>;
+		ieee80211-freq-limit = <5000000 6000000>;
 	};
 };
 
diff --git a/target/linux/ramips/dts/MIWIFI-MINI.dts b/target/linux/ramips/dts/MIWIFI-MINI.dts
index 3223ab87dfe834d92cef6c73f8c4176f9b9fc8c9..744ad7ffa9f222736d383f1d7b76190eff6b116d 100644
--- a/target/linux/ramips/dts/MIWIFI-MINI.dts
+++ b/target/linux/ramips/dts/MIWIFI-MINI.dts
@@ -135,14 +135,13 @@
 
 &pcie {
 	status = "okay";
+};
 
-	pcie-bridge {
-		mt76@0,0 {
-			reg = <0x0000 0 0 0 0>;
-			device_type = "pci";
-			mediatek,mtd-eeprom = <&factory 0x8000>;
-			ieee80211-freq-limit = <5000000 6000000>;
-		};
+&pcie0 {
+	mt76@0,0 {
+		reg = <0x0000 0 0 0 0>;
+		mediatek,mtd-eeprom = <&factory 0x8000>;
+		ieee80211-freq-limit = <5000000 6000000>;
 	};
 };
 
diff --git a/target/linux/ramips/dts/MZK-750DHP.dts b/target/linux/ramips/dts/MZK-750DHP.dts
index 3f4db949e442ddd8c78fd62e67828c78a6911fb8..fe3dfec0f6ea4e0ec6c7280dd93adcf186e0c8de 100644
--- a/target/linux/ramips/dts/MZK-750DHP.dts
+++ b/target/linux/ramips/dts/MZK-750DHP.dts
@@ -121,12 +121,11 @@
 
 &pcie {
 	status = "okay";
+};
 
-	pcie-bridge {
-		mt76@0,0 {
-			reg = <0x0000 0 0 0 0>;
-			device_type = "pci";
-			mediatek,mtd-eeprom = <&factory 0x8000>;
-		};
+&pcie0 {
+	mt76@0,0 {
+		reg = <0x0000 0 0 0 0>;
+		mediatek,mtd-eeprom = <&factory 0x8000>;
 	};
 };
diff --git a/target/linux/ramips/dts/MZK-EX750NP.dts b/target/linux/ramips/dts/MZK-EX750NP.dts
index 27e4ac7ac5e68a439d26a695fd9321b61c299de2..cdf5b19b2bde889fb93aea4a83de3075c52e3e57 100644
--- a/target/linux/ramips/dts/MZK-EX750NP.dts
+++ b/target/linux/ramips/dts/MZK-EX750NP.dts
@@ -142,12 +142,11 @@
 
 &pcie {
 	status = "okay";
+};
 
-	pcie-bridge {
-		mt76@0,0 {
-			reg = <0x0000 0 0 0 0>;
-			device_type = "pci";
-			mediatek,mtd-eeprom = <&factory 0x8000>;
-		};
+&pcie0 {
+	mt76@0,0 {
+		reg = <0x0000 0 0 0 0>;
+		mediatek,mtd-eeprom = <&factory 0x8000>;
 	};
 };
diff --git a/target/linux/ramips/dts/Newifi-D1.dts b/target/linux/ramips/dts/Newifi-D1.dts
index 8fb451178d01fa50d21a2982224c4807c5885e48..e0f604a841ac79de042c65da8d4b259d7df1a8f2 100644
--- a/target/linux/ramips/dts/Newifi-D1.dts
+++ b/target/linux/ramips/dts/Newifi-D1.dts
@@ -117,22 +117,20 @@
 
 &pcie {
 	status = "okay";
+};
 
-	pcie0 {
-		mt76@0,0 {
-			reg = <0x0000 0 0 0 0>;
-			device_type = "pci";
-			mediatek,mtd-eeprom = <&factory 0x8000>;
-			ieee80211-freq-limit = <5000000 6000000>;
-		};
+&pcie0 {
+	mt76@0,0 {
+		reg = <0x0000 0 0 0 0>;
+		mediatek,mtd-eeprom = <&factory 0x8000>;
+		ieee80211-freq-limit = <5000000 6000000>;
 	};
+};
 
-	pcie1 {
-		mt76@1,0 {
-			reg = <0x0000 0 0 0 0>;
-			device_type = "pci";
-			mediatek,mtd-eeprom = <&factory 0x0000>;
-		};
+&pcie1 {
+	mt76@0,0 {
+		reg = <0x0000 0 0 0 0>;
+		mediatek,mtd-eeprom = <&factory 0x0000>;
 	};
 };
 
diff --git a/target/linux/ramips/dts/Newifi-D2.dts b/target/linux/ramips/dts/Newifi-D2.dts
index 10151344c93feec16c7adcdda79b4940456d1388..db0b483444831585b23987648b5dc45b66fcd332 100644
--- a/target/linux/ramips/dts/Newifi-D2.dts
+++ b/target/linux/ramips/dts/Newifi-D2.dts
@@ -130,22 +130,20 @@
 
 &pcie {
 	status = "okay";
+};
 
-	pcie0 {
-		mt76@0,0 {
-			reg = <0x0000 0 0 0 0>;
-			device_type = "pci";
-			mediatek,mtd-eeprom = <&factory 0x8000>;
-			ieee80211-freq-limit = <5000000 6000000>;
-		};
+&pcie0 {
+	mt76@0,0 {
+		reg = <0x0000 0 0 0 0>;
+		mediatek,mtd-eeprom = <&factory 0x8000>;
+		ieee80211-freq-limit = <5000000 6000000>;
 	};
+};
 
-	pcie1 {
-		mt76@1,0 {
-			reg = <0x0000 0 0 0 0>;
-			device_type = "pci";
-			mediatek,mtd-eeprom = <&factory 0x0000>;
-		};
+&pcie1 {
+	mt76@0,0 {
+		reg = <0x0000 0 0 0 0>;
+		mediatek,mtd-eeprom = <&factory 0x0000>;
 	};
 };
 
diff --git a/target/linux/ramips/dts/PBR-M1.dts b/target/linux/ramips/dts/PBR-M1.dts
index c6b09effec9c91e8727c31cb3fa0eeaeeae01f99..4db3b1f636eb362e630f9c4c98d675d00d3213ee 100644
--- a/target/linux/ramips/dts/PBR-M1.dts
+++ b/target/linux/ramips/dts/PBR-M1.dts
@@ -149,22 +149,20 @@
 
 &pcie {
 	status = "okay";
+};
 
-	pcie0 {
-		mt76@0,0 {
-			reg = <0x0000 0 0 0 0>;
-			device_type = "pci";
-			mediatek,mtd-eeprom = <&factory 0x8000>;
-			ieee80211-freq-limit = <5000000 6000000>;
-		};
+&pcie0 {
+	mt76@0,0 {
+		reg = <0x0000 0 0 0 0>;
+		mediatek,mtd-eeprom = <&factory 0x8000>;
+		ieee80211-freq-limit = <5000000 6000000>;
 	};
+};
 
-	pcie1 {
-		mt76@1,0 {
-			reg = <0x0000 0 0 0 0>;
-			device_type = "pci";
-			mediatek,mtd-eeprom = <&factory 0x0000>;
-		};
+&pcie1 {
+	mt76@0,0 {
+		reg = <0x0000 0 0 0 0>;
+		mediatek,mtd-eeprom = <&factory 0x0000>;
 	};
 };
 
diff --git a/target/linux/ramips/dts/PSG1208.dts b/target/linux/ramips/dts/PSG1208.dts
index 3047679a13c7aab6d7361be234f24a7dc0acd561..994ea24084c5fa8cb541bf0f44e2ef079e2006db 100644
--- a/target/linux/ramips/dts/PSG1208.dts
+++ b/target/linux/ramips/dts/PSG1208.dts
@@ -102,14 +102,13 @@
 
 &pcie {
 	status = "okay";
+};
 
-	pcie-bridge {
-		mt76@0,0 {
-			reg = <0x0000 0 0 0 0>;
-			device_type = "pci";
-			mediatek,mtd-eeprom = <&factory 0x8000>;
-			ieee80211-freq-limit = <5000000 6000000>;
-		};
+&pcie0 {
+	mt76@0,0 {
+		reg = <0x0000 0 0 0 0>;
+		mediatek,mtd-eeprom = <&factory 0x8000>;
+		ieee80211-freq-limit = <5000000 6000000>;
 	};
 };
 
diff --git a/target/linux/ramips/dts/PSG1218.dtsi b/target/linux/ramips/dts/PSG1218.dtsi
index c24f5ff2bab8b245ddaf07d97c87d456ed0388a9..3fbead3ceae59a93202a03ec2add360b8f62da1c 100644
--- a/target/linux/ramips/dts/PSG1218.dtsi
+++ b/target/linux/ramips/dts/PSG1218.dtsi
@@ -61,14 +61,13 @@
 
 &pcie {
 	status = "okay";
+};
 
-	pcie-bridge {
-		mt76@0,0 {
-			reg = <0x0000 0 0 0 0>;
-			device_type = "pci";
-			mediatek,mtd-eeprom = <&factory 0x8000>;
-			ieee80211-freq-limit = <5000000 6000000>;
-		};
+&pcie0 {
+	mt76@0,0 {
+		reg = <0x0000 0 0 0 0>;
+		mediatek,mtd-eeprom = <&factory 0x8000>;
+		ieee80211-freq-limit = <5000000 6000000>;
 	};
 };
 
diff --git a/target/linux/ramips/dts/R6220.dts b/target/linux/ramips/dts/R6220.dts
index 320ca801ac5ed93a7a26941aa8d9365bd58f0da6..b05539ff3d90400a23b69f08dada65e5303c7c45 100644
--- a/target/linux/ramips/dts/R6220.dts
+++ b/target/linux/ramips/dts/R6220.dts
@@ -128,23 +128,21 @@
 
 &pcie {
 	status = "okay";
+};
 
-	pcie0 {
-		mt76@0,0 {
-			reg = <0x0000 0 0 0 0>;
-			device_type = "pci";
-			mediatek,mtd-eeprom = <&factory 0x8000>;
-			ieee80211-freq-limit = <5000000 6000000>;
-		};
+&pcie0 {
+	mt76@0,0 {
+		reg = <0x0000 0 0 0 0>;
+		mediatek,mtd-eeprom = <&factory 0x8000>;
+		ieee80211-freq-limit = <5000000 6000000>;
 	};
+};
 
-	pcie1 {
-		mt76@1,0 {
-			reg = <0x0000 0 0 0 0>;
-			device_type = "pci";
-			mediatek,mtd-eeprom = <&factory 0x0000>;
-			ieee80211-freq-limit = <2400000 2500000>;
-		};
+&pcie1 {
+	mt76@0,0 {
+		reg = <0x0000 0 0 0 0>;
+		mediatek,mtd-eeprom = <&factory 0x0000>;
+		ieee80211-freq-limit = <2400000 2500000>;
 	};
 };
 
diff --git a/target/linux/ramips/dts/RE350.dts b/target/linux/ramips/dts/RE350.dts
index 8cf0b35110d56181b11663ef05165294a1a82324..4845484ed0223ba64165703892af5edc5a871bca 100644
--- a/target/linux/ramips/dts/RE350.dts
+++ b/target/linux/ramips/dts/RE350.dts
@@ -131,26 +131,24 @@
 
 &pcie {
 	status = "okay";
+};
 
-	pcie0 {
-		mt76@0,0 {
-			reg = <0x0000 0 0 0 0>;
-			device_type = "pci";
-			mediatek,mtd-eeprom = <&radio 0>;
-			mtd-mac-address = <&config 0x10008>;
-			mtd-mac-address-increment = <1>;
-		};
+&pcie0 {
+	mt76@0,0 {
+		reg = <0x0000 0 0 0 0>;
+		mediatek,mtd-eeprom = <&radio 0>;
+		mtd-mac-address = <&config 0x10008>;
+		mtd-mac-address-increment = <1>;
 	};
+};
 
-	pcie1 {
-		mt76@1,0 {
-			reg = <0x0000 0 0 0 0>;
-			device_type = "pci";
-			mediatek,mtd-eeprom = <&radio 0x8000>;
-			ieee80211-freq-limit = <5000000 6000000>;
-			mtd-mac-address = <&config 0x10008>;
-			mtd-mac-address-increment = <2>;
-		};
+&pcie1 {
+	mt76@0,0 {
+		reg = <0x0000 0 0 0 0>;
+		mediatek,mtd-eeprom = <&radio 0x8000>;
+		ieee80211-freq-limit = <5000000 6000000>;
+		mtd-mac-address = <&config 0x10008>;
+		mtd-mac-address-increment = <2>;
 	};
 };
 
diff --git a/target/linux/ramips/dts/RE6500.dts b/target/linux/ramips/dts/RE6500.dts
index 8b6634c3bbb2d8ff2edaebbe4ab826f973c3bd45..5080ed35a3ab2606b45d6aea166910790c62f4ca 100644
--- a/target/linux/ramips/dts/RE6500.dts
+++ b/target/linux/ramips/dts/RE6500.dts
@@ -103,23 +103,21 @@
 
 &pcie {
 	status = "okay";
+};
 
-	pcie0 {
-		mt76@0,0 {
-			reg = <0x0000 0 0 0 0>;
-			device_type = "pci";
-			mediatek,mtd-eeprom = <&factory 0x0000>;
-			ieee80211-freq-limit = <5000000 6000000>;
-		};
+&pcie0 {
+	mt76@0,0 {
+		reg = <0x0000 0 0 0 0>;
+		mediatek,mtd-eeprom = <&factory 0x0000>;
+		ieee80211-freq-limit = <5000000 6000000>;
 	};
+};
 
-	pcie1 {
-		mt76@1,0 {
-			reg = <0x0000 0 0 0 0>;
-			device_type = "pci";
-			mediatek,mtd-eeprom = <&factory 0x8000>;
-			ieee80211-freq-limit = <2400000 2500000>;
-		};
+&pcie1 {
+	mt76@0,0 {
+		reg = <0x0000 0 0 0 0>;
+		mediatek,mtd-eeprom = <&factory 0x8000>;
+		ieee80211-freq-limit = <2400000 2500000>;
 	};
 };
 
diff --git a/target/linux/ramips/dts/RP-N53.dts b/target/linux/ramips/dts/RP-N53.dts
index b921d9ca5dc50a35b6655c3e92382bbcdfbffe3d..3d6d42c20eeeb5b905089a01fccd674fff08dc06 100644
--- a/target/linux/ramips/dts/RP-N53.dts
+++ b/target/linux/ramips/dts/RP-N53.dts
@@ -163,13 +163,13 @@
 
 &pcie {
 	status = "okay";
+};
 
-	pcie-bridge {
-		wifi@1814,5592 {
-			compatible = "pci1814,5592";
-			reg = <0x0000 0 0 0 0>;
-			ralink,2ghz = <0>;
-			ralink,mtd-eeprom = <&factory 0x8000>;
-		};
+&pcie0 {
+	wifi@1814,5592 {
+		compatible = "pci1814,5592";
+		reg = <0x0000 0 0 0 0>;
+		ralink,2ghz = <0>;
+		ralink,mtd-eeprom = <&factory 0x8000>;
 	};
 };
diff --git a/target/linux/ramips/dts/RT-N56U.dts b/target/linux/ramips/dts/RT-N56U.dts
index 01d0015869ac890e3b94eb3e8c3399b8c96d669d..b95639f32b7372e5288e56146efccb8dd65c473f 100644
--- a/target/linux/ramips/dts/RT-N56U.dts
+++ b/target/linux/ramips/dts/RT-N56U.dts
@@ -118,26 +118,15 @@
 
 &pci {
 	status = "okay";
-	pinctrl-names = "default";
-	pinctrl-0 = <&pci_pins>;
-
-	pci_pins: pci {
-		pci {
-			ralink,group = "pci";
-			ralink,function = "pci-fnc";
-		};
-	};
+};
 
-	host-bridge {
-		pci-bridge@1 {
-			status = "okay";
+&pci1 {
+	status = "okay";
 
-			wifi@1814,3091 {
-				compatible = "pci1814,3091";
-				reg = <0x10000 0 0 0 0>;
-				ralink,mtd-eeprom = <&factory 0x8000>;
-			};
-		};
+	wifi@0,0 {
+		compatible = "pci1814,3091";
+		reg = <0x10000 0 0 0 0>;
+		ralink,mtd-eeprom = <&factory 0x8000>;
 	};
 };
 
diff --git a/target/linux/ramips/dts/SAP-G3200U3.dts b/target/linux/ramips/dts/SAP-G3200U3.dts
index 7ce7072affcdf7deb2900a8dcb59094cad7c7689..bafbd375dbfe98efdad34a6c0b56ddb2176bfd9d 100644
--- a/target/linux/ramips/dts/SAP-G3200U3.dts
+++ b/target/linux/ramips/dts/SAP-G3200U3.dts
@@ -95,23 +95,21 @@
 
 &pcie {
 	status = "okay";
+};
 
-	pcie0 {
-		mt76@0,0 {
-			reg = <0x0000 0 0 0 0>;
-			device_type = "pci";
-			mediatek,mtd-eeprom = <&factory 0x8000>;
-			ieee80211-freq-limit = <5000000 6000000>;
-		};
+&pcie0 {
+	mt76@0,0 {
+		reg = <0x0000 0 0 0 0>;
+		mediatek,mtd-eeprom = <&factory 0x8000>;
+		ieee80211-freq-limit = <5000000 6000000>;
 	};
+};
 
-	pcie1 {
-		mt76@1,0 {
-			reg = <0x0000 0 0 0 0>;
-			device_type = "pci";
-			mediatek,mtd-eeprom = <&factory 0x0000>;
-			ieee80211-freq-limit = <2400000 2500000>;
-		};
+&pcie1 {
+	mt76@0,0 {
+		reg = <0x0000 0 0 0 0>;
+		mediatek,mtd-eeprom = <&factory 0x0000>;
+		ieee80211-freq-limit = <2400000 2500000>;
 	};
 };
 
diff --git a/target/linux/ramips/dts/SK-WB8.dts b/target/linux/ramips/dts/SK-WB8.dts
index 544595e09835635a93677a4bf3c77e46b8666b39..dc1716907e3dcd66fb3084ce4135763c5a547e1e 100644
--- a/target/linux/ramips/dts/SK-WB8.dts
+++ b/target/linux/ramips/dts/SK-WB8.dts
@@ -91,22 +91,20 @@
 
 &pcie {
 	status = "okay";
+};
 
-	pcie0 {
-		mt76@0,0 {
-			reg = <0x0000 0 0 0 0>;
-			device_type = "pci";
-			mediatek,mtd-eeprom = <&factory 0x8000>;
-			ieee80211-freq-limit = <5000000 6000000>;
-		};
+&pcie0 {
+	mt76@0,0 {
+		reg = <0x0000 0 0 0 0>;
+		mediatek,mtd-eeprom = <&factory 0x8000>;
+		ieee80211-freq-limit = <5000000 6000000>;
 	};
+};
 
-	pcie1 {
-		mt76@1,0 {
-			reg = <0x0000 0 0 0 0>;
-			device_type = "pci";
-			mediatek,mtd-eeprom = <&factory 0x0000>;
-		};
+&pcie1 {
+	mt76@0,0 {
+		reg = <0x0000 0 0 0 0>;
+		mediatek,mtd-eeprom = <&factory 0x0000>;
 	};
 };
 
diff --git a/target/linux/ramips/dts/TEW-692GR.dts b/target/linux/ramips/dts/TEW-692GR.dts
index db8fef1699a8d823105c3628be9a95bbc248fdc2..253ac6192bf0b827b4ebfabda9f1b20cdcba489e 100644
--- a/target/linux/ramips/dts/TEW-692GR.dts
+++ b/target/linux/ramips/dts/TEW-692GR.dts
@@ -124,26 +124,15 @@
 
 &pci {
 	status = "okay";
-	pinctrl-names = "default";
-	pinctrl-0 = <&pci_pins>;
-
-	pci_pins: pci {
-		pci {
-			ralink,group = "pci";
-			ralink,function = "pci-fnc";
-		};
-	};
+};
 
-	host-bridge {
-		pci-bridge@1 {
-			status = "okay";
+&pci1 {
+	status = "okay";
 
-			wifi@0,0 {
-				compatible = "pci0,0";
-				reg = < 0x10000 0 0 0 0 >;
-				ralink,2ghz = <0>;
-			};
-		};
+	wifi@0,0 {
+		compatible = "pci0,0";
+		reg = < 0x10000 0 0 0 0 >;
+		ralink,2ghz = <0>;
 	};
 };
 
diff --git a/target/linux/ramips/dts/TL-WR902ACV3.dts b/target/linux/ramips/dts/TL-WR902ACV3.dts
index 5716f685b87463adf1445017c508e22f220a21f6..33d9f18671851c7fe6d499455f8fe3726b72774f 100644
--- a/target/linux/ramips/dts/TL-WR902ACV3.dts
+++ b/target/linux/ramips/dts/TL-WR902ACV3.dts
@@ -98,15 +98,14 @@
 
 &pcie {
 	status = "okay";
+};
 
-	pcie-bridge {
-		mt76@1,0 {
-			reg = <0x0000 0 0 0 0>;
-			device_type = "pci";
-			mediatek,mtd-eeprom = <&factory 0x28000>;
-			ieee80211-freq-limit = <5000000 6000000>;
-			mtd-mac-address = <&factory 0xf100>;
-			mtd-mac-address-increment = <(-1)>;
-		};
+&pcie0 {
+	mt76@0,0 {
+		reg = <0x0000 0 0 0 0>;
+		mediatek,mtd-eeprom = <&factory 0x28000>;
+		ieee80211-freq-limit = <5000000 6000000>;
+		mtd-mac-address = <&factory 0xf100>;
+		mtd-mac-address-increment = <(-1)>;
 	};
 };
diff --git a/target/linux/ramips/dts/V11STFE.dts b/target/linux/ramips/dts/V11STFE.dts
index 44657ac073f343948f8de726a36333f41fec1896..8ac95505ff2c1f872943ad4db6569b53dadc7833 100644
--- a/target/linux/ramips/dts/V11STFE.dts
+++ b/target/linux/ramips/dts/V11STFE.dts
@@ -13,16 +13,6 @@
 		led-status = &led_status;
 	};
 
-	pci@440000 {
-		status = "okay";
-
-		host-bridge {
-			pci-bridge@1 {
-				status = "okay";
-			};
-		};
-	};
-
 	nor-flash@1c000000 {
 		compatible = "cfi-flash";
 		reg = <0x1c000000 0x800000>;
@@ -85,6 +75,10 @@
 	status = "okay";
 };
 
+&pci {
+	status = "okay";
+};
+
 &wmac {
 	ralink,mtd-eeprom = <&factory 0>;
 };
diff --git a/target/linux/ramips/dts/W2914NSV2.dtsi b/target/linux/ramips/dts/W2914NSV2.dtsi
index d67998dfb0c0ba91b7d8978910ab32d247c23efe..20d444cb10a37826b8dcc3ac0a76fa66b719cf95 100644
--- a/target/linux/ramips/dts/W2914NSV2.dtsi
+++ b/target/linux/ramips/dts/W2914NSV2.dtsi
@@ -72,22 +72,22 @@
 
 &pcie {
 	status = "okay";
+};
 
-	pcie0 {
-		wifi@14c3,7603 {
-			compatible = "pci14c3,7603";
-			reg = <0x0000 0 0 0 0>;
-			mediatek,mtd-eeprom = <&factory 0x0000>;
-		};
+&pcie0 {
+	wifi@0,0 {
+		compatible = "pci14c3,7603";
+		reg = <0x0000 0 0 0 0>;
+		mediatek,mtd-eeprom = <&factory 0x0000>;
 	};
+};
 
-	pcie1 {
-		wifi@14c3,7662 {
-			compatible = "pci14c3,7662";
-			reg = <0x0000 0 0 0 0>;
-			mediatek,mtd-eeprom = <&factory 0x8000>;
-			ieee80211-freq-limit = <5000000 6000000>;
-		};
+&pcie1 {
+	wifi@0,0 {
+		compatible = "pci14c3,7662";
+		reg = <0x0000 0 0 0 0>;
+		mediatek,mtd-eeprom = <&factory 0x8000>;
+		ieee80211-freq-limit = <5000000 6000000>;
 	};
 };
 
diff --git a/target/linux/ramips/dts/WCR-1166DS.dts b/target/linux/ramips/dts/WCR-1166DS.dts
index 125d98775290d713744d586eb0040e3d47f5d5e0..8b238afe28698147196eda00c6e828442dc9821f 100644
--- a/target/linux/ramips/dts/WCR-1166DS.dts
+++ b/target/linux/ramips/dts/WCR-1166DS.dts
@@ -99,13 +99,13 @@
 
 &pcie {
 	status = "okay";
-	pcie-bridge {
-		mt76@0,0 {
-			reg = <0x0000 0 0 0 0>;
-			device_type = "pci";
-			mediatek,mtd-eeprom = <&factory 0x8000>;
-			ieee80211-freq-limit = <5000000 6000000>;
-		};
+};
+
+&pcie0 {
+	mt76@0,0 {
+		reg = <0x0000 0 0 0 0>;
+		mediatek,mtd-eeprom = <&factory 0x8000>;
+		ieee80211-freq-limit = <5000000 6000000>;
 	};
 };
 
diff --git a/target/linux/ramips/dts/WE1026-5G.dtsi b/target/linux/ramips/dts/WE1026-5G.dtsi
index c357e1eee767b3b09732b3acf6664087867dea47..40738f983c3c8f88884a9dc79887d725cfe353a4 100644
--- a/target/linux/ramips/dts/WE1026-5G.dtsi
+++ b/target/linux/ramips/dts/WE1026-5G.dtsi
@@ -113,12 +113,13 @@
 
 &pcie {
 	status = "okay";
-	pcie-bridge {
-		wifi@14c3,7662 {
-			compatible = "pci14c3,7662";
-			reg = <0x0000 0 0 0 0>;
-			mediatek,mtd-eeprom = <&factory 0x8000>;
-			ieee80211-freq-limit = <5000000 6000000>;
-		};
+};
+
+&pcie0 {
+	wifi@14c3,7662 {
+		compatible = "pci14c3,7662";
+		reg = <0x0000 0 0 0 0>;
+		mediatek,mtd-eeprom = <&factory 0x8000>;
+		ieee80211-freq-limit = <5000000 6000000>;
 	};
 };
diff --git a/target/linux/ramips/dts/WF-2881.dts b/target/linux/ramips/dts/WF-2881.dts
index ed25cf607f12fb7a22408380f8e7a61552ccff22..4e331f721fd2d883e3cc1a159578eea3eaacfbc9 100644
--- a/target/linux/ramips/dts/WF-2881.dts
+++ b/target/linux/ramips/dts/WF-2881.dts
@@ -85,23 +85,21 @@
 
 &pcie {
 	status = "okay";
+};
 
-	pcie0 {
-		mt76@0,0 {
-			reg = <0x0000 0 0 0 0>;
-			device_type = "pci";
-			mediatek,mtd-eeprom = <&factory 0x8000>;
-			ieee80211-freq-limit = <5000000 6000000>;
-		};
+&pcie0 {
+	mt76@0,0 {
+		reg = <0x0000 0 0 0 0>;
+		mediatek,mtd-eeprom = <&factory 0x8000>;
+		ieee80211-freq-limit = <5000000 6000000>;
 	};
+};
 
-	pcie1 {
-		mt76@1,0 {
-			reg = <0x0000 0 0 0 0>;
-			device_type = "pci";
-			mediatek,mtd-eeprom = <&factory 0x0000>;
-			ieee80211-freq-limit = <2400000 2500000>;
-		};
+&pcie1 {
+	mt76@0,0 {
+		reg = <0x0000 0 0 0 0>;
+		mediatek,mtd-eeprom = <&factory 0x0000>;
+		ieee80211-freq-limit = <2400000 2500000>;
 	};
 };
 
diff --git a/target/linux/ramips/dts/WHR-1166D.dts b/target/linux/ramips/dts/WHR-1166D.dts
index 652a6aef896e6f46e880f224d7a467e4798ffd03..5a153ea6af6fac98643c3d07a97044d30be01dc9 100644
--- a/target/linux/ramips/dts/WHR-1166D.dts
+++ b/target/linux/ramips/dts/WHR-1166D.dts
@@ -164,13 +164,13 @@
 
 &pcie {
 	status = "okay";
+};
 
-	pcie-bridge {
-		wifi@0,0 {
-			compatible = "pci0,0";
-			reg = <0x0000 0 0 0 0>;
-			mediatek,mtd-eeprom = <&factory 0x8000>;
-			ieee80211-freq-limit = <5000000 6000000>;
-		};
+&pcie0 {
+	wifi@0,0 {
+		compatible = "pci0,0";
+		reg = <0x0000 0 0 0 0>;
+		mediatek,mtd-eeprom = <&factory 0x8000>;
+		ieee80211-freq-limit = <5000000 6000000>;
 	};
 };
diff --git a/target/linux/ramips/dts/WHR-600D.dts b/target/linux/ramips/dts/WHR-600D.dts
index fc90fc6c463e407875b964b0186500e7ed959ac6..7330495063138a303178762a58a9e12c6c8f5d62 100644
--- a/target/linux/ramips/dts/WHR-600D.dts
+++ b/target/linux/ramips/dts/WHR-600D.dts
@@ -151,12 +151,12 @@
 
 &pcie {
 	status = "okay";
+};
 
-	pcie-bridge {
-		wifi@1814,5592 {
-			compatible = "pci1814,5592";
-			reg = <0x0000 0 0 0 0>;
-			ralink,mtd-eeprom = <&factory 0x8000>;
-		};
+&pcie0 {
+	wifi@1814,5592 {
+		compatible = "pci1814,5592";
+		reg = <0x0000 0 0 0 0>;
+		ralink,mtd-eeprom = <&factory 0x8000>;
 	};
 };
diff --git a/target/linux/ramips/dts/WITI.dtsi b/target/linux/ramips/dts/WITI.dtsi
index 767ea03ff0bb2460d048539c66982e4d893d52e1..2fa25d869871e194d30fc0228ab159e2729783c6 100644
--- a/target/linux/ramips/dts/WITI.dtsi
+++ b/target/linux/ramips/dts/WITI.dtsi
@@ -79,25 +79,23 @@
 
 &pcie {
 	status = "okay";
+};
 
-	pcie0 {
-		mt76@0,0 {
-			reg = <0x0000 0 0 0 0>;
-			device_type = "pci";
-			mediatek,mtd-eeprom = <&factory 0x8000>;
-			ieee80211-freq-limit = <5000000 6000000>;
-			mtd-mac-address = <&factory 0xe000>;
-		};
+&pcie0 {
+	mt76@0,0 {
+		reg = <0x0000 0 0 0 0>;
+		mediatek,mtd-eeprom = <&factory 0x8000>;
+		ieee80211-freq-limit = <5000000 6000000>;
+		mtd-mac-address = <&factory 0xe000>;
 	};
+};
 
-	pcie1 {
-		mt76@1,0 {
-			reg = <0x0000 0 0 0 0>;
-			device_type = "pci";
-			mediatek,mtd-eeprom = <&factory 0x0000>;
-			ieee80211-freq-limit = <2400000 2500000>;
-			mtd-mac-address = <&factory 0xe000>;
-		};
+&pcie1 {
+	mt76@0,0 {
+		reg = <0x0000 0 0 0 0>;
+		mediatek,mtd-eeprom = <&factory 0x0000>;
+		ieee80211-freq-limit = <2400000 2500000>;
+		mtd-mac-address = <&factory 0xe000>;
 	};
 };
 
diff --git a/target/linux/ramips/dts/WL-WN575A3.dts b/target/linux/ramips/dts/WL-WN575A3.dts
index 213cf9c70b62a0ca777971952409259fa50c39f7..ad407c3accb0538f35adaef0c40c9803b44449b4 100644
--- a/target/linux/ramips/dts/WL-WN575A3.dts
+++ b/target/linux/ramips/dts/WL-WN575A3.dts
@@ -72,13 +72,13 @@
 
 &pcie {
 	status = "okay";
-	pcie-bridge {
-		mt76@0,0 {
-			reg = <0x0000 0 0 0 0>;
-			device_type = "pci";
-			mediatek,mtd-eeprom = <&factory 0x8000>;
-			ieee80211-freq-limit = <5000000 6000000>;
-		};
+};
+
+&pcie0 {
+	mt76@0,0 {
+		reg = <0x0000 0 0 0 0>;
+		mediatek,mtd-eeprom = <&factory 0x8000>;
+		ieee80211-freq-limit = <5000000 6000000>;
 	};
 };
 
diff --git a/target/linux/ramips/dts/WLR-6000.dts b/target/linux/ramips/dts/WLR-6000.dts
index f7e78ced2800abeae040cbb3facf2286bf3ad63d..b78f8a4d5d7978e59648fcb26cc07a502f878721 100644
--- a/target/linux/ramips/dts/WLR-6000.dts
+++ b/target/linux/ramips/dts/WLR-6000.dts
@@ -153,26 +153,15 @@
 
 &pci {
 	status = "okay";
-	pinctrl-names = "default";
-	pinctrl-0 = <&pci_pins>;
-
-	pci_pins: pci {
-		pci {
-			ralink,group = "pci";
-			ralink,function = "pci-fnc";
-		};
-	};
+};
 
-	host-bridge {
-		pci-bridge@1 {
-			status = "okay";
+&pci1 {
+	status = "okay";
 
-			wifi@1814,3091 {
-				compatible = "pci1814,3091";
-				reg = <0x10000 0 0 0 0>;
-				ralink,mtd-eeprom = <&factory 0x8000>;
-			};
-		};
+	wifi@0,0 {
+		compatible = "pci1814,3091";
+		reg = <0x10000 0 0 0 0>;
+		ralink,mtd-eeprom = <&factory 0x8000>;
 	};
 };
 
diff --git a/target/linux/ramips/dts/WN-AX1167GR.dts b/target/linux/ramips/dts/WN-AX1167GR.dts
index f4bac414114e3246b616e2e2de6da8c790fa4c7c..139b62b3d26692f189f67ade0ec2041cc02a17e0 100644
--- a/target/linux/ramips/dts/WN-AX1167GR.dts
+++ b/target/linux/ramips/dts/WN-AX1167GR.dts
@@ -145,22 +145,20 @@
 
 &pcie {
 	status = "okay";
+};
 
-	pcie0 {
-		mt76@0,0 {
-			reg = <0x0000 0 0 0 0>;
-			device_type = "pci";
-			mediatek,mtd-eeprom = <&iNIC_rf 0x0>;
-		};
+&pcie0 {
+	mt76@0,0 {
+		reg = <0x0000 0 0 0 0>;
+		mediatek,mtd-eeprom = <&iNIC_rf 0x0>;
 	};
+};
 
-	pcie1 {
-		mt76@1,0 {
-			reg = <0x0000 0 0 0 0>;
-			device_type = "pci";
-			mediatek,mtd-eeprom = <&Factory 0x0>;
-			ieee80211-freq-limit = <5000000 6000000>;
-		};
+&pcie1 {
+	mt76@0,0 {
+		reg = <0x0000 0 0 0 0>;
+		mediatek,mtd-eeprom = <&Factory 0x0>;
+		ieee80211-freq-limit = <5000000 6000000>;
 	};
 };
 
diff --git a/target/linux/ramips/dts/WN-GX300GR.dts b/target/linux/ramips/dts/WN-GX300GR.dts
index 44cdc4f0a4da1dc9e64c2fdc03f14e72ca42f46f..5d2daabe9351e97af66c17ef9986a60d4b823979 100644
--- a/target/linux/ramips/dts/WN-GX300GR.dts
+++ b/target/linux/ramips/dts/WN-GX300GR.dts
@@ -145,13 +145,12 @@
 
 &pcie {
 	status = "okay";
+};
 
-	pcie0 {
-		mt76@0,0 {
-			reg = <0x0000 0 0 0 0>;
-			device_type = "pci";
-			mediatek,mtd-eeprom = <&Factory 0x0>;
-		};
+&pcie0 {
+	mt76@0,0 {
+		reg = <0x0000 0 0 0 0>;
+		mediatek,mtd-eeprom = <&Factory 0x0>;
 	};
 };
 
diff --git a/target/linux/ramips/dts/WNDR3700V5.dts b/target/linux/ramips/dts/WNDR3700V5.dts
index 5d9dfc9de77d405ed9d547b03e109e21797940d3..b50d77ceab79504177cdcf947582c25678311e12 100644
--- a/target/linux/ramips/dts/WNDR3700V5.dts
+++ b/target/linux/ramips/dts/WNDR3700V5.dts
@@ -111,22 +111,20 @@
 
 &pcie {
 	status = "okay";
+};
 
-	pcie0 {
-		mt76@0,0 {
-			reg = <0x0000 0 0 0 0>;
-			device_type = "pci";
-			mediatek,mtd-eeprom = <&factory 0x8000>;
-			ieee80211-freq-limit = <5000000 6000000>;
-		};
+&pcie0 {
+	mt76@0,0 {
+		reg = <0x0000 0 0 0 0>;
+		mediatek,mtd-eeprom = <&factory 0x8000>;
+		ieee80211-freq-limit = <5000000 6000000>;
 	};
+};
 
-	pcie1 {
-		mt76@1,0 {
-			reg = <0x0000 0 0 0 0>;
-			device_type = "pci";
-			mediatek,mtd-eeprom = <&factory 0x0000>;
-		};
+&pcie1 {
+	mt76@0,0 {
+		reg = <0x0000 0 0 0 0>;
+		mediatek,mtd-eeprom = <&factory 0x0000>;
 	};
 };
 
diff --git a/target/linux/ramips/dts/WR1200JS.dts b/target/linux/ramips/dts/WR1200JS.dts
index 25eb1742b5292b499a33ee7a2f9cddec643408a3..c1aca688bf95022519f2ca3a63c70e792a628d0b 100644
--- a/target/linux/ramips/dts/WR1200JS.dts
+++ b/target/linux/ramips/dts/WR1200JS.dts
@@ -105,26 +105,24 @@
 
 &pcie {
 	status = "okay";
+};
 
-	pcie0 {
-		mt76@0,0 {
-			reg = <0x0000 0 0 0 0>;
-			device_type = "pci";
-			mediatek,mtd-eeprom = <&factory 0x0000>;
-		};
+&pcie0 {
+	mt76@0,0 {
+		reg = <0x0000 0 0 0 0>;
+		mediatek,mtd-eeprom = <&factory 0x0000>;
 	};
+};
+
+&pcie1 {
+	mt76@0,0 {
+		reg = <0x0000 0 0 0 0>;
+		mediatek,mtd-eeprom = <&factory 0x8000>;
+		ieee80211-freq-limit = <5000000 6000000>;
 
-	pcie1 {
-		mt76@1,0 {
-			reg = <0x0000 0 0 0 0>;
-			device_type = "pci";
-			mediatek,mtd-eeprom = <&factory 0x8000>;
-			ieee80211-freq-limit = <5000000 6000000>;
-
-			led {
-				led-sources = <2>;
-				led-active-low;
-			};
+		led {
+			led-sources = <2>;
+			led-active-low;
 		};
 	};
 };
diff --git a/target/linux/ramips/dts/WSR-1166.dts b/target/linux/ramips/dts/WSR-1166.dts
index 8207b0214e5afc3bb0053539155390a3bdcb740d..61de7988ececf1715d06a9de09e73463d3d06841 100644
--- a/target/linux/ramips/dts/WSR-1166.dts
+++ b/target/linux/ramips/dts/WSR-1166.dts
@@ -170,22 +170,20 @@
 
 &pcie {
 	status = "okay";
+};
 
-	pcie0 {
-		mt76@0,0 {
-			reg = <0x0000 0 0 0 0>;
-			device_type = "pci";
-			mediatek,mtd-eeprom = <&factory 0x8000>;
-			ieee80211-freq-limit = <5000000 6000000>;
-		};
+&pcie0 {
+	mt76@0,0 {
+		reg = <0x0000 0 0 0 0>;
+		mediatek,mtd-eeprom = <&factory 0x8000>;
+		ieee80211-freq-limit = <5000000 6000000>;
 	};
+};
 
-	pcie1 {
-		mt76@1,0 {
-			reg = <0x0000 0 0 0 0>;
-			device_type = "pci";
-			mediatek,mtd-eeprom = <&factory 0x0000>;
-		};
+&pcie1 {
+	mt76@0,0 {
+		reg = <0x0000 0 0 0 0>;
+		mediatek,mtd-eeprom = <&factory 0x0000>;
 	};
 };
 
diff --git a/target/linux/ramips/dts/WSR-600.dts b/target/linux/ramips/dts/WSR-600.dts
index 21cb6ba267ef89bfc6f4bb5a85730d5a29f059b9..37108691c0444fd0af9a926a60f1f1c5da4e593c 100644
--- a/target/linux/ramips/dts/WSR-600.dts
+++ b/target/linux/ramips/dts/WSR-600.dts
@@ -165,21 +165,19 @@
 
 &pcie {
 	status = "okay";
+};
 
-	pcie0 {
-		rt5592@0,0 {
-			reg = <0x0000 0 0 0 0>;
-			device_type = "pci";
-			ralink,mtd-eeprom = <&factory 0x8000>;
-		};
+&pcie0 {
+	rt5592@0,0 {
+		reg = <0x0000 0 0 0 0>;
+		ralink,mtd-eeprom = <&factory 0x8000>;
 	};
+};
 
-	pcie1 {
-		mt76@1,0 {
-			reg = <0x0000 0 0 0 0>;
-			device_type = "pci";
-			mediatek,mtd-eeprom = <&factory 0x0000>;
-		};
+&pcie1 {
+	mt76@0,0 {
+		reg = <0x0000 0 0 0 0>;
+		mediatek,mtd-eeprom = <&factory 0x0000>;
 	};
 };
 
diff --git a/target/linux/ramips/dts/WZR-AGL300NH.dts b/target/linux/ramips/dts/WZR-AGL300NH.dts
index ac87579e0f20ca514279fdfc211ea2c99e9b5bf7..01e6864959dcabd6a139d094f9b3d5158f9b4723 100644
--- a/target/linux/ramips/dts/WZR-AGL300NH.dts
+++ b/target/linux/ramips/dts/WZR-AGL300NH.dts
@@ -15,10 +15,6 @@
 		led-status = &led_router;
 	};
 
-	pci@440000 {
-		status = "ok";
-	};
-
 	cfi@1f000000 {
 		compatible = "cfi-flash";
 		reg = <0x1f000000 0x800000>;
@@ -138,6 +134,10 @@
 	};
 };
 
+&pci {
+	status = "okay";
+};
+
 &wmac {
 	ralink,mtd-eeprom = <&factory 0>;
 };
diff --git a/target/linux/ramips/dts/Y1.dtsi b/target/linux/ramips/dts/Y1.dtsi
index 0db064576fc26c77a93cbd13c0f1e4074f17f88c..cadb5b9d67734acc57be3e0f99b22cf21dbfba20 100644
--- a/target/linux/ramips/dts/Y1.dtsi
+++ b/target/linux/ramips/dts/Y1.dtsi
@@ -81,14 +81,13 @@
 
 &pcie {
 	status = "okay";
+};
 
-	pcie-bridge {
-		mt76@0,0 {
-			reg = <0x0000 0 0 0 0>;
-			device_type = "pci";
-			mediatek,mtd-eeprom = <&factory 0x8000>;
-			ieee80211-freq-limit = <5000000 6000000>;
-		};
+&pcie0 {
+	mt76@0,0 {
+		reg = <0x0000 0 0 0 0>;
+		mediatek,mtd-eeprom = <&factory 0x8000>;
+		ieee80211-freq-limit = <5000000 6000000>;
 	};
 };
 	
diff --git a/target/linux/ramips/dts/ZBT-APE522II.dts b/target/linux/ramips/dts/ZBT-APE522II.dts
index 05d053f22a2a50db65bbb821432289dfd073015f..a9261bed7533feac977a8786836cd9968bb593d8 100644
--- a/target/linux/ramips/dts/ZBT-APE522II.dts
+++ b/target/linux/ramips/dts/ZBT-APE522II.dts
@@ -121,14 +121,13 @@
 
 &pcie {
 	status = "okay";
+};
 
-	pcie-bridge {
-		mt76@0,0 {
-			reg = <0x0000 0 0 0 0>;
-			device_type = "pci";
-			mediatek,mtd-eeprom = <&factory 0x8000>;
-			ieee80211-freq-limit = <5000000 6000000>;
-		};
+&pcie0 {
+	mt76@0,0 {
+		reg = <0x0000 0 0 0 0>;
+		mediatek,mtd-eeprom = <&factory 0x8000>;
+		ieee80211-freq-limit = <5000000 6000000>;
 	};
 };
 
diff --git a/target/linux/ramips/dts/ZBT-WE1326.dts b/target/linux/ramips/dts/ZBT-WE1326.dts
index 6cbab663078bf12194d9dbc688e71b4bcba0dcbc..6d61c7d5cb4b59d73bb188f8a763cef6332451cf 100644
--- a/target/linux/ramips/dts/ZBT-WE1326.dts
+++ b/target/linux/ramips/dts/ZBT-WE1326.dts
@@ -83,23 +83,21 @@
 
 &pcie {
 	status = "okay";
+};
 
-	pcie0 {
-		mt76@0,0 {
-			reg = <0x0000 0 0 0 0>;
-			device_type = "pci";
-			mediatek,mtd-eeprom = <&factory 0x8000>;
-			ieee80211-freq-limit = <5000000 6000000>;
-		};
+&pcie0 {
+	mt76@0,0 {
+		reg = <0x0000 0 0 0 0>;
+		mediatek,mtd-eeprom = <&factory 0x8000>;
+		ieee80211-freq-limit = <5000000 6000000>;
 	};
+};
 
-	pcie1 {
-		mt76@1,0 {
-			reg = <0x0000 0 0 0 0>;
-			device_type = "pci";
-			mediatek,mtd-eeprom = <&factory 0x0000>;
-			ieee80211-freq-limit = <2400000 2500000>;
-		};
+&pcie1 {
+	mt76@0,0 {
+		reg = <0x0000 0 0 0 0>;
+		mediatek,mtd-eeprom = <&factory 0x0000>;
+		ieee80211-freq-limit = <2400000 2500000>;
 	};
 };
 
diff --git a/target/linux/ramips/dts/ZBT-WE3526.dts b/target/linux/ramips/dts/ZBT-WE3526.dts
index dc7896f13e842a77f28bae60e26e9c236536e528..e7fca918f7c242d5d73349d88aedbb1d495764cf 100644
--- a/target/linux/ramips/dts/ZBT-WE3526.dts
+++ b/target/linux/ramips/dts/ZBT-WE3526.dts
@@ -80,26 +80,26 @@
 
 &pcie {
 	status = "okay";
+};
 
-	pcie0 {
-		wifi@14c3,7662 {
-			compatible = "pci14c3,7662";
-			reg = <0x0000 0 0 0 0>;
-			mediatek,mtd-eeprom = <&factory 0x8000>;
-			ieee80211-freq-limit = <5000000 6000000>;
+&pcie0 {
+	wifi@0,0 {
+		compatible = "pci14c3,7662";
+		reg = <0x0000 0 0 0 0>;
+		mediatek,mtd-eeprom = <&factory 0x8000>;
+		ieee80211-freq-limit = <5000000 6000000>;
 
-			led {
-				led-sources = <2>;
-			};
+		led {
+			led-sources = <2>;
 		};
 	};
+};
 
-	pcie1 {
-		wifi@14c3,7603 {
-			compatible = "pci14c3,7603";
-			reg = <0x0000 0 0 0 0>;
-			mediatek,mtd-eeprom = <&factory 0x0000>;
-		};
+&pcie1 {
+	wifi@0,0 {
+		compatible = "pci14c3,7603";
+		reg = <0x0000 0 0 0 0>;
+		mediatek,mtd-eeprom = <&factory 0x0000>;
 	};
 };
 
diff --git a/target/linux/ramips/dts/ZBT-WG2626.dts b/target/linux/ramips/dts/ZBT-WG2626.dts
index 0ecb24ea5e68e3287895b552933fbe997237c242..0068517b0d4e5ea1b66c9bfc684c4ac91be99886 100644
--- a/target/linux/ramips/dts/ZBT-WG2626.dts
+++ b/target/linux/ramips/dts/ZBT-WG2626.dts
@@ -93,23 +93,21 @@
 
 &pcie {
 	status = "okay";
+};
 
-	pcie0 {
-		mt76@0,0 {
-			reg = <0x0000 0 0 0 0>;
-			device_type = "pci";
-			mediatek,mtd-eeprom = <&factory 0x8000>;
-			ieee80211-freq-limit = <5000000 6000000>;
-		};
+&pcie0 {
+	mt76@0,0 {
+		reg = <0x0000 0 0 0 0>;
+		mediatek,mtd-eeprom = <&factory 0x8000>;
+		ieee80211-freq-limit = <5000000 6000000>;
 	};
+};
 
-	pcie1 {
-		mt76@1,0 {
-			reg = <0x0000 0 0 0 0>;
-			device_type = "pci";
-			mediatek,mtd-eeprom = <&factory 0x0000>;
-			ieee80211-freq-limit = <2400000 2500000>;
-		};
+&pcie1 {
+	mt76@0,0 {
+		reg = <0x0000 0 0 0 0>;
+		mediatek,mtd-eeprom = <&factory 0x0000>;
+		ieee80211-freq-limit = <2400000 2500000>;
 	};
 };
 
diff --git a/target/linux/ramips/dts/ZBT-WG3526.dtsi b/target/linux/ramips/dts/ZBT-WG3526.dtsi
index 99a976d99a7900a37e16eae01125f80893d35e70..8c1cb3d78b197eb2cab1961215c2b747f248e314 100644
--- a/target/linux/ramips/dts/ZBT-WG3526.dtsi
+++ b/target/linux/ramips/dts/ZBT-WG3526.dtsi
@@ -89,22 +89,22 @@
 
 &pcie {
 	status = "okay";
+};
 
-	pcie0 {
-		wifi@14c3,7603 {
-			compatible = "pci14c3,7603";
-			reg = <0x0000 0 0 0 0>;
-			mediatek,mtd-eeprom = <&factory 0x0000>;
-		};
+&pcie0 {
+	wifi@0,0 {
+		compatible = "pci14c3,7603";
+		reg = <0x0000 0 0 0 0>;
+		mediatek,mtd-eeprom = <&factory 0x0000>;
 	};
+};
 
-	pcie1 {
-		wifi@14c3,7662 {
-			compatible = "pci14c3,7662";
-			reg = <0x0000 0 0 0 0>;
-			mediatek,mtd-eeprom = <&factory 0x8000>;
-			ieee80211-freq-limit = <5000000 6000000>;
-		};
+&pcie1 {
+	wifi@0,0 {
+		compatible = "pci14c3,7662";
+		reg = <0x0000 0 0 0 0>;
+		mediatek,mtd-eeprom = <&factory 0x8000>;
+		ieee80211-freq-limit = <5000000 6000000>;
 	};
 };
 
diff --git a/target/linux/ramips/dts/ki_rb.dts b/target/linux/ramips/dts/ki_rb.dts
index 9f6f84b15e1dcd0fb903b3509cb55e15e13f7a9a..b135b7ff51cd6f67d4b5d59a90db56702418da18 100644
--- a/target/linux/ramips/dts/ki_rb.dts
+++ b/target/linux/ramips/dts/ki_rb.dts
@@ -188,15 +188,14 @@
 
 &pcie {
 	status = "okay";
+};
 
-	pcie-bridge {
-		mt76@0,0 {
-			reg = <0x0000 0 0 0 0>;
-			device_type = "pci";
-			mediatek,mtd-eeprom = <&factory 0x8000>;
-			ieee80211-freq-limit = <5000000 6000000>;
-			mtd-mac-address = <&factory 0x8004>;
-		};
+&pcie0 {
+	mt76@0,0 {
+		reg = <0x0000 0 0 0 0>;
+		mediatek,mtd-eeprom = <&factory 0x8000>;
+		ieee80211-freq-limit = <5000000 6000000>;
+		mtd-mac-address = <&factory 0x8004>;
 	};
 };
 
diff --git a/target/linux/ramips/dts/mt7620a.dtsi b/target/linux/ramips/dts/mt7620a.dtsi
index 39e5227d12d67cfabc9fb2309976184d13afe032..9b1362aebcba4dd972f57b01435d937bd9e61279 100644
--- a/target/linux/ramips/dts/mt7620a.dtsi
+++ b/target/linux/ramips/dts/mt7620a.dtsi
@@ -555,13 +555,15 @@
 
 		status = "disabled";
 
-		pcie-bridge {
+		pcie0: pcie@0,0 {
 			reg = <0x0000 0 0 0 0>;
 
 			#address-cells = <3>;
 			#size-cells = <2>;
 
 			device_type = "pci";
+
+			ranges;
 		};
 	};
 
diff --git a/target/linux/ramips/dts/mt7621.dtsi b/target/linux/ramips/dts/mt7621.dtsi
index cb830128d8f029c20b2638a763f4cede8aaa2d9b..3bef601aee019fb2cd238dd384d99246b87dc5a5 100644
--- a/target/linux/ramips/dts/mt7621.dtsi
+++ b/target/linux/ramips/dts/mt7621.dtsi
@@ -459,25 +459,31 @@
 		clocks = <&clkctrl 24 &clkctrl 25 &clkctrl 26>;
 		clock-names = "pcie0", "pcie1", "pcie2";
 
-		pcie0 {
+		pcie0: pcie@0,0 {
 			reg = <0x0000 0 0 0 0>;
 
 			#address-cells = <3>;
 			#size-cells = <2>;
+
+			ranges;
 		};
 
-		pcie1 {
+		pcie1: pcie@1,0 {
 			reg = <0x0800 0 0 0 0>;
 
 			#address-cells = <3>;
 			#size-cells = <2>;
+
+			ranges;
 		};
 
-		pcie2 {
+		pcie2: pcie@2,0 {
 			reg = <0x1000 0 0 0 0>;
 
 			#address-cells = <3>;
 			#size-cells = <2>;
+
+			ranges;
 		};
 	};
 };
diff --git a/target/linux/ramips/dts/mt7628an.dtsi b/target/linux/ramips/dts/mt7628an.dtsi
index 26287b3f8dcf9be385952d529124718e1279fa94..3fdb91b55acd6c06d6eeb96600be7c8d07c7828a 100644
--- a/target/linux/ramips/dts/mt7628an.dtsi
+++ b/target/linux/ramips/dts/mt7628an.dtsi
@@ -473,13 +473,15 @@
 			0x01000000 0 0x00000000 0x10160000 0 0x00010000 /* io space */
 		>;
 
-		pcie-bridge {
+		pcie0: pcie@0,0 {
 			reg = <0x0000 0 0 0 0>;
 
 			#address-cells = <3>;
 			#size-cells = <2>;
 
 			device_type = "pci";
+
+			ranges;
 		};
 	};
 
diff --git a/target/linux/ramips/dts/rt3883.dtsi b/target/linux/ramips/dts/rt3883.dtsi
index b2ce93b8cf29b87b2427e7d73f25131c0ecb4082..7980748c1951a9c71e9639262cf95a447c346eaf 100644
--- a/target/linux/ramips/dts/rt3883.dtsi
+++ b/target/linux/ramips/dts/rt3883.dtsi
@@ -306,6 +306,13 @@
 				ralink,function = "uartlite";
 			};
 		};
+
+		pci_pins: pci {
+			pci {
+				ralink,group = "pci";
+				ralink,function = "pci-fnc";
+			};
+		};
 	};
 
 	ethernet: ethernet@10100000 {
@@ -350,6 +357,9 @@
 		#size-cells = <1>;
 		ranges; /* direct mapping */
 
+		pinctrl-names = "default";
+		pinctrl-0 = <&pci_pins>;
+
 		status = "disabled";
 
 		pciintc: interrupt-controller {
@@ -361,7 +371,7 @@
 			interrupts = <4>;
 		};
 
-		host-bridge {
+		pci@0 {
 			#address-cells = <3>;
 			#size-cells = <2>;
 			#interrupt-cells = <1>;
@@ -388,7 +398,7 @@
 				0x9000 0 0 4 &pciintc 19
 			>;
 
-			pci-bridge@1 {
+			pci1: pci@1 {
 				reg = <0x0800 0 0 0 0>;
 				device_type = "pci";
 				#interrupt-cells = <1>;
@@ -397,33 +407,28 @@
 
 				status = "disabled";
 
-				ralink,pci-slot = <1>;
-
 				interrupt-map-mask = <0x0 0 0 0>;
 				interrupt-map = <0x0 0 0 0 &pciintc 20>;
+
+				bus-range = <1 255>;
+				ranges;
 			};
 
-			pci-slot@17 {
+			pci17: pci@11,0 {
 				reg = <0x8800 0 0 0 0>;
-				device_type = "pci";
 				#interrupt-cells = <1>;
 				#address-cells = <3>;
 				#size-cells = <2>;
 
-				ralink,pci-slot = <17>;
-
 				status = "disabled";
 			};
 
-			pci-slot@18 {
+			pci18: pci@12,0 {
 				reg = <0x9000 0 0 0 0>;
-				device_type = "pci";
 				#interrupt-cells = <1>;
 				#address-cells = <3>;
 				#size-cells = <2>;
 
-				ralink,pci-slot = <18>;
-
 				status = "disabled";
 			};
 		};