Re: [PATCH v2 2/5] dt-bindings: iommu: Add Broadcom BCM2712 IOMMU
From: Krzysztof Kozlowski
Date: Thu Jul 30 2026 - 03:12:29 EST
On Mon, Jul 27, 2026 at 09:43:57PM +0100, Daniel Drake wrote:
> Add bindings for the Broadcom BCM2712 IOMMUs and their shared TLB cache.
>
> Signed-off-by: Daniel Drake <dan@xxxxxxxxxxxxxxx>
> ---
> .../bindings/iommu/brcm,bcm2712-iommu.yaml | 48 ++++++++++++++++++++++
> .../bindings/iommu/brcm,bcm2712-iommuc.yaml | 35 ++++++++++++++++
> 2 files changed, 83 insertions(+)
>
> diff --git a/Documentation/devicetree/bindings/iommu/brcm,bcm2712-iommu.yaml b/Documentation/devicetree/bindings/iommu/brcm,bcm2712-iommu.yaml
> new file mode 100644
> index 000000000000..af4d8bac10e5
> --- /dev/null
> +++ b/Documentation/devicetree/bindings/iommu/brcm,bcm2712-iommu.yaml
> @@ -0,0 +1,48 @@
> +# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
> +%YAML 1.2
> +---
> +$id: http://devicetree.org/schemas/iommu/brcm,bcm2712-iommu.yaml#
> +$schema: http://devicetree.org/meta-schemas/core.yaml#
> +
> +title: Broadcom BCM2712 IOMMU
> +
> +maintainers:
> + - Daniel Drake <dan@xxxxxxxxxxxxxxx>
> +
> +description:
> + The BCM2712 IOMMU provides address translation for various hardware blocks
> + on the BCM2712 SoC, such as the VC6 display pipeline.
> +
> +properties:
> + compatible:
> + const: brcm,bcm2712-iommu
> +
> + reg:
> + maxItems: 1
> +
> + '#iommu-cells':
> + const: 0
> +
> + brcm,iommu-cache:
> + $ref: /schemas/types.yaml#/definitions/phandle
> + description:
> + Phandle to the shared IOMMU cache. The IOMMUC is a shared hardware block
> + that provides centralized Translation Lookaside Buffer (TLB) caching and
> + invalidation.
Again, same comment: what for? What is the purpose of IOMMUC in IOMMU
(not in the system, you are not describing the system). You just pasted
here description of other binding, but I did not ask for that.
Do you need to manually invalidate cache lines from IOMMU?
Why do you think that both are separate devices in the first place? It
would be like describing in DTS separate MMU and TLB.
> +
> +required:
> + - compatible
> + - reg
> + - '#iommu-cells'
> + - brcm,iommu-cache
> +
> +additionalProperties: false
> +
> +examples:
> + - |
> + iommu@5200 {
> + compatible = "brcm,bcm2712-iommu";
> + reg = <0x5200 0x80>;
> + brcm,iommu-cache = <&iommuc>;
> + #iommu-cells = <0>;
> + };
> diff --git a/Documentation/devicetree/bindings/iommu/brcm,bcm2712-iommuc.yaml b/Documentation/devicetree/bindings/iommu/brcm,bcm2712-iommuc.yaml
> new file mode 100644
> index 000000000000..f22e9be2c473
> --- /dev/null
> +++ b/Documentation/devicetree/bindings/iommu/brcm,bcm2712-iommuc.yaml
> @@ -0,0 +1,35 @@
> +# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
> +%YAML 1.2
> +---
> +$id: http://devicetree.org/schemas/iommu/brcm,bcm2712-iommuc.yaml#
> +$schema: http://devicetree.org/meta-schemas/core.yaml#
> +
> +title: Broadcom BCM2712 Shared IOMMU Cache (IOMMUC)
> +
> +maintainers:
> + - Daniel Drake <dan@xxxxxxxxxxxxxxx>
> +
> +description: |
Same comments as before.
> + The BCM2712 IOMMU Cache (IOMMUC) provides a shared Translation Lookaside
> + Buffer (TLB) cache used by the primary BCM2712 IOMMUs to speed up address
> + translations.
> +
> +properties:
> + compatible:
> + const: brcm,bcm2712-iommuc
> +
> + reg:
> + maxItems: 1
> +
> +required:
> + - compatible
> + - reg
> +
> +additionalProperties: false
> +
> +examples:
> + - |
> + iommuc: iommu-cache@1001000 {
Drop unused label.
> + compatible = "brcm,bcm2712-iommuc";
> + reg = <0x1001000 0x100>;
> + };
>
> --
> 2.55.0
>