public inbox for devicetree@vger.kernel.org
 help / color / mirror / Atom feed
* [PATCH 1/2] ARM: dts: broadcom: bcm2835-rpi: Move the firmware node down 1 level
@ 2026-01-14  1:58 Rob Herring (Arm)
  2026-01-14  1:58 ` [PATCH 2/2] arm64: dts: broadcom: bcm2712-rpi: " Rob Herring (Arm)
  2026-01-14 18:22 ` [PATCH 1/2] ARM: dts: broadcom: bcm2835-rpi: " Florian Fainelli
  0 siblings, 2 replies; 7+ messages in thread
From: Rob Herring (Arm) @ 2026-01-14  1:58 UTC (permalink / raw)
  To: Krzysztof Kozlowski, Conor Dooley, Florian Fainelli,
	Broadcom internal kernel review list, Ray Jui, Scott Branden
  Cc: Marek Szyprowski, devicetree, linux-rpi-kernel, linux-arm-kernel,
	linux-kernel

Commit 32eea985999b ("ARM: dts: broadcom: bcm2835-rpi: Move non
simple-bus nodes to root level") moved the firmware nodes into the
standard /firmware. However, /firmware is intended to be just a
container for firmware nodes as it is possible to have multiple types of
firmware (e.g. SCMI, OP-TEE, etc.). Move the RPi firmware down a level.

Fixes: 32eea985999b ("ARM: dts: broadcom: bcm2835-rpi: Move non simple-bus nodes to root level")
Reported-by: Marek Szyprowski <m.szyprowski@samsung.com>
Signed-off-by: Rob Herring (Arm) <robh@kernel.org>
---
This is only half the fix. Unfortunately, a kernel change[1] is also 
needed to make this all work. I do plan for that to go to stable. I'll 
leave it up to the Broadcom maintainers whether it's preferred to revert 
the fixed patches or apply these fixes. A 3rd option is revert for now 
and apply these DT changes some time later to give some time for stable 
updates.

Rob

[1] https://lore.kernel.org/all/20260114015158.692170-2-robh@kernel.org/

 arch/arm/boot/dts/broadcom/bcm2835-rpi.dtsi | 24 +++++++++++----------
 1 file changed, 13 insertions(+), 11 deletions(-)

diff --git a/arch/arm/boot/dts/broadcom/bcm2835-rpi.dtsi b/arch/arm/boot/dts/broadcom/bcm2835-rpi.dtsi
index 9ab70b519a63..46c91468f4c5 100644
--- a/arch/arm/boot/dts/broadcom/bcm2835-rpi.dtsi
+++ b/arch/arm/boot/dts/broadcom/bcm2835-rpi.dtsi
@@ -1,19 +1,21 @@
 #include <dt-bindings/power/raspberrypi-power.h>
 
 / {
-	firmware: firmware {
-		compatible = "raspberrypi,bcm2835-firmware", "simple-mfd";
-		mboxes = <&mailbox>;
+	firmware {
+		firmware: rpi-firmware {
+			compatible = "raspberrypi,bcm2835-firmware", "simple-mfd";
+			mboxes = <&mailbox>;
 
-		firmware_clocks: clocks {
-			compatible = "raspberrypi,firmware-clocks";
-			#clock-cells = <1>;
-		};
+			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>;
+			};
 		};
 	};
 
-- 
2.51.0


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

* [PATCH 2/2] arm64: dts: broadcom: bcm2712-rpi: Move the firmware node down 1 level
  2026-01-14  1:58 [PATCH 1/2] ARM: dts: broadcom: bcm2835-rpi: Move the firmware node down 1 level Rob Herring (Arm)
@ 2026-01-14  1:58 ` Rob Herring (Arm)
  2026-01-14 18:22 ` [PATCH 1/2] ARM: dts: broadcom: bcm2835-rpi: " Florian Fainelli
  1 sibling, 0 replies; 7+ messages in thread
From: Rob Herring (Arm) @ 2026-01-14  1:58 UTC (permalink / raw)
  To: Krzysztof Kozlowski, Conor Dooley, Florian Fainelli,
	Broadcom internal kernel review list, Ray Jui, Scott Branden
  Cc: Marek Szyprowski, devicetree, linux-rpi-kernel, linux-arm-kernel,
	linux-kernel

Commit b32673d226c9 ("arm64: dts: broadcom: bcm2712: Move non simple-bus
nodes to root level") moved the firmware nodes into the standard
/firmware. However, /firmware is intended to be just a container for
firmware nodes as it is possible to have multiple types of firmware
(e.g. SCMI, OP-TEE, etc.). Move the RPi firmware down a level.

Fixes: b32673d226c9 ("arm64: dts: broadcom: bcm2712: Move non simple-bus nodes to root level")
Reported-by: Marek Szyprowski <m.szyprowski@samsung.com>
Signed-off-by: Rob Herring (Arm) <robh@kernel.org>
---
 .../dts/broadcom/bcm2712-rpi-5-b-base.dtsi    | 40 ++++++++++---------
 1 file changed, 21 insertions(+), 19 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 7d4742ebe247..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,25 +44,27 @@ power_button: power-button {
 		};
 	};
 
-	firmware: 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>;
+	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>;
+			};
 		};
 	};
 
-- 
2.51.0


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

* Re: [PATCH 1/2] ARM: dts: broadcom: bcm2835-rpi: Move the firmware node down 1 level
  2026-01-14  1:58 [PATCH 1/2] ARM: dts: broadcom: bcm2835-rpi: Move the firmware node down 1 level Rob Herring (Arm)
  2026-01-14  1:58 ` [PATCH 2/2] arm64: dts: broadcom: bcm2712-rpi: " Rob Herring (Arm)
@ 2026-01-14 18:22 ` Florian Fainelli
  2026-03-19 11:19   ` Marek Szyprowski
  1 sibling, 1 reply; 7+ messages in thread
From: Florian Fainelli @ 2026-01-14 18:22 UTC (permalink / raw)
  To: Rob Herring (Arm), Krzysztof Kozlowski, Conor Dooley,
	Broadcom internal kernel review list, Ray Jui, Scott Branden
  Cc: Marek Szyprowski, devicetree, linux-rpi-kernel, linux-arm-kernel,
	linux-kernel



On 1/13/2026 5:58 PM, Rob Herring (Arm) wrote:
> Commit 32eea985999b ("ARM: dts: broadcom: bcm2835-rpi: Move non
> simple-bus nodes to root level") moved the firmware nodes into the
> standard /firmware. However, /firmware is intended to be just a
> container for firmware nodes as it is possible to have multiple types of
> firmware (e.g. SCMI, OP-TEE, etc.). Move the RPi firmware down a level.
> 
> Fixes: 32eea985999b ("ARM: dts: broadcom: bcm2835-rpi: Move non simple-bus nodes to root level")
> Reported-by: Marek Szyprowski <m.szyprowski@samsung.com>
> Signed-off-by: Rob Herring (Arm) <robh@kernel.org>
> ---
> This is only half the fix. Unfortunately, a kernel change[1] is also
> needed to make this all work. I do plan for that to go to stable. I'll
> leave it up to the Broadcom maintainers whether it's preferred to revert
> the fixed patches or apply these fixes. A 3rd option is revert for now
> and apply these DT changes some time later to give some time for stable
> updates.

Let's wait until your fix for the /firmware match table gets applied and 
then I will pick up your two changes.
-- 
Florian


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

* Re: [PATCH 1/2] ARM: dts: broadcom: bcm2835-rpi: Move the firmware node down 1 level
  2026-01-14 18:22 ` [PATCH 1/2] ARM: dts: broadcom: bcm2835-rpi: " Florian Fainelli
@ 2026-03-19 11:19   ` Marek Szyprowski
  2026-03-19 12:39     ` Krzysztof Kozlowski
                       ` (2 more replies)
  0 siblings, 3 replies; 7+ messages in thread
From: Marek Szyprowski @ 2026-03-19 11:19 UTC (permalink / raw)
  To: Florian Fainelli, Rob Herring (Arm), Krzysztof Kozlowski,
	Conor Dooley, Broadcom internal kernel review list, Ray Jui,
	Scott Branden
  Cc: devicetree, linux-rpi-kernel, linux-arm-kernel, linux-kernel

On 14.01.2026 19:22, Florian Fainelli wrote:
> On 1/13/2026 5:58 PM, Rob Herring (Arm) wrote:
>> Commit 32eea985999b ("ARM: dts: broadcom: bcm2835-rpi: Move non
>> simple-bus nodes to root level") moved the firmware nodes into the
>> standard /firmware. However, /firmware is intended to be just a
>> container for firmware nodes as it is possible to have multiple types of
>> firmware (e.g. SCMI, OP-TEE, etc.). Move the RPi firmware down a level.
>>
>> Fixes: 32eea985999b ("ARM: dts: broadcom: bcm2835-rpi: Move non 
>> simple-bus nodes to root level")
>> Reported-by: Marek Szyprowski <m.szyprowski@samsung.com>
>> Signed-off-by: Rob Herring (Arm) <robh@kernel.org>
>> ---
>> This is only half the fix. Unfortunately, a kernel change[1] is also
>> needed to make this all work. I do plan for that to go to stable. I'll
>> leave it up to the Broadcom maintainers whether it's preferred to revert
>> the fixed patches or apply these fixes. A 3rd option is revert for now
>> and apply these DT changes some time later to give some time for stable
>> updates.
>
> Let's wait until your fix for the /firmware match table gets applied 
> and then I will pick up your two changes.


Florian: I've noticed that the $subject patch has been applied to 
yesterday's linux-next as commit 0603d8af97ff, but the code applied in 
Your tree differs from what has been posted in this thread. See:

https://git.kernel.org/pub/scm/linux/kernel/git/next/linux-next.git/commit/arch/arm/boot/dts/broadcom/bcm2835-rpi.dtsi?h=next-20260318&id=0603d8af97fff097daa118faf04d9f439b2227ec

https://lore.kernel.org/all/20260114015810.701076-2-robh@kernel.org/

https://git.kernel.org/pub/scm/linux/kernel/git/next/linux-next.git/tree/arch/arm/boot/dts/broadcom/bcm2835-rpi.dtsi?h=next-20260318


The "firmware" node in Your tree is under "soc" node, but without adding 
a "compatible = simple-mfd;" property there it won't be populated, what 
breaks operation of all drivers requiring the firmware driver(s).


Best regards
-- 
Marek Szyprowski, PhD
Samsung R&D Institute Poland


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

* Re: [PATCH 1/2] ARM: dts: broadcom: bcm2835-rpi: Move the firmware node down 1 level
  2026-03-19 11:19   ` Marek Szyprowski
@ 2026-03-19 12:39     ` Krzysztof Kozlowski
  2026-03-19 13:28     ` Mark Brown
  2026-03-19 18:13     ` Florian Fainelli
  2 siblings, 0 replies; 7+ messages in thread
From: Krzysztof Kozlowski @ 2026-03-19 12:39 UTC (permalink / raw)
  To: Marek Szyprowski, Florian Fainelli, Rob Herring (Arm),
	Krzysztof Kozlowski, Conor Dooley,
	Broadcom internal kernel review list, Ray Jui, Scott Branden
  Cc: devicetree, linux-rpi-kernel, linux-arm-kernel, linux-kernel

On 19/03/2026 12:19, Marek Szyprowski wrote:
> On 14.01.2026 19:22, Florian Fainelli wrote:
>> On 1/13/2026 5:58 PM, Rob Herring (Arm) wrote:
>>> Commit 32eea985999b ("ARM: dts: broadcom: bcm2835-rpi: Move non
>>> simple-bus nodes to root level") moved the firmware nodes into the
>>> standard /firmware. However, /firmware is intended to be just a
>>> container for firmware nodes as it is possible to have multiple types of
>>> firmware (e.g. SCMI, OP-TEE, etc.). Move the RPi firmware down a level.
>>>
>>> Fixes: 32eea985999b ("ARM: dts: broadcom: bcm2835-rpi: Move non 
>>> simple-bus nodes to root level")
>>> Reported-by: Marek Szyprowski <m.szyprowski@samsung.com>
>>> Signed-off-by: Rob Herring (Arm) <robh@kernel.org>
>>> ---
>>> This is only half the fix. Unfortunately, a kernel change[1] is also
>>> needed to make this all work. I do plan for that to go to stable. I'll
>>> leave it up to the Broadcom maintainers whether it's preferred to revert
>>> the fixed patches or apply these fixes. A 3rd option is revert for now
>>> and apply these DT changes some time later to give some time for stable
>>> updates.
>>
>> Let's wait until your fix for the /firmware match table gets applied 
>> and then I will pick up your two changes.
> 
> 
> Florian: I've noticed that the $subject patch has been applied to 
> yesterday's linux-next as commit 0603d8af97ff, but the code applied in 
> Your tree differs from what has been posted in this thread. See:
> 
> https://git.kernel.org/pub/scm/linux/kernel/git/next/linux-next.git/commit/arch/arm/boot/dts/broadcom/bcm2835-rpi.dtsi?h=next-20260318&id=0603d8af97fff097daa118faf04d9f439b2227ec
> 
> https://lore.kernel.org/all/20260114015810.701076-2-robh@kernel.org/
> 


And regardless firmware as non-MMIO cannot be placed in soc node.
Nothing in patch SoB changelog explains why the patch was modified when
applying (and it is substantial change).

Best regards,
Krzysztof

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

* Re: [PATCH 1/2] ARM: dts: broadcom: bcm2835-rpi: Move the firmware node down 1 level
  2026-03-19 11:19   ` Marek Szyprowski
  2026-03-19 12:39     ` Krzysztof Kozlowski
@ 2026-03-19 13:28     ` Mark Brown
  2026-03-19 18:13     ` Florian Fainelli
  2 siblings, 0 replies; 7+ messages in thread
From: Mark Brown @ 2026-03-19 13:28 UTC (permalink / raw)
  To: Marek Szyprowski
  Cc: Florian Fainelli, Rob Herring (Arm), Krzysztof Kozlowski,
	Conor Dooley, Broadcom internal kernel review list, Ray Jui,
	Scott Branden, devicetree, linux-rpi-kernel, linux-arm-kernel,
	linux-kernel

[-- Attachment #1: Type: text/plain, Size: 612 bytes --]

On Thu, Mar 19, 2026 at 12:19:59PM +0100, Marek Szyprowski wrote:

> Florian: I've noticed that the $subject patch has been applied to 
> yesterday's linux-next as commit 0603d8af97ff, but the code applied in 
> Your tree differs from what has been posted in this thread. See:

...

> The "firmware" node in Your tree is under "soc" node, but without adding 
> a "compatible = simple-mfd;" property there it won't be populated, what 
> breaks operation of all drivers requiring the firmware driver(s).

This includes the ethernet controller so all testing based on NFS root
is having a bad time :(

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 488 bytes --]

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

* Re: [PATCH 1/2] ARM: dts: broadcom: bcm2835-rpi: Move the firmware node down 1 level
  2026-03-19 11:19   ` Marek Szyprowski
  2026-03-19 12:39     ` Krzysztof Kozlowski
  2026-03-19 13:28     ` Mark Brown
@ 2026-03-19 18:13     ` Florian Fainelli
  2 siblings, 0 replies; 7+ messages in thread
From: Florian Fainelli @ 2026-03-19 18:13 UTC (permalink / raw)
  To: Marek Szyprowski, Rob Herring (Arm), Krzysztof Kozlowski,
	Conor Dooley, Broadcom internal kernel review list, Ray Jui,
	Scott Branden
  Cc: devicetree, linux-rpi-kernel, linux-arm-kernel, linux-kernel

On 3/19/26 04:19, Marek Szyprowski wrote:
> On 14.01.2026 19:22, Florian Fainelli wrote:
>> On 1/13/2026 5:58 PM, Rob Herring (Arm) wrote:
>>> Commit 32eea985999b ("ARM: dts: broadcom: bcm2835-rpi: Move non
>>> simple-bus nodes to root level") moved the firmware nodes into the
>>> standard /firmware. However, /firmware is intended to be just a
>>> container for firmware nodes as it is possible to have multiple types of
>>> firmware (e.g. SCMI, OP-TEE, etc.). Move the RPi firmware down a level.
>>>
>>> Fixes: 32eea985999b ("ARM: dts: broadcom: bcm2835-rpi: Move non
>>> simple-bus nodes to root level")
>>> Reported-by: Marek Szyprowski <m.szyprowski@samsung.com>
>>> Signed-off-by: Rob Herring (Arm) <robh@kernel.org>
>>> ---
>>> This is only half the fix. Unfortunately, a kernel change[1] is also
>>> needed to make this all work. I do plan for that to go to stable. I'll
>>> leave it up to the Broadcom maintainers whether it's preferred to revert
>>> the fixed patches or apply these fixes. A 3rd option is revert for now
>>> and apply these DT changes some time later to give some time for stable
>>> updates.
>>
>> Let's wait until your fix for the /firmware match table gets applied
>> and then I will pick up your two changes.
> 
> 
> Florian: I've noticed that the $subject patch has been applied to
> yesterday's linux-next as commit 0603d8af97ff, but the code applied in
> Your tree differs from what has been posted in this thread. See:
> 
> https://git.kernel.org/pub/scm/linux/kernel/git/next/linux-next.git/commit/arch/arm/boot/dts/broadcom/bcm2835-rpi.dtsi?h=next-20260318&id=0603d8af97fff097daa118faf04d9f439b2227ec
> 
> https://lore.kernel.org/all/20260114015810.701076-2-robh@kernel.org/
> 
> https://git.kernel.org/pub/scm/linux/kernel/git/next/linux-next.git/tree/arch/arm/boot/dts/broadcom/bcm2835-rpi.dtsi?h=next-20260318
> 
> 
> The "firmware" node in Your tree is under "soc" node, but without adding
> a "compatible = simple-mfd;" property there it won't be populated, what
> breaks operation of all drivers requiring the firmware driver(s).

Yes I see what happened here, Rob's patch is dependent upon 32eea985999b 
which I had initially applied then dropped, and then I did not (re)apply 
it again as a prerequisite for that one we are replying to and I 
incorrectly resolved the conflict as a result. It should have been clear 
that no conflict resolution should have been necessary, *sigh*.

This is now fixed and pushed out, sorry about that, definitively a 
sloppy move here.

Will let that simmer in linux-next for a day and then sent out the pull 
requests.

Thanks again Marek for catching this, my test rack does not currently 
have a working RPi system, something to address.
-- 
Florian

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

end of thread, other threads:[~2026-03-19 18:13 UTC | newest]

Thread overview: 7+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2026-01-14  1:58 [PATCH 1/2] ARM: dts: broadcom: bcm2835-rpi: Move the firmware node down 1 level Rob Herring (Arm)
2026-01-14  1:58 ` [PATCH 2/2] arm64: dts: broadcom: bcm2712-rpi: " Rob Herring (Arm)
2026-01-14 18:22 ` [PATCH 1/2] ARM: dts: broadcom: bcm2835-rpi: " Florian Fainelli
2026-03-19 11:19   ` Marek Szyprowski
2026-03-19 12:39     ` Krzysztof Kozlowski
2026-03-19 13:28     ` Mark Brown
2026-03-19 18:13     ` Florian Fainelli

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