Re: [PATCH v5 5/5] arm64: dts: broadcom: bcm2712: Add GPU IOMMU and IOMMU cache nodes

From: Daniel Drake

Date: Fri Sep 18 2026 - 19:10:43 EST


On 09/09/2026 21:08, Daniel Drake wrote:
Define the IOMMU and IOMMUC nodes for the Broadcom BCM2712 SoC found in
the Raspberry Pi 5. Enable use of the IOMMU for the graphics/display
block.


@@ -667,6 +680,7 @@ v3d: gpu@1002000000 {
vc4: gpu {
compatible = "brcm,bcm2712-vc6";
+ iommus = <&iommu4>;
};
timer {
@@ -701,5 +715,6 @@ hvs: hvs@107c580000 {
interrupt-parent = <&disp_intr>;
interrupts = <2>, <9>, <16>;
interrupt-names = "ch0-eof", "ch1-eof", "ch2-eof";
+ iommus = <&iommu4>;

Found some issues here: the iommus property needs to be added to the dt-bindings for this to be considered valid, and actually, it should not be added to the vc4 node (that is just a virtual node), only the hvs node.

But that setup triggers a warning from the iommu layer because the dma/iommu setup is established too late during vc4 device setup.

Working on it...