arch/arm/boot/dts/broadcom/bcm-ns.dtsi | 30 ++++++++ .../dts/broadcom/bcm4709-netgear-r8000.dts | 73 ++++++++----------- .../dts/broadcom/bcm47094-luxul-xap-1610.dts | 36 ++------- .../broadcom/bcm47094-luxul-xwr-3150-v1.dts | 36 ++------- 4 files changed, 76 insertions(+), 99 deletions(-)
They are always required and instead of duplicating a definition in each
dts file, place it in dtsi with labels and work based on that.
Also changed each bridge@ to pcie@ to get extra dtc static analysis.
Fixed bridge numbers as a result.
Signed-off-by: Rosen Penev <rosenp@gmail.com>
---
arch/arm/boot/dts/broadcom/bcm-ns.dtsi | 30 ++++++++
.../dts/broadcom/bcm4709-netgear-r8000.dts | 73 ++++++++-----------
.../dts/broadcom/bcm47094-luxul-xap-1610.dts | 36 ++-------
.../broadcom/bcm47094-luxul-xwr-3150-v1.dts | 36 ++-------
4 files changed, 76 insertions(+), 99 deletions(-)
diff --git a/arch/arm/boot/dts/broadcom/bcm-ns.dtsi b/arch/arm/boot/dts/broadcom/bcm-ns.dtsi
index 3fb1b762e492..392a25713669 100644
--- a/arch/arm/boot/dts/broadcom/bcm-ns.dtsi
+++ b/arch/arm/boot/dts/broadcom/bcm-ns.dtsi
@@ -196,6 +196,16 @@ pcie0: pcie@12000 {
#interrupt-cells = <1>;
#address-cells = <3>;
#size-cells = <2>;
+
+ pcie_bridge0: pcie@0 {
+ device_type = "pci";
+ reg = <0x0000 0 0 0 0>;
+ bus-range = <0x00 0xff>;
+
+ #address-cells = <3>;
+ #size-cells = <2>;
+ ranges;
+ };
};
pcie1: pcie@13000 {
@@ -210,6 +220,16 @@ pcie1: pcie@13000 {
#interrupt-cells = <1>;
#address-cells = <3>;
#size-cells = <2>;
+
+ pcie_bridge1: pcie@0 {
+ device_type = "pci";
+ reg = <0x0000 0 0 0 0>;
+ bus-range = <0x00 0xff>;
+
+ #address-cells = <3>;
+ #size-cells = <2>;
+ ranges;
+ };
};
pcie2: pcie@14000 {
@@ -224,6 +244,16 @@ pcie2: pcie@14000 {
#interrupt-cells = <1>;
#address-cells = <3>;
#size-cells = <2>;
+
+ pcie_bridge2: pcie@0 {
+ device_type = "pci";
+ reg = <0x0000 0 0 0 0>;
+ bus-range = <0x00 0xff>;
+
+ #address-cells = <3>;
+ #size-cells = <2>;
+ ranges;
+ };
};
usb2: usb2@21000 {
diff --git a/arch/arm/boot/dts/broadcom/bcm4709-netgear-r8000.dts b/arch/arm/boot/dts/broadcom/bcm4709-netgear-r8000.dts
index 127ca8741220..d170c71cbd76 100644
--- a/arch/arm/boot/dts/broadcom/bcm4709-netgear-r8000.dts
+++ b/arch/arm/boot/dts/broadcom/bcm4709-netgear-r8000.dts
@@ -126,66 +126,53 @@ button-brightness {
};
};
-&pcie0 {
- #address-cells = <3>;
- #size-cells = <2>;
-
- bridge@0,0,0 {
+&pcie_bridge0 {
+ wifi@0,0 {
+ compatible = "brcm,bcm4366-fmac", "brcm,bcm4329-fmac";
reg = <0x0000 0 0 0 0>;
-
- #address-cells = <3>;
- #size-cells = <2>;
-
- wifi@0,1,0 {
- compatible = "brcm,bcm4366-fmac", "brcm,bcm4329-fmac";
- reg = <0x0000 0 0 0 0>;
- ieee80211-freq-limit = <5735000 5835000>;
- brcm,ccode-map = "JP-JP-78", "US-Q2-86";
- };
+ ieee80211-freq-limit = <5735000 5835000>;
+ brcm,ccode-map = "JP-JP-78", "US-Q2-86";
};
};
-&pcie1 {
- #address-cells = <3>;
- #size-cells = <2>;
-
- bridge@1,0,0 {
+&pcie_bridge1 {
+ pcie@0,0 {
+ device_type = "pci";
reg = <0x0000 0 0 0 0>;
+ bus-range = <0x01 0xff>;
#address-cells = <3>;
#size-cells = <2>;
+ ranges;
- bridge@1,1,0 {
- reg = <0x0000 0 0 0 0>;
+ pcie@1,0 {
+ device_type = "pci";
+ reg = <0x800 0 0 0 0>;
#address-cells = <3>;
#size-cells = <2>;
+ ranges;
- bridge@1,0 {
- reg = <0x800 0 0 0 0>;
-
- #address-cells = <3>;
- #size-cells = <2>;
-
- wifi@0,0 {
- compatible = "brcm,bcm4366-fmac", "brcm,bcm4329-fmac";
- reg = <0x0000 0 0 0 0>;
- brcm,ccode-map = "JP-JP-78", "US-Q2-86";
- };
+ wifi@0,0 {
+ compatible = "brcm,bcm4366-fmac", "brcm,bcm4329-fmac";
+ reg = <0x0000 0 0 0 0>;
+ brcm,ccode-map = "JP-JP-78", "US-Q2-86";
};
+ };
- bridge@1,2,2 {
- reg = <0x1000 0 0 0 0>;
+ pcie@2,0 {
+ device_type = "pci";
+ reg = <0x1000 0 0 0 0>;
- #address-cells = <3>;
- #size-cells = <2>;
+ #address-cells = <3>;
+ #size-cells = <2>;
+ ranges;
- wifi@1,4,0 {
- compatible = "brcm,bcm4366-fmac", "brcm,bcm4329-fmac";
- reg = <0x0000 0 0 0 0>;
- ieee80211-freq-limit = <5170000 5730000>;
- brcm,ccode-map = "JP-JP-78", "US-Q2-86";
- };
+ wifi@0,0 {
+ compatible = "brcm,bcm4366-fmac", "brcm,bcm4329-fmac";
+ reg = <0x0000 0 0 0 0>;
+ ieee80211-freq-limit = <5170000 5730000>;
+ brcm,ccode-map = "JP-JP-78", "US-Q2-86";
};
};
};
diff --git a/arch/arm/boot/dts/broadcom/bcm47094-luxul-xap-1610.dts b/arch/arm/boot/dts/broadcom/bcm47094-luxul-xap-1610.dts
index badafa024d24..3a33705c2969 100644
--- a/arch/arm/boot/dts/broadcom/bcm47094-luxul-xap-1610.dts
+++ b/arch/arm/boot/dts/broadcom/bcm47094-luxul-xap-1610.dts
@@ -65,39 +65,19 @@ &gmac0 {
};
-&pcie0 {
- #address-cells = <3>;
- #size-cells = <2>;
-
- bridge@0,0 {
+&pcie_bridge0 {
+ wifi@0,0 {
+ compatible = "brcm,bcm4366-fmac", "brcm,bcm4329-fmac";
reg = <0x0000 0 0 0 0>;
-
- #address-cells = <3>;
- #size-cells = <2>;
-
- wifi@0,0 {
- compatible = "brcm,bcm4366-fmac", "brcm,bcm4329-fmac";
- reg = <0x0000 0 0 0 0>;
- brcm,ccode-map = "AU-AU-920", "CA-CA-892", "GB-DE-964", "NZ-AU-920", "US-US-825";
- };
+ brcm,ccode-map = "AU-AU-920", "CA-CA-892", "GB-DE-964", "NZ-AU-920", "US-US-825";
};
};
-&pcie1 {
- #address-cells = <3>;
- #size-cells = <2>;
-
- bridge@0,0 {
+&pcie_bridge1 {
+ wifi@0,0 {
+ compatible = "brcm,bcm4366-fmac", "brcm,bcm4329-fmac";
reg = <0x0000 0 0 0 0>;
-
- #address-cells = <3>;
- #size-cells = <2>;
-
- wifi@0,0 {
- compatible = "brcm,bcm4366-fmac", "brcm,bcm4329-fmac";
- reg = <0x0000 0 0 0 0>;
- brcm,ccode-map = "AU-AU-920", "CA-CA-892", "GB-DE-964", "NZ-AU-920", "US-US-825";
- };
+ brcm,ccode-map = "AU-AU-920", "CA-CA-892", "GB-DE-964", "NZ-AU-920", "US-US-825";
};
};
diff --git a/arch/arm/boot/dts/broadcom/bcm47094-luxul-xwr-3150-v1.dts b/arch/arm/boot/dts/broadcom/bcm47094-luxul-xwr-3150-v1.dts
index 83c429afc297..8e487f60a2cc 100644
--- a/arch/arm/boot/dts/broadcom/bcm47094-luxul-xwr-3150-v1.dts
+++ b/arch/arm/boot/dts/broadcom/bcm47094-luxul-xwr-3150-v1.dts
@@ -81,39 +81,19 @@ &gmac0 {
nvmem-cell-names = "mac-address";
};
-&pcie0 {
- #address-cells = <3>;
- #size-cells = <2>;
-
- bridge@0,0 {
+&pcie_bridge0 {
+ wifi@0,0 {
+ compatible = "brcm,bcm4366-fmac", "brcm,bcm4329-fmac";
reg = <0x0000 0 0 0 0>;
-
- #address-cells = <3>;
- #size-cells = <2>;
-
- wifi@0,0 {
- compatible = "brcm,bcm4366-fmac", "brcm,bcm4329-fmac";
- reg = <0x0000 0 0 0 0>;
- brcm,ccode-map = "AU-AU-953", "CA-CA-946", "GB-E0-846", "NZ-AU-953", "US-Q2-930";
- };
+ brcm,ccode-map = "AU-AU-953", "CA-CA-946", "GB-E0-846", "NZ-AU-953", "US-Q2-930";
};
};
-&pcie1 {
- #address-cells = <3>;
- #size-cells = <2>;
-
- bridge@0,0 {
+&pcie_bridge1 {
+ wifi@0,0 {
+ compatible = "brcm,bcm4366-fmac", "brcm,bcm4329-fmac";
reg = <0x0000 0 0 0 0>;
-
- #address-cells = <3>;
- #size-cells = <2>;
-
- wifi@0,0 {
- compatible = "brcm,bcm4366-fmac", "brcm,bcm4329-fmac";
- reg = <0x0000 0 0 0 0>;
- brcm,ccode-map = "AU-AU-953", "CA-CA-946", "GB-E0-846", "NZ-AU-953", "US-Q2-930";
- };
+ brcm,ccode-map = "AU-AU-953", "CA-CA-946", "GB-E0-846", "NZ-AU-953", "US-Q2-930";
};
};
--
2.53.0
On 3/1/26 16:07, Rosen Penev wrote: > They are always required and instead of duplicating a definition in each > dts file, place it in dtsi with labels and work based on that. > > Also changed each bridge@ to pcie@ to get extra dtc static analysis. > > Fixed bridge numbers as a result. > > Signed-off-by: Rosen Penev <rosenp@gmail.com> While you are it, can you fix this warning: arch/arm/boot/dts/broadcom/bcm4709-netgear-r8000.dts:142.3-27: Warning (pci_device_bus_num): /axi@18000000/pcie@13000/pcie@0/pcie@0,0/pcie@1,0:bus-range: PCI bus number 0 out of range, expected (1 - 255) arch/arm/boot/dts/broadcom/bcm4709-netgear-r8000.dts:142.3-27: Warning (pci_device_bus_num): /axi@18000000/pcie@13000/pcie@0/pcie@0,0/pcie@2,0:bus-range: PCI bus number 0 out of range, expected (1 - 255) Thanks! -- Florian
On Fri, Mar 20, 2026 at 2:39 PM Florian Fainelli <florian.fainelli@broadcom.com> wrote: > > On 3/1/26 16:07, Rosen Penev wrote: > > They are always required and instead of duplicating a definition in each > > dts file, place it in dtsi with labels and work based on that. > > > > Also changed each bridge@ to pcie@ to get extra dtc static analysis. > > > > Fixed bridge numbers as a result. > > > > Signed-off-by: Rosen Penev <rosenp@gmail.com> > > While you are it, can you fix this warning: > > arch/arm/boot/dts/broadcom/bcm4709-netgear-r8000.dts:142.3-27: Warning > (pci_device_bus_num): > /axi@18000000/pcie@13000/pcie@0/pcie@0,0/pcie@1,0:bus-range: PCI bus > number 0 out of range, expected (1 - 255) > arch/arm/boot/dts/broadcom/bcm4709-netgear-r8000.dts:142.3-27: Warning > (pci_device_bus_num): > /axi@18000000/pcie@13000/pcie@0/pcie@0,0/pcie@2,0:bus-range: PCI bus > number 0 out of range, expected (1 - 255) I'll look into this. > > Thanks! > -- > Florian
From: Florian Fainelli <f.fainelli@gmail.com> On Sun, 1 Mar 2026 16:07:36 -0800, Rosen Penev <rosenp@gmail.com> wrote: > They are always required and instead of duplicating a definition in each > dts file, place it in dtsi with labels and work based on that. > > Also changed each bridge@ to pcie@ to get extra dtc static analysis. > > Fixed bridge numbers as a result. > > Signed-off-by: Rosen Penev <rosenp@gmail.com> > --- Applied to https://github.com/Broadcom/stblinux/commits/devicetree/next, thanks! -- Florian
© 2016 - 2026 Red Hat, Inc.