* [PATCH] ARM: dts: BCM5301X: add root pcie bridges
@ 2026-03-02 0:07 Rosen Penev
2026-03-16 20:43 ` Florian Fainelli
2026-03-20 21:39 ` Florian Fainelli
0 siblings, 2 replies; 4+ messages in thread
From: Rosen Penev @ 2026-03-02 0:07 UTC (permalink / raw)
To: devicetree
Cc: Florian Fainelli, Hauke Mehrtens, Rafał Miłecki,
Broadcom internal kernel review list, Rob Herring,
Krzysztof Kozlowski, Conor Dooley,
moderated list:BROADCOM BCM5301X ARM ARCHITECTURE, open list
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
^ permalink raw reply related [flat|nested] 4+ messages in thread* Re: [PATCH] ARM: dts: BCM5301X: add root pcie bridges
2026-03-02 0:07 [PATCH] ARM: dts: BCM5301X: add root pcie bridges Rosen Penev
@ 2026-03-16 20:43 ` Florian Fainelli
2026-03-20 21:39 ` Florian Fainelli
1 sibling, 0 replies; 4+ messages in thread
From: Florian Fainelli @ 2026-03-16 20:43 UTC (permalink / raw)
To: bcm-kernel-feedback-list, Rosen Penev, devicetree
Cc: Florian Fainelli, Hauke Mehrtens, Rafał Miłecki,
Rob Herring, Krzysztof Kozlowski, Conor Dooley,
moderated list:BROADCOM BCM5301X ARM ARCHITECTURE, open list
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
^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: [PATCH] ARM: dts: BCM5301X: add root pcie bridges
2026-03-02 0:07 [PATCH] ARM: dts: BCM5301X: add root pcie bridges Rosen Penev
2026-03-16 20:43 ` Florian Fainelli
@ 2026-03-20 21:39 ` Florian Fainelli
2026-03-20 23:07 ` Rosen Penev
1 sibling, 1 reply; 4+ messages in thread
From: Florian Fainelli @ 2026-03-20 21:39 UTC (permalink / raw)
To: Rosen Penev, devicetree
Cc: Hauke Mehrtens, Rafał Miłecki,
Broadcom internal kernel review list, Rob Herring,
Krzysztof Kozlowski, Conor Dooley,
moderated list:BROADCOM BCM5301X ARM ARCHITECTURE, open list
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
^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: [PATCH] ARM: dts: BCM5301X: add root pcie bridges
2026-03-20 21:39 ` Florian Fainelli
@ 2026-03-20 23:07 ` Rosen Penev
0 siblings, 0 replies; 4+ messages in thread
From: Rosen Penev @ 2026-03-20 23:07 UTC (permalink / raw)
To: Florian Fainelli
Cc: devicetree, Hauke Mehrtens, Rafał Miłecki,
Broadcom internal kernel review list, Rob Herring,
Krzysztof Kozlowski, Conor Dooley,
moderated list:BROADCOM BCM5301X ARM ARCHITECTURE, open list
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
^ permalink raw reply [flat|nested] 4+ messages in thread
end of thread, other threads:[~2026-03-20 23:08 UTC | newest]
Thread overview: 4+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2026-03-02 0:07 [PATCH] ARM: dts: BCM5301X: add root pcie bridges Rosen Penev
2026-03-16 20:43 ` Florian Fainelli
2026-03-20 21:39 ` Florian Fainelli
2026-03-20 23:07 ` Rosen Penev
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox