Hi Peter,

On 16/01/26 07:56, Peter Robinson wrote:
On Fri, 16 Jan 2026 at 10:15, Maíra Canal <[email protected]> wrote:

Hi Peter,

On 16/01/26 00:53, Peter Robinson wrote:
Hi Maira,

On 14/01/2026 12:04, Maíra Canal wrote:
Commits 0ad5bc1ce463 ("drm/v3d: fix up register addresses for V3D 7.x")
and 6fd9487147c4 ("drm/v3d: add brcm,2712-v3d as a compatible V3D
device")
added driver support for V3D on BCM2712, but the corresponding device
tree node is still missing.

Add the V3D device tree node to the BCM2712 DTS.

Signed-off-by: Maíra Canal <[email protected]>

---
v1 -> v2:

- Rebased on top of linux-next (Stefan Wahren)
- Fixed node's address (2000000 -> 1002000000) (Stefan Wahren)
- Link to v1: https://lore.kernel.org/linux-
devicetree/[email protected]/
---
   .../boot/dts/broadcom/bcm2712-rpi-5-b-base.dtsi    |  4 ++++
   arch/arm64/boot/dts/broadcom/bcm2712.dtsi          | 14 ++++++++++++++
   2 files changed, 18 insertions(+)

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..97522c6803c5 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
@@ -247,3 +247,7 @@ &pcie1 {
   &pcie2 {
       status = "okay";
   };
+
+&v3d {
+    clocks = <&firmware_clocks 5>;

Looking at the upstream DT [1] I think this also needs a clock-names entry.

Differently from the `hvs` node [1] you sent (which specifies clock-
names), the `v3d` binding [2] doesn't have a clock-names property.
Therefore, it is not needed.

There's a name in the clk driver [1] so maybe the bindings should be updated?

Those are two separate concepts. In the DT, clock-names is used by vc4
to distinguish between multiple clock inputs [1]. In contrast, the v3d
driver has a single clock input [2], and does not rely on named clock
lookups.

Given that, I believe there is no need for a clock-names property in the
v3d binding, and updating the binding to mandate it would not provide
any functional benefit at this point.

[1] https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/tree/drivers/gpu/drm/vc4/vc4_hvs.c#n1679 [2] https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/tree/drivers/gpu/drm/v3d/v3d_drv.c#n363

Best regards,
- Maíra


https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/tree/drivers/clk/bcm/clk-raspberrypi.c#n26

[1]
https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/tree/Documentation/devicetree/bindings/display/brcm,bcm2835-hvs.yaml
[2]
https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/tree/Documentation/devicetree/bindings/gpu/brcm,bcm-v3d.yaml

Best regards,
- Maíra


[1] https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/
tree/arch/arm64/boot/dts/broadcom/bcm2712-rpi-5-b-base.dtsi#n233

+};
diff --git a/arch/arm64/boot/dts/broadcom/bcm2712.dtsi b/arch/arm64/
boot/dts/broadcom/bcm2712.dtsi
index 330a121ebfcb..661668ef7419 100644
--- a/arch/arm64/boot/dts/broadcom/bcm2712.dtsi
+++ b/arch/arm64/boot/dts/broadcom/bcm2712.dtsi
@@ -1,5 +1,6 @@
   // SPDX-License-Identifier: (GPL-2.0 OR MIT)
   #include <dt-bindings/interrupt-controller/arm-gic.h>
+#include <dt-bindings/soc/bcm2835-pm.h>
   / {
       compatible = "brcm,bcm2712";
@@ -642,6 +643,19 @@ mip1: msi-controller@1000131000 {
               msi-ranges = <&gicv2 GIC_SPI 247 IRQ_TYPE_EDGE_RISING 8>;
               brcm,msi-offset = <8>;
           };
+
+        v3d: gpu@1002000000 {
+            compatible = "brcm,2712-v3d";
+            reg = <0x10 0x02000000 0x00 0x4000>,
+                  <0x10 0x02008000 0x00 0x6000>,
+                  <0x10 0x02030800 0x00 0x0700>;
+            reg-names = "hub", "core0", "sms";
+
+            power-domains = <&pm BCM2835_POWER_DOMAIN_GRAFX_V3D>;
+            resets = <&pm BCM2835_RESET_V3D>;
+            interrupts = <GIC_SPI 250 IRQ_TYPE_LEVEL_HIGH>,
+                     <GIC_SPI 249 IRQ_TYPE_LEVEL_HIGH>;
+        };
       };
       vc4: gpu {


Reply via email to