Re: [PATCH v8 09/13] arm64: dts: Add board DTS for Rpi5 which includes RP1 node

Stefan Wahren
2025-04-16T18:33:18Z

Hi Andrea,

Am 16.04.25 um 19:43 schrieb Andrea della Porta:
> Hi Stefan,
>
> On 13:48 Mon 14 Apr , Stefan Wahren wrote:
>> Hi Andrea,
>>
>> Am 19.03.25 um 22:52 schrieb Andrea della Porta:
>>> Add the board 'monolithic' DTS for RaspberryPi 5 which includes
>>> the RP1 node definition. The inclusion treeis as follow (the
>>> arrow points to the includer):
>>>
>>> rp1-common.dtsi ----> rp1-nexus.dtsi ----> bcm2712-rpi-5-b-monolithic.dts
>>> ^
>>> |
>>> bcm2712-rpi-5-b.dts
>> sorry for the delay. I'm not happy with the monolithic appendix.
>>
>> How about bcm2712-rpi-5-b-rp1.dts or something more self-explaining?Regards
> Sure, good catch. I'd go even further saying that we can rename (or merge if
> the destination file already exists) as:
>
> bcm2712-rpi-5-b.dts -> bcm2712-rpi-5-b-norp1.dts (or some better suffix other than -norp1)
> bcm2712-rpi-5-b-monolithic.dts -> bcm2712-rpi-5-b.dts
>
> so the monolithic one, which seems to be the 'safest' option as of now,
> would be the default dtb. Do you think it could be ok?
i like the idea (include rp1 into default dtb), but not a fan of
negative logic in naming. Unfortunately I don't have better idea.

Regards
>
>>> This is designed to maximize the compatibility with downstream DT
>>> while ensuring that a fully defined DT (one which includes the RP1
>>> node as opposed to load it from overlay at runtime) is present
>>> since early boot stage.
>>>
>>> Signed-off-by: Andrea della Porta <andrea.porta@suse.com>
>>> ---
>>> Right now bcm2712-rpi-5-b.dts is the overlay-ready DT which will make
>>> the RP1 driver to load the RP1 dtb overlay at runtime, while
>>> bcm2712-rpi-5-b-monolithic.dts is the fully defined one (i.e. it
>>> already contains RP1 node, so no overlay is loaded nor needed).
>>> Depending on which one we want to be considered the default, we can
>>> swap the file names to align with downstream naming convention that
>>> has only the fully defined DT called bcm2712-rpi-5-b.dts.
>> Could you please move some of this good explanation into this dts file as
>> comment?
> Sure.
>
> Thanks,
> Andrea
>
>>> ---
>>> arch/arm64/boot/dts/broadcom/Makefile | 1 +
>>> .../boot/dts/broadcom/bcm2712-rpi-5-b-monolithic.dts | 8 ++++++++
>>> 2 files changed, 9 insertions(+)
>>> create mode 100644 arch/arm64/boot/dts/broadcom/bcm2712-rpi-5-b-monolithic.dts
>>>
>>> diff --git a/arch/arm64/boot/dts/broadcom/Makefile b/arch/arm64/boot/dts/broadcom/Makefile
>>> index 3d0efb93b06d..4836c6da5bee 100644
>>> --- a/arch/arm64/boot/dts/broadcom/Makefile
>>> +++ b/arch/arm64/boot/dts/broadcom/Makefile
>>> @@ -7,6 +7,7 @@ dtb-$(CONFIG_ARCH_BCM2835) += bcm2711-rpi-400.dtb \
>>> bcm2711-rpi-4-b.dtb \
>>> bcm2711-rpi-cm4-io.dtb \
>>> bcm2712-rpi-5-b.dtb \
>>> + bcm2712-rpi-5-b-monolithic.dtb \
>>> bcm2712-d-rpi-5-b.dtb \
>>> bcm2837-rpi-3-a-plus.dtb \
>>> bcm2837-rpi-3-b.dtb \
>>> diff --git a/arch/arm64/boot/dts/broadcom/bcm2712-rpi-5-b-monolithic.dts b/arch/arm64/boot/dts/broadcom/bcm2712-rpi-5-b-monolithic.dts
>>> new file mode 100644
>>> index 000000000000..3aeee678b0bc
>>> --- /dev/null
>>> +++ b/arch/arm64/boot/dts/broadcom/bcm2712-rpi-5-b-monolithic.dts
>>> @@ -0,0 +1,8 @@
>>> +// SPDX-License-Identifier: (GPL-2.0 OR MIT)
>>> +/dts-v1/;
>>> +
>>> +#include "bcm2712-rpi-5-b.dts"
>>> +
>>> +&pcie2 {
>>> + #include "rp1-nexus.dtsi"
>>> +};