[PATCH v2] arm64: dts: broadcom: bcm2712: Add V3D device node

Peter Robinson pbrobinson at gmail.com
Fri Jan 16 02:56:03 PST 2026


On Fri, 16 Jan 2026 at 10:15, Maíra Canal <mcanal at igalia.com> 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 <mcanal at igalia.com>
> >>
> >> ---
> >> 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/20260113192902.48046-2-mcanal at igalia.com/
> >> ---
> >>   .../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?

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 at 1000131000 {
> >>               msi-ranges = <&gicv2 GIC_SPI 247 IRQ_TYPE_EDGE_RISING 8>;
> >>               brcm,msi-offset = <8>;
> >>           };
> >> +
> >> +        v3d: gpu at 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 {
>



More information about the linux-arm-kernel mailing list