[<prev] [next>] [day] [month] [year] [list]
Message-ID: <20251117211503.728354-2-robh@kernel.org>
Date: Mon, 17 Nov 2025 15:15:02 -0600
From: "Rob Herring (Arm)" <robh@...nel.org>
To: Andrea della Porta <andrea.porta@...e.com>,
Phil Elwell <phil@...pberrypi.com>,
Krzysztof Kozlowski <krzk+dt@...nel.org>,
Conor Dooley <conor+dt@...nel.org>,
Florian Fainelli <florian.fainelli@...adcom.com>,
Broadcom internal kernel review list <bcm-kernel-feedback-list@...adcom.com>
Cc: devicetree@...r.kernel.org,
linux-kernel@...r.kernel.org,
linux-rpi-kernel@...ts.infradead.org,
linux-arm-kernel@...ts.infradead.org
Subject: [RFC PATCH] arm64: broadcom: bcm2712: Rework rp1 overlay handling
It's a requirement that DT overlays be applied at build time in order to
validate them as overlays are not validated on their own.
Simply adding a build time target is possible, but it's also not desirable
to have targets which include the overlay contents and apply the same
overlay.
Rework the targets such that there are 2 overlays: the existing RP1 overlay
and the board specific configuration of the RP1 (bcm2712-rpi-5-b.dtso).
Signed-off-by: Rob Herring (Arm) <robh@...nel.org>
---
The missing applying of rp1.dtbo will soon be a warning[1].
The comment in bcm2712-rpi-5-b.dts(o) needs updating or removing. The RP1
driver or userspace handling of the overlay probably needs updating to
handle the 2 overlays. IIRC, I think we can apply overlays to overlays
which may be useful here. If not, adding that to the tools should be
possible.
[1] https://lore.kernel.org/all/20251114222759.4181152-1-robh@kernel.org/
---
arch/arm64/boot/dts/broadcom/Makefile | 10 ++++++++--
...m2712-d-rpi-5-b.dts => bcm2712-d-rpi-5-b-base.dts} | 2 +-
.../{bcm2712-rpi-5-b.dts => bcm2712-rpi-5-b.dtso} | 11 +++++------
3 files changed, 14 insertions(+), 9 deletions(-)
rename arch/arm64/boot/dts/broadcom/{bcm2712-d-rpi-5-b.dts => bcm2712-d-rpi-5-b-base.dts} (95%)
rename arch/arm64/boot/dts/broadcom/{bcm2712-rpi-5-b.dts => bcm2712-rpi-5-b.dtso} (92%)
diff --git a/arch/arm64/boot/dts/broadcom/Makefile b/arch/arm64/boot/dts/broadcom/Makefile
index 83d45afc6588..4957edec9d9f 100644
--- a/arch/arm64/boot/dts/broadcom/Makefile
+++ b/arch/arm64/boot/dts/broadcom/Makefile
@@ -6,9 +6,9 @@ DTC_FLAGS := -@
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.dtbo \
bcm2712-rpi-5-b-ovl-rp1.dtb \
- bcm2712-d-rpi-5-b.dtb \
+ bcm2712-d-rpi-5-b-base.dtb \
bcm2837-rpi-2-b.dtb \
bcm2837-rpi-3-a-plus.dtb \
bcm2837-rpi-3-b.dtb \
@@ -17,6 +17,12 @@ dtb-$(CONFIG_ARCH_BCM2835) += bcm2711-rpi-400.dtb \
bcm2837-rpi-zero-2-w.dtb \
rp1.dtbo
+bcm2712-rpi-5-b-dtbs := bcm2712-rpi-5-b-ovl-rp1.dtb rp1.dtbo bcm2712-rpi-5-b.dtbo
+dtb-$(CONFIG_ARCH_BCM2835) += bcm2712-rpi-5-b.dtb
+
+bcm2712-d-rpi-5-b-dtbs := bcm2712-d-rpi-5-b-base.dtb rp1.dtbo bcm2712-rpi-5-b.dtbo
+dtb-$(CONFIG_ARCH_BCM2835) += bcm2712-d-rpi-5-b.dtb
+
subdir-y += bcmbca
subdir-y += northstar2
subdir-y += stingray
diff --git a/arch/arm64/boot/dts/broadcom/bcm2712-d-rpi-5-b.dts b/arch/arm64/boot/dts/broadcom/bcm2712-d-rpi-5-b-base.dts
similarity index 95%
rename from arch/arm64/boot/dts/broadcom/bcm2712-d-rpi-5-b.dts
rename to arch/arm64/boot/dts/broadcom/bcm2712-d-rpi-5-b-base.dts
index 7de24d60bcd1..48a0ae118839 100644
--- a/arch/arm64/boot/dts/broadcom/bcm2712-d-rpi-5-b.dts
+++ b/arch/arm64/boot/dts/broadcom/bcm2712-d-rpi-5-b-base.dts
@@ -1,7 +1,7 @@
// SPDX-License-Identifier: (GPL-2.0 OR MIT)
/dts-v1/;
-#include "bcm2712-rpi-5-b.dts"
+#include "bcm2712-rpi-5-b-ovl-rp1.dts"
&gio_aon {
brcm,gpio-bank-widths = <15 6>;
diff --git a/arch/arm64/boot/dts/broadcom/bcm2712-rpi-5-b.dts b/arch/arm64/boot/dts/broadcom/bcm2712-rpi-5-b.dtso
similarity index 92%
rename from arch/arm64/boot/dts/broadcom/bcm2712-rpi-5-b.dts
rename to arch/arm64/boot/dts/broadcom/bcm2712-rpi-5-b.dtso
index b8f256545022..89d099c00035 100644
--- a/arch/arm64/boot/dts/broadcom/bcm2712-rpi-5-b.dts
+++ b/arch/arm64/boot/dts/broadcom/bcm2712-rpi-5-b.dtso
@@ -15,19 +15,18 @@
*/
/dts-v1/;
+/plugin/;
-#include "bcm2712-rpi-5-b-ovl-rp1.dts"
-
-&pcie2 {
- #include "rp1-nexus.dtsi"
-};
+#include <dt-bindings/gpio/gpio.h>
&rp1_eth {
status = "okay";
phy-mode = "rgmii-id";
phy-handle = <&phy1>;
+ #address-cells = <1>;
+ #size-cells = <0>;
- mdio {
+ mdio@1 {
reg = <0x1>;
reset-gpios = <&rp1_gpio 32 GPIO_ACTIVE_LOW>;
reset-delay-us = <5000>;
--
2.51.0
Powered by blists - more mailing lists