Re: [PATCH v2 1/2] dt-bindings: iommu: rockchip: Add support for multiple interface clocks

Krzysztof Kozlowski
2025-12-01T07:55:16Z

On 28/11/2025 08:13, Chaoyi Chen wrote:
> From: Chaoyi Chen <chaoyi.chen@rock-chips.com>
>
> The iommu found on RK3576 NPU and RK3576 RKVDEC have 4 clock instead of
> 2 clock. Their clock names might differ, but I don't think that matters
> much.
>
> Add support for them.
>
> Signed-off-by: Chaoyi Chen <chaoyi.chen@rock-chips.com>
> ---
>
> Changes in v2:
> - Rewrite dt binding.
>
> .../bindings/iommu/rockchip,iommu.yaml | 52 ++++++++++++++++---
> 1 file changed, 46 insertions(+), 6 deletions(-)
>
> diff --git a/Documentation/devicetree/bindings/iommu/rockchip,iommu.yaml b/Documentation/devicetree/bindings/iommu/rockchip,iommu.yaml
> index 6ce41d11ff5e..dfa5e25476d9 100644
> --- a/Documentation/devicetree/bindings/iommu/rockchip,iommu.yaml
> +++ b/Documentation/devicetree/bindings/iommu/rockchip,iommu.yaml
> @@ -27,6 +27,8 @@ properties:
> - enum:
> - rockchip,rk3576-iommu
> - rockchip,rk3588-iommu
> + - rockchip,rk3576-npu-iommu
> + - rockchip,rk3576-rkvdec-iommu
> - const: rockchip,rk3568-iommu
>
> reg:
> @@ -42,14 +44,12 @@ properties:
> minItems: 1
>
> clocks:
> - items:
> - - description: Core clock
> - - description: Interface clock

These go to specific variant if:then.

> + minItems: 2
> + maxItems: 4
>
> clock-names:
> - items:
> - - const: aclk
> - - const: iface
> + minItems: 2
> + maxItems: 4

So you just allow any names, like pink-pony.

No, define common list here. Actually same for clocks.

>
> "#iommu-cells":
> const: 0
> @@ -64,6 +64,46 @@ properties:
> Some mmu instances may produce unexpected results
> when the reset operation is used.
>
> +allOf:
> + - if:
> + properties:
> + compatible:
> + contains:
> + enum:
> + - rockchip,rk3576-npu-iommu
> + - rockchip,rk3576-rkvdec-iommu
> + then:
> + properties:
> + clocks:
> + minItems: 4
> + clock-names:
> + minItems: 4
> + - if:
> + properties:
> + compatible:
> + items:
> + - const: rockchip,iommu
> + - const: rockchip,rk3568-iommu
> + then:
> + properties:
> + clocks:
> + maxItems: 2

Why this is unspecific now? Please look at other examples how it is
done, e.g. Samsung clocks.

Best regards,
Krzysztof