public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
* [PATCH v2 1/2] ARM: dts: broadcom: bcm2835-rpi: Move non simple-bus nodes to root level
@ 2026-03-20 15:48 Rob Herring (Arm)
  2026-03-20 15:48 ` [PATCH v2 2/2] arm64: dts: broadcom: bcm2712: " Rob Herring (Arm)
                   ` (2 more replies)
  0 siblings, 3 replies; 5+ messages in thread
From: Rob Herring (Arm) @ 2026-03-20 15:48 UTC (permalink / raw)
  To: Krzysztof Kozlowski, Conor Dooley, Florian Fainelli, Ray Jui,
	Scott Branden, Broadcom internal kernel review list
  Cc: devicetree, linux-rpi-kernel, linux-arm-kernel, linux-kernel

The 'gpu' and 'firmware' nodes are not MMIO devices, so they should not be
under a 'simple-bus'. Additionally, the "raspberrypi,bcm2835-power" node
is part of the firmware, so move it under the 'rpi-firmware' node.

Signed-off-by: Rob Herring (Arm) <robh@kernel.org>
---
Florian, you have the fixes for the prior versions in your tree, but not
the original commits they say they fix. These apply without the fixes.

v2:
 - Rebase on v7.0-rc1
 - Move "raspberrypi,bcm2835-firmware" to a child node under /firmware
---
 arch/arm/boot/dts/broadcom/bcm2835-common.dtsi |  7 ++++---
 arch/arm/boot/dts/broadcom/bcm2835-rpi.dtsi    | 16 +++++++++-------
 2 files changed, 13 insertions(+), 10 deletions(-)

diff --git a/arch/arm/boot/dts/broadcom/bcm2835-common.dtsi b/arch/arm/boot/dts/broadcom/bcm2835-common.dtsi
index 9261b67dbee1..1e76b290510d 100644
--- a/arch/arm/boot/dts/broadcom/bcm2835-common.dtsi
+++ b/arch/arm/boot/dts/broadcom/bcm2835-common.dtsi
@@ -141,9 +141,10 @@ v3d: v3d@7ec00000 {
 			interrupts = <1 10>;
 		};
 
-		vc4: gpu {
-			compatible = "brcm,bcm2835-vc4";
-		};
+	};
+
+	vc4: gpu {
+		compatible = "brcm,bcm2835-vc4";
 	};
 };
 
diff --git a/arch/arm/boot/dts/broadcom/bcm2835-rpi.dtsi b/arch/arm/boot/dts/broadcom/bcm2835-rpi.dtsi
index e9bf41b9f5c1..46c91468f4c5 100644
--- a/arch/arm/boot/dts/broadcom/bcm2835-rpi.dtsi
+++ b/arch/arm/boot/dts/broadcom/bcm2835-rpi.dtsi
@@ -1,8 +1,8 @@
 #include <dt-bindings/power/raspberrypi-power.h>
 
 / {
-	soc {
-		firmware: firmware {
+	firmware {
+		firmware: rpi-firmware {
 			compatible = "raspberrypi,bcm2835-firmware", "simple-mfd";
 			mboxes = <&mailbox>;
 
@@ -10,14 +10,16 @@ firmware_clocks: clocks {
 				compatible = "raspberrypi,firmware-clocks";
 				#clock-cells = <1>;
 			};
-		};
 
-		power: power {
-			compatible = "raspberrypi,bcm2835-power";
-			firmware = <&firmware>;
-			#power-domain-cells = <1>;
+			power: power {
+				compatible = "raspberrypi,bcm2835-power";
+				firmware = <&firmware>;
+				#power-domain-cells = <1>;
+			};
 		};
+	};
 
+	soc {
 		vchiq: mailbox@7e00b840 {
 			compatible = "brcm,bcm2835-vchiq";
 			reg = <0x7e00b840 0x3c>;
-- 
2.51.0


^ permalink raw reply related	[flat|nested] 5+ messages in thread

* [PATCH v2 2/2] arm64: dts: broadcom: bcm2712: Move non simple-bus nodes to root level
  2026-03-20 15:48 [PATCH v2 1/2] ARM: dts: broadcom: bcm2835-rpi: Move non simple-bus nodes to root level Rob Herring (Arm)
@ 2026-03-20 15:48 ` Rob Herring (Arm)
  2026-03-20 17:17   ` Florian Fainelli
  2026-03-20 17:16 ` [PATCH v2 1/2] ARM: dts: broadcom: bcm2835-rpi: " Florian Fainelli
  2026-03-20 17:22 ` Florian Fainelli
  2 siblings, 1 reply; 5+ messages in thread
From: Rob Herring (Arm) @ 2026-03-20 15:48 UTC (permalink / raw)
  To: Krzysztof Kozlowski, Conor Dooley, Florian Fainelli, Ray Jui,
	Scott Branden, Broadcom internal kernel review list
  Cc: devicetree, linux-rpi-kernel, linux-arm-kernel, linux-kernel

The 'gpu' and 'firmware' nodes are not MMIO devices, so they should not
be under a 'simple-bus', but at the root level.

Signed-off-by: Rob Herring (Arm) <robh@kernel.org>
---
v2:
 - Rebase on v7.0-rc1
 - Move "raspberrypi,bcm2835-firmware" to a child node under /firmware
---
 .../dts/broadcom/bcm2712-rpi-5-b-base.dtsi    | 51 +++++++++----------
 arch/arm64/boot/dts/broadcom/bcm2712.dtsi     |  8 +--
 2 files changed, 28 insertions(+), 31 deletions(-)

diff --git a/arch/arm64/boot/dts/broadcom/bcm2712-rpi-5-b-base.dtsi b/arch/arm64/boot/dts/broadcom/bcm2712-rpi-5-b-base.dtsi
index 04738bf281eb..d0b7137e07d2 100644
--- a/arch/arm64/boot/dts/broadcom/bcm2712-rpi-5-b-base.dtsi
+++ b/arch/arm64/boot/dts/broadcom/bcm2712-rpi-5-b-base.dtsi
@@ -44,6 +44,30 @@ power_button: power-button {
 		};
 	};
 
+	firmware {
+		firmware: rpi-firmware {
+			compatible = "raspberrypi,bcm2835-firmware", "simple-mfd";
+
+			mboxes = <&mailbox>;
+
+			firmware_clocks: clocks {
+				compatible = "raspberrypi,firmware-clocks";
+				#clock-cells = <1>;
+			};
+
+			reset: reset {
+				compatible = "raspberrypi,firmware-reset";
+				#reset-cells = <1>;
+			};
+
+			power: power {
+				compatible = "raspberrypi,bcm2835-power";
+				firmware = <&firmware>;
+				#power-domain-cells = <1>;
+			};
+		};
+	};
+
 	sd_io_1v8_reg: sd-io-1v8-reg {
 		compatible = "regulator-gpio";
 		regulator-name = "vdd-sd-io";
@@ -189,33 +213,6 @@ wifi: wifi@1 {
 	};
 };
 
-&soc {
-	firmware: firmware {
-		compatible = "raspberrypi,bcm2835-firmware", "simple-mfd";
-		#address-cells = <1>;
-		#size-cells = <1>;
-
-		mboxes = <&mailbox>;
-		dma-ranges;
-
-		firmware_clocks: clocks {
-			compatible = "raspberrypi,firmware-clocks";
-			#clock-cells = <1>;
-		};
-
-		reset: reset {
-			compatible = "raspberrypi,firmware-reset";
-			#reset-cells = <1>;
-		};
-	};
-
-	power: power {
-		compatible = "raspberrypi,bcm2835-power";
-		firmware = <&firmware>;
-		#power-domain-cells = <1>;
-	};
-};
-
 /* uarta communicates with the BT module */
 &uarta {
 	uart-has-rtscts;
diff --git a/arch/arm64/boot/dts/broadcom/bcm2712.dtsi b/arch/arm64/boot/dts/broadcom/bcm2712.dtsi
index d57a9b1bff70..330a121ebfcb 100644
--- a/arch/arm64/boot/dts/broadcom/bcm2712.dtsi
+++ b/arch/arm64/boot/dts/broadcom/bcm2712.dtsi
@@ -508,10 +508,6 @@ axi: axi {
 			     <0x18 0x00000000  0x18 0x00000000  0x04 0x00000000>,
 			     <0x1c 0x00000000  0x1c 0x00000000  0x04 0x00000000>;
 
-		vc4: gpu {
-			compatible = "brcm,bcm2712-vc6";
-		};
-
 		pcie0: pcie@1000100000 {
 			compatible = "brcm,bcm2712-pcie";
 			reg = <0x10 0x00100000 0x00 0x9310>;
@@ -648,6 +644,10 @@ mip1: msi-controller@1000131000 {
 		};
 	};
 
+	vc4: gpu {
+		compatible = "brcm,bcm2712-vc6";
+	};
+
 	timer {
 		compatible = "arm,armv8-timer";
 		interrupts = <GIC_PPI 13 (GIC_CPU_MASK_SIMPLE(4) |
-- 
2.51.0


^ permalink raw reply related	[flat|nested] 5+ messages in thread

* Re: [PATCH v2 1/2] ARM: dts: broadcom: bcm2835-rpi: Move non simple-bus nodes to root level
  2026-03-20 15:48 [PATCH v2 1/2] ARM: dts: broadcom: bcm2835-rpi: Move non simple-bus nodes to root level Rob Herring (Arm)
  2026-03-20 15:48 ` [PATCH v2 2/2] arm64: dts: broadcom: bcm2712: " Rob Herring (Arm)
@ 2026-03-20 17:16 ` Florian Fainelli
  2026-03-20 17:22 ` Florian Fainelli
  2 siblings, 0 replies; 5+ messages in thread
From: Florian Fainelli @ 2026-03-20 17:16 UTC (permalink / raw)
  To: bcm-kernel-feedback-list, Rob Herring (Arm), Krzysztof Kozlowski,
	Conor Dooley, Florian Fainelli, Ray Jui, Scott Branden
  Cc: Florian Fainelli, devicetree, linux-rpi-kernel, linux-arm-kernel,
	linux-kernel

From: Florian Fainelli <f.fainelli@gmail.com>

On Fri, 20 Mar 2026 10:48:06 -0500, "Rob Herring (Arm)" <robh@kernel.org> wrote:
> The 'gpu' and 'firmware' nodes are not MMIO devices, so they should not be
> under a 'simple-bus'. Additionally, the "raspberrypi,bcm2835-power" node
> is part of the firmware, so move it under the 'rpi-firmware' node.
> 
> Signed-off-by: Rob Herring (Arm) <robh@kernel.org>
> ---

Applied to https://github.com/Broadcom/stblinux/commits/devicetree/next, thanks!
--
Florian

^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: [PATCH v2 2/2] arm64: dts: broadcom: bcm2712: Move non simple-bus nodes to root level
  2026-03-20 15:48 ` [PATCH v2 2/2] arm64: dts: broadcom: bcm2712: " Rob Herring (Arm)
@ 2026-03-20 17:17   ` Florian Fainelli
  0 siblings, 0 replies; 5+ messages in thread
From: Florian Fainelli @ 2026-03-20 17:17 UTC (permalink / raw)
  To: bcm-kernel-feedback-list, Rob Herring (Arm), Krzysztof Kozlowski,
	Conor Dooley, Florian Fainelli, Ray Jui, Scott Branden
  Cc: Florian Fainelli, devicetree, linux-rpi-kernel, linux-arm-kernel,
	linux-kernel

From: Florian Fainelli <f.fainelli@gmail.com>

On Fri, 20 Mar 2026 10:48:07 -0500, "Rob Herring (Arm)" <robh@kernel.org> wrote:
> The 'gpu' and 'firmware' nodes are not MMIO devices, so they should not
> be under a 'simple-bus', but at the root level.
> 
> Signed-off-by: Rob Herring (Arm) <robh@kernel.org>
> ---

Applied to https://github.com/Broadcom/stblinux/commits/devicetree-arm64/next, thanks!
--
Florian

^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: [PATCH v2 1/2] ARM: dts: broadcom: bcm2835-rpi: Move non simple-bus nodes to root level
  2026-03-20 15:48 [PATCH v2 1/2] ARM: dts: broadcom: bcm2835-rpi: Move non simple-bus nodes to root level Rob Herring (Arm)
  2026-03-20 15:48 ` [PATCH v2 2/2] arm64: dts: broadcom: bcm2712: " Rob Herring (Arm)
  2026-03-20 17:16 ` [PATCH v2 1/2] ARM: dts: broadcom: bcm2835-rpi: " Florian Fainelli
@ 2026-03-20 17:22 ` Florian Fainelli
  2 siblings, 0 replies; 5+ messages in thread
From: Florian Fainelli @ 2026-03-20 17:22 UTC (permalink / raw)
  To: Rob Herring (Arm), Krzysztof Kozlowski, Conor Dooley, Ray Jui,
	Scott Branden, Broadcom internal kernel review list
  Cc: devicetree, linux-rpi-kernel, linux-arm-kernel, linux-kernel

On 3/20/26 08:48, Rob Herring (Arm) wrote:
> The 'gpu' and 'firmware' nodes are not MMIO devices, so they should not be
> under a 'simple-bus'. Additionally, the "raspberrypi,bcm2835-power" node
> is part of the firmware, so move it under the 'rpi-firmware' node.
> 
> Signed-off-by: Rob Herring (Arm) <robh@kernel.org>
> ---
> Florian, you have the fixes for the prior versions in your tree, but not
> the original commits they say they fix. These apply without the fixes.

If you were referring to these:

https://lore.kernel.org/r/20260106-dt-dtbs-broadcom-fixes-v1-2-ba45874e4553@kernel.org
https://lore.kernel.org/all/20260106-dt-dtbs-broadcom-fixes-v1-3-ba45874e4553@kernel.org/

I did take them as a prerequisite to apply your patches but a combined 
set of patches works just as well.

Thank you!
-- 
Florian

^ permalink raw reply	[flat|nested] 5+ messages in thread

end of thread, other threads:[~2026-03-20 17:22 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2026-03-20 15:48 [PATCH v2 1/2] ARM: dts: broadcom: bcm2835-rpi: Move non simple-bus nodes to root level Rob Herring (Arm)
2026-03-20 15:48 ` [PATCH v2 2/2] arm64: dts: broadcom: bcm2712: " Rob Herring (Arm)
2026-03-20 17:17   ` Florian Fainelli
2026-03-20 17:16 ` [PATCH v2 1/2] ARM: dts: broadcom: bcm2835-rpi: " Florian Fainelli
2026-03-20 17:22 ` Florian Fainelli

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox