mirror of
https://git.openwrt.org/openwrt/openwrt.git
synced 2026-03-14 14:59:45 +01:00
bcm53xx: backport pcie patches
Some checks are pending
Build Kernel / Build all affected Kernels (push) Waiting to run
Some checks are pending
Build Kernel / Build all affected Kernels (push) Waiting to run
Needed for various fixes. Signed-off-by: Rosen Penev <rosenp@gmail.com> Link: https://github.com/openwrt/openwrt/pull/22307 Signed-off-by: Robert Marko <robimarko@gmail.com>
This commit is contained in:
parent
b995f318b2
commit
24ce1491cc
2 changed files with 362 additions and 0 deletions
|
|
@ -0,0 +1,90 @@
|
|||
From 9f60f2d9e1920245acbb9b0493d0c073905c3976 Mon Sep 17 00:00:00 2001
|
||||
From: =?UTF-8?q?Rafa=C5=82=20Mi=C5=82ecki?= <rafal@milecki.pl>
|
||||
Date: Thu, 8 Jan 2026 23:40:26 +0100
|
||||
Subject: [PATCH] ARM: dts: BCM5301X: Describe PCIe controllers fully
|
||||
MIME-Version: 1.0
|
||||
Content-Type: text/plain; charset=UTF-8
|
||||
Content-Transfer-Encoding: 8bit
|
||||
|
||||
Tested successfully on BCM47094 SoC using Linux's pcie-iproc-platform
|
||||
driver.
|
||||
|
||||
This fixes:
|
||||
arch/arm/boot/dts/broadcom/bcm4708-asus-rt-ac56u.dtb: pcie@12000: 'device_type' is a required property
|
||||
from schema $id: http://devicetree.org/schemas/pci/pci-bus.yaml#
|
||||
arch/arm/boot/dts/broadcom/bcm4708-asus-rt-ac56u.dtb: pcie@12000: 'ranges' is a required property
|
||||
from schema $id: http://devicetree.org/schemas/pci/pci-bus.yaml#
|
||||
arch/arm/boot/dts/broadcom/bcm4708-asus-rt-ac56u.dtb: pcie@13000: 'device_type' is a required property
|
||||
from schema $id: http://devicetree.org/schemas/pci/pci-bus.yaml#
|
||||
arch/arm/boot/dts/broadcom/bcm4708-asus-rt-ac56u.dtb: pcie@13000: 'ranges' is a required property
|
||||
from schema $id: http://devicetree.org/schemas/pci/pci-bus.yaml#
|
||||
arch/arm/boot/dts/broadcom/bcm4708-asus-rt-ac56u.dtb: pcie@14000: 'device_type' is a required property
|
||||
from schema $id: http://devicetree.org/schemas/pci/pci-bus.yaml#
|
||||
arch/arm/boot/dts/broadcom/bcm4708-asus-rt-ac56u.dtb: pcie@14000: 'ranges' is a required property
|
||||
from schema $id: http://devicetree.org/schemas/pci/pci-bus.yaml#
|
||||
|
||||
Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
|
||||
Link: https://lore.kernel.org/r/20260108224026.3550-1-zajec5@gmail.com
|
||||
Signed-off-by: Florian Fainelli <florian.fainelli@broadcom.com>
|
||||
---
|
||||
arch/arm/boot/dts/broadcom/bcm-ns.dtsi | 26 +++++++++++++++++++++++++-
|
||||
1 file changed, 25 insertions(+), 1 deletion(-)
|
||||
|
||||
--- a/arch/arm/boot/dts/broadcom/bcm-ns.dtsi
|
||||
+++ b/arch/arm/boot/dts/broadcom/bcm-ns.dtsi
|
||||
@@ -95,7 +95,10 @@
|
||||
axi@18000000 {
|
||||
compatible = "brcm,bus-axi";
|
||||
reg = <0x18000000 0x1000>;
|
||||
- ranges = <0x00000000 0x18000000 0x00100000>;
|
||||
+ ranges = <0x00000000 0x18000000 0x00100000>,
|
||||
+ <0x08000000 0x08000000 0x08000000>,
|
||||
+ <0x20000000 0x20000000 0x08000000>,
|
||||
+ <0x28000000 0x28000000 0x08000000>;
|
||||
#address-cells = <1>;
|
||||
#size-cells = <1>;
|
||||
|
||||
@@ -182,22 +185,43 @@
|
||||
};
|
||||
|
||||
pcie0: pcie@12000 {
|
||||
+ compatible = "brcm,iproc-pcie";
|
||||
reg = <0x00012000 0x1000>;
|
||||
+ ranges = <0x82000000 0 0x08000000 0x08000000 0 0x08000000>;
|
||||
+ interrupt-map-mask = <0 0 0 0>;
|
||||
+ interrupt-map = <0 0 0 0 &gic GIC_SPI 126 IRQ_TYPE_LEVEL_HIGH>;
|
||||
+ bus-range = <0x00 0xff>;
|
||||
+ device_type = "pci";
|
||||
|
||||
+ #interrupt-cells = <1>;
|
||||
#address-cells = <3>;
|
||||
#size-cells = <2>;
|
||||
};
|
||||
|
||||
pcie1: pcie@13000 {
|
||||
+ compatible = "brcm,iproc-pcie";
|
||||
reg = <0x00013000 0x1000>;
|
||||
+ ranges = <0x82000000 0 0x20000000 0x20000000 0 0x08000000>;
|
||||
+ interrupt-map-mask = <0 0 0 0>;
|
||||
+ interrupt-map = <0 0 0 0 &gic GIC_SPI 132 IRQ_TYPE_LEVEL_HIGH>;
|
||||
+ bus-range = <0x00 0xff>;
|
||||
+ device_type = "pci";
|
||||
|
||||
+ #interrupt-cells = <1>;
|
||||
#address-cells = <3>;
|
||||
#size-cells = <2>;
|
||||
};
|
||||
|
||||
pcie2: pcie@14000 {
|
||||
+ compatible = "brcm,iproc-pcie";
|
||||
reg = <0x00014000 0x1000>;
|
||||
+ ranges = <0x82000000 0 0x28000000 0x28000000 0 0x08000000>;
|
||||
+ interrupt-map-mask = <0 0 0 0>;
|
||||
+ interrupt-map = <0 0 0 0 &gic GIC_SPI 138 IRQ_TYPE_LEVEL_HIGH>;
|
||||
+ bus-range = <0x00 0xff>;
|
||||
+ device_type = "pci";
|
||||
|
||||
+ #interrupt-cells = <1>;
|
||||
#address-cells = <3>;
|
||||
#size-cells = <2>;
|
||||
};
|
||||
|
|
@ -0,0 +1,272 @@
|
|||
From 14022b103616ec01417e6c707095d57d61162450 Mon Sep 17 00:00:00 2001
|
||||
From: Rosen Penev <rosenp@gmail.com>
|
||||
Date: Sun, 1 Mar 2026 16:01:04 -0800
|
||||
Subject: [PATCH] ARM: dts: BCM5301X: add root pcie bridges
|
||||
|
||||
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(-)
|
||||
|
||||
--- a/arch/arm/boot/dts/broadcom/bcm-ns.dtsi
|
||||
+++ b/arch/arm/boot/dts/broadcom/bcm-ns.dtsi
|
||||
@@ -196,6 +196,16 @@
|
||||
#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 @@
|
||||
#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 @@
|
||||
#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 {
|
||||
--- a/arch/arm/boot/dts/broadcom/bcm4709-netgear-r8000.dts
|
||||
+++ b/arch/arm/boot/dts/broadcom/bcm4709-netgear-r8000.dts
|
||||
@@ -126,66 +126,53 @@
|
||||
};
|
||||
};
|
||||
|
||||
-&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";
|
||||
};
|
||||
};
|
||||
};
|
||||
--- 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 @@
|
||||
};
|
||||
|
||||
|
||||
-&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";
|
||||
};
|
||||
};
|
||||
|
||||
--- 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 @@
|
||||
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";
|
||||
};
|
||||
};
|
||||
|
||||
Loading…
Add table
Reference in a new issue