1dba496f3SYoshihiro Shimoda# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) 2dba496f3SYoshihiro Shimoda%YAML 1.2 3dba496f3SYoshihiro Shimoda--- 4dba496f3SYoshihiro Shimoda$id: http://devicetree.org/schemas/iommu/renesas,ipmmu-vmsa.yaml# 5dba496f3SYoshihiro Shimoda$schema: http://devicetree.org/meta-schemas/core.yaml# 6dba496f3SYoshihiro Shimoda 7dba496f3SYoshihiro Shimodatitle: Renesas VMSA-Compatible IOMMU 8dba496f3SYoshihiro Shimoda 9dba496f3SYoshihiro Shimodamaintainers: 10dba496f3SYoshihiro Shimoda - Yoshihiro Shimoda <yoshihiro.shimoda.uh@renesas.com> 11dba496f3SYoshihiro Shimoda 12dba496f3SYoshihiro Shimodadescription: 13dba496f3SYoshihiro Shimoda The IPMMU is an IOMMU implementation compatible with the ARM VMSA page tables. 14dba496f3SYoshihiro Shimoda It provides address translation for bus masters outside of the CPU, each 15dba496f3SYoshihiro Shimoda connected to the IPMMU through a port called micro-TLB. 16dba496f3SYoshihiro Shimoda 17dba496f3SYoshihiro Shimodaproperties: 18dba496f3SYoshihiro Shimoda compatible: 19dba496f3SYoshihiro Shimoda oneOf: 20dba496f3SYoshihiro Shimoda - items: 21dba496f3SYoshihiro Shimoda - enum: 22dba496f3SYoshihiro Shimoda - renesas,ipmmu-r8a73a4 # R-Mobile APE6 23d88f7e02SLad Prabhakar - renesas,ipmmu-r8a7742 # RZ/G1H 24dba496f3SYoshihiro Shimoda - renesas,ipmmu-r8a7743 # RZ/G1M 25dba496f3SYoshihiro Shimoda - renesas,ipmmu-r8a7744 # RZ/G1N 26dba496f3SYoshihiro Shimoda - renesas,ipmmu-r8a7745 # RZ/G1E 27dba496f3SYoshihiro Shimoda - renesas,ipmmu-r8a7790 # R-Car H2 28dba496f3SYoshihiro Shimoda - renesas,ipmmu-r8a7791 # R-Car M2-W 29dba496f3SYoshihiro Shimoda - renesas,ipmmu-r8a7793 # R-Car M2-N 30dba496f3SYoshihiro Shimoda - renesas,ipmmu-r8a7794 # R-Car E2 31dba496f3SYoshihiro Shimoda - const: renesas,ipmmu-vmsa # R-Mobile APE6 or R-Car Gen2 or RZ/G1 3233ce453cSGeert Uytterhoeven 33dba496f3SYoshihiro Shimoda - items: 34dba496f3SYoshihiro Shimoda - enum: 35dba496f3SYoshihiro Shimoda - renesas,ipmmu-r8a774a1 # RZ/G2M 36dba496f3SYoshihiro Shimoda - renesas,ipmmu-r8a774b1 # RZ/G2N 37dba496f3SYoshihiro Shimoda - renesas,ipmmu-r8a774c0 # RZ/G2E 38a6271ec8SLad Prabhakar - renesas,ipmmu-r8a774e1 # RZ/G2H 39dba496f3SYoshihiro Shimoda - renesas,ipmmu-r8a7795 # R-Car H3 40dba496f3SYoshihiro Shimoda - renesas,ipmmu-r8a7796 # R-Car M3-W 41215c224fSYoshihiro Shimoda - renesas,ipmmu-r8a77961 # R-Car M3-W+ 42dba496f3SYoshihiro Shimoda - renesas,ipmmu-r8a77965 # R-Car M3-N 43dba496f3SYoshihiro Shimoda - renesas,ipmmu-r8a77970 # R-Car V3M 44dba496f3SYoshihiro Shimoda - renesas,ipmmu-r8a77980 # R-Car V3H 45dba496f3SYoshihiro Shimoda - renesas,ipmmu-r8a77990 # R-Car E3 46dba496f3SYoshihiro Shimoda - renesas,ipmmu-r8a77995 # R-Car D3 4733ce453cSGeert Uytterhoeven 48da9f8386SYoshihiro Shimoda - items: 49da9f8386SYoshihiro Shimoda - enum: 5033ce453cSGeert Uytterhoeven - renesas,ipmmu-r8a779a0 # R-Car V3U 51da9f8386SYoshihiro Shimoda - renesas,ipmmu-r8a779f0 # R-Car S4-8 521505e721SYoshihiro Shimoda - renesas,ipmmu-r8a779g0 # R-Car V4H 53209516caSThanh Le - renesas,ipmmu-r8a779h0 # R-Car V4M 54da9f8386SYoshihiro Shimoda - const: renesas,rcar-gen4-ipmmu-vmsa # R-Car Gen4 55dba496f3SYoshihiro Shimoda 56dba496f3SYoshihiro Shimoda reg: 57dba496f3SYoshihiro Shimoda maxItems: 1 58dba496f3SYoshihiro Shimoda 59dba496f3SYoshihiro Shimoda interrupts: 60dba496f3SYoshihiro Shimoda minItems: 1 61dba496f3SYoshihiro Shimoda description: 62dba496f3SYoshihiro Shimoda Specifiers for the MMU fault interrupts. Not required for cache IPMMUs. 63dba496f3SYoshihiro Shimoda items: 64dba496f3SYoshihiro Shimoda - description: non-secure mode 65dba496f3SYoshihiro Shimoda - description: secure mode if supported 66dba496f3SYoshihiro Shimoda 67dba496f3SYoshihiro Shimoda '#iommu-cells': 68dba496f3SYoshihiro Shimoda const: 1 69dba496f3SYoshihiro Shimoda description: 70dba496f3SYoshihiro Shimoda The number of the micro-TLB that the device is connected to. 71dba496f3SYoshihiro Shimoda 72dba496f3SYoshihiro Shimoda power-domains: 73dba496f3SYoshihiro Shimoda maxItems: 1 74dba496f3SYoshihiro Shimoda 75dba496f3SYoshihiro Shimoda renesas,ipmmu-main: 76dba496f3SYoshihiro Shimoda $ref: /schemas/types.yaml#/definitions/phandle-array 7739bd2b6aSRob Herring items: 78b67ab6fbSYoshihiro Shimoda - minItems: 1 79b67ab6fbSYoshihiro Shimoda items: 8039bd2b6aSRob Herring - description: phandle to main IPMMU 81b67ab6fbSYoshihiro Shimoda - description: 82b67ab6fbSYoshihiro Shimoda The interrupt bit number associated with the particular cache 83b67ab6fbSYoshihiro Shimoda IPMMU device. If present, the interrupt bit number needs to match 84b67ab6fbSYoshihiro Shimoda the main IPMMU IMSSTR register. Only used by cache IPMMU 85b67ab6fbSYoshihiro Shimoda instances. 86dba496f3SYoshihiro Shimoda description: 87b67ab6fbSYoshihiro Shimoda Reference to the main IPMMU. 88dba496f3SYoshihiro Shimoda 89dba496f3SYoshihiro Shimodarequired: 90dba496f3SYoshihiro Shimoda - compatible 91dba496f3SYoshihiro Shimoda - reg 92dba496f3SYoshihiro Shimoda - '#iommu-cells' 93dba496f3SYoshihiro Shimoda 94dba496f3SYoshihiro ShimodaoneOf: 95dba496f3SYoshihiro Shimoda - required: 96dba496f3SYoshihiro Shimoda - interrupts 97dba496f3SYoshihiro Shimoda - required: 98dba496f3SYoshihiro Shimoda - renesas,ipmmu-main 99dba496f3SYoshihiro Shimoda 100dba496f3SYoshihiro ShimodaadditionalProperties: false 101dba496f3SYoshihiro Shimoda 10249ec0686SRob HerringallOf: 10349ec0686SRob Herring - if: 10449ec0686SRob Herring properties: 10549ec0686SRob Herring compatible: 10649ec0686SRob Herring not: 10749ec0686SRob Herring contains: 10849ec0686SRob Herring const: renesas,ipmmu-vmsa 10949ec0686SRob Herring then: 11049ec0686SRob Herring required: 11149ec0686SRob Herring - power-domains 11249ec0686SRob Herring 113b67ab6fbSYoshihiro Shimoda - if: 114b67ab6fbSYoshihiro Shimoda properties: 115b67ab6fbSYoshihiro Shimoda compatible: 116b67ab6fbSYoshihiro Shimoda contains: 117b67ab6fbSYoshihiro Shimoda const: renesas,rcar-gen4-ipmmu-vmsa 118b67ab6fbSYoshihiro Shimoda then: 119b67ab6fbSYoshihiro Shimoda properties: 120b67ab6fbSYoshihiro Shimoda renesas,ipmmu-main: 121b67ab6fbSYoshihiro Shimoda items: 122b67ab6fbSYoshihiro Shimoda - maxItems: 1 123b67ab6fbSYoshihiro Shimoda else: 124b67ab6fbSYoshihiro Shimoda properties: 125b67ab6fbSYoshihiro Shimoda renesas,ipmmu-main: 126b67ab6fbSYoshihiro Shimoda items: 127b67ab6fbSYoshihiro Shimoda - minItems: 2 128b67ab6fbSYoshihiro Shimoda 129dba496f3SYoshihiro Shimodaexamples: 130dba496f3SYoshihiro Shimoda - | 131dba496f3SYoshihiro Shimoda #include <dt-bindings/clock/r8a7791-cpg-mssr.h> 132dba496f3SYoshihiro Shimoda #include <dt-bindings/interrupt-controller/arm-gic.h> 133dba496f3SYoshihiro Shimoda #include <dt-bindings/power/r8a7791-sysc.h> 134dba496f3SYoshihiro Shimoda 135dba496f3SYoshihiro Shimoda ipmmu_mx: iommu@fe951000 { 13691f93c38SRob Herring compatible = "renesas,ipmmu-r8a7791", "renesas,ipmmu-vmsa"; 137dba496f3SYoshihiro Shimoda reg = <0xfe951000 0x1000>; 138dba496f3SYoshihiro Shimoda interrupts = <GIC_SPI 222 IRQ_TYPE_LEVEL_HIGH>, 139dba496f3SYoshihiro Shimoda <GIC_SPI 221 IRQ_TYPE_LEVEL_HIGH>; 140dba496f3SYoshihiro Shimoda #iommu-cells = <1>; 141dba496f3SYoshihiro Shimoda }; 142