Hi Stefan,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.
On 13:48 Mon 14 Apr , Stefan Wahren wrote:
Hi Andrea,Sure, good catch. I'd go even further saying that we can rename (or merge if
Am 19.03.25 um 22:52 schrieb Andrea della Porta:
Add the board 'monolithic' DTS for RaspberryPi 5 which includessorry for the delay. I'm not happy with the monolithic appendix.
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
How about bcm2712-rpi-5-b-rp1.dts or something more self-explaining?Regards
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?
Sure.This is designed to maximize the compatibility with downstream DTCould you please move some of this good explanation into this dts file as
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@xxxxxxxx>
---
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.
comment?
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"
+};