Merge branch 'for-5.15-printk-index' into for-linus
[linux-2.6-microblaze.git] / Documentation / devicetree / bindings / iommu / rockchip,iommu.yaml
1 # SPDX-License-Identifier: GPL-2.0-only
2 %YAML 1.2
3 ---
4 $id: http://devicetree.org/schemas/iommu/rockchip,iommu.yaml#
5 $schema: http://devicetree.org/meta-schemas/core.yaml#
6
7 title: Rockchip IOMMU
8
9 maintainers:
10   - Heiko Stuebner <heiko@sntech.de>
11
12 description: |+
13   A Rockchip DRM iommu translates io virtual addresses to physical addresses for
14   its master device. Each slave device is bound to a single master device and
15   shares its clocks, power domain and irq.
16
17   For information on assigning IOMMU controller to its peripheral devices,
18   see generic IOMMU bindings.
19
20 properties:
21   compatible:
22     enum:
23       - rockchip,iommu
24       - rockchip,rk3568-iommu
25
26   reg:
27     items:
28       - description: configuration registers for MMU instance 0
29       - description: configuration registers for MMU instance 1
30     minItems: 1
31     maxItems: 2
32
33   interrupts:
34     items:
35       - description: interruption for MMU instance 0
36       - description: interruption for MMU instance 1
37     minItems: 1
38     maxItems: 2
39
40   clocks:
41     items:
42       - description: Core clock
43       - description: Interface clock
44
45   clock-names:
46     items:
47       - const: aclk
48       - const: iface
49
50   "#iommu-cells":
51     const: 0
52
53   power-domains:
54     maxItems: 1
55
56   rockchip,disable-mmu-reset:
57     $ref: /schemas/types.yaml#/definitions/flag
58     description: |
59       Do not use the mmu reset operation.
60       Some mmu instances may produce unexpected results
61       when the reset operation is used.
62
63 required:
64   - compatible
65   - reg
66   - interrupts
67   - clocks
68   - clock-names
69   - "#iommu-cells"
70
71 additionalProperties: false
72
73 examples:
74   - |
75     #include <dt-bindings/clock/rk3399-cru.h>
76     #include <dt-bindings/interrupt-controller/arm-gic.h>
77
78     vopl_mmu: iommu@ff940300 {
79       compatible = "rockchip,iommu";
80       reg = <0xff940300 0x100>;
81       interrupts = <GIC_SPI 16 IRQ_TYPE_LEVEL_HIGH>;
82       clocks = <&cru ACLK_VOP1>, <&cru HCLK_VOP1>;
83       clock-names = "aclk", "iface";
84       #iommu-cells = <0>;
85     };