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

Chaoyi Chen
2025-11-28T07:13:36Z

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
+ minItems: 2
+ maxItems: 4

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

"#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
+ clock-names:
+ maxItems: 2
+ - if:
+ properties:
+ compatible:
+ contains:
+ enum:
+ - rockchip,rk3576-iommu
+ - rockchip,rk3588-iommu
+ then:
+ properties:
+ clocks:
+ maxItems: 2
+ clock-names:
+ maxItems: 2
+
required:
- compatible
- reg
--
2.51.1