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

Krzysztof Kozlowski krzk at kernel.org
Sun Nov 30 23:55:11 PST 2025


On 28/11/2025 08:13, Chaoyi Chen wrote:
> From: Chaoyi Chen <chaoyi.chen at 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 at 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



More information about the linux-arm-kernel mailing list