Thread (31 messages) 31 messages, 3 authors, 2026-01-16

Re: [PATCH 02/13] ARM: dts: broadcom: bcm2835-rpi: Move non simple-bus nodes to root level

From: Rob Herring <robh@kernel.org>
Date: 2026-01-12 18:09:28
Also in: linux-devicetree, lkml

On Fri, Jan 9, 2026 at 6:01 AM Marek Szyprowski
[off-list ref] wrote:
quoted hunk ↗ jump to hunk
On 07.01.2026 03:09, Rob Herring (Arm) wrote:
quoted
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 /firmware node.

Signed-off-by: Rob Herring (Arm) <robh@kernel.org>
This breaks operation of all drivers under the firmware node. I'm not
exactly sure why, but they are not properly instantiated. It must be
something specific to "firmware" name, but I didn't dig enough to find
exactly where and why.

After changing the "/firmware" node name "xfirmware" everything works again:

diff --git a/arch/arm/boot/dts/broadcom/bcm2835-rpi.dtsi
b/arch/arm/boot/dts/broadcom/bcm2835-rpi.dtsi
index 9ab70b519a63..464f032ccb71 100644
--- a/arch/arm/boot/dts/broadcom/bcm2835-rpi.dtsi
+++ b/arch/arm/boot/dts/broadcom/bcm2835-rpi.dtsi
@@ -1,7 +1,7 @@
  #include <dt-bindings/power/raspberrypi-power.h>

  / {
-       firmware: firmware {
+       firmware: xfirmware {
                 compatible = "raspberrypi,bcm2835-firmware", "simple-mfd";
                 mboxes = <&mailbox>;

Same issue occurs with bcm2712 change (patch 3/13).
The issue is how /firmware is handled in drivers/of/platform.c and it
doesn't create a device for the /firmware node. I think the fix here
is /firmware needs to be just a container node and move
"raspberrypi,bcm2835-firmware" down a level. That also allows for
different types of firmware such as a TEE or SCMI should those or
something similar ever be needed.

I'll see if I can get kernelci to test that change. I don't think my
branch boots all boards though...

Rob
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help