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

Chaoyi Chen chaoyi.chen at rock-chips.com
Mon Dec 1 00:10:29 PST 2025


Hi Krzysztof,

On 12/1/2025 3:55 PM, Krzysztof Kozlowski wrote:
> 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.

Will fix in v3.

> 
>>  
>>    "#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.

I looked at some examples. Maybe it need to set both minItems and 
maxItems here? I'm not sure I understood your point.

> 
> 
> Best regards,
> Krzysztof
> 
> 

-- 
Best, 
Chaoyi



More information about the linux-arm-kernel mailing list