Re: [PATCH v2 1/2] dt-bindings: iommu: rockchip: Add support for multiple interface clocks
From: Krzysztof Kozlowski <krzk@kernel.org>
Date: 2025-12-01 07:55:16
Also in:
linux-devicetree, linux-iommu, linux-rockchip, lkml
On 28/11/2025 08:13, Chaoyi Chen wrote:
quoted hunk ↗ jump to hunk
From: Chaoyi Chen <redacted> 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 <redacted> --- 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.
quoted hunk ↗ jump to hunk
"#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