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 53da9f8386SYoshihiro Shimoda - const: renesas,rcar-gen4-ipmmu-vmsa # R-Car Gen4 54dba496f3SYoshihiro Shimoda 55dba496f3SYoshihiro Shimoda reg: 56dba496f3SYoshihiro Shimoda maxItems: 1 57dba496f3SYoshihiro Shimoda 58dba496f3SYoshihiro Shimoda interrupts: 59dba496f3SYoshihiro Shimoda minItems: 1 60dba496f3SYoshihiro Shimoda description: 61dba496f3SYoshihiro Shimoda Specifiers for the MMU fault interrupts. Not required for cache IPMMUs. 62dba496f3SYoshihiro Shimoda items: 63dba496f3SYoshihiro Shimoda - description: non-secure mode 64dba496f3SYoshihiro Shimoda - description: secure mode if supported 65dba496f3SYoshihiro Shimoda 66dba496f3SYoshihiro Shimoda '#iommu-cells': 67dba496f3SYoshihiro Shimoda const: 1 68dba496f3SYoshihiro Shimoda description: 69dba496f3SYoshihiro Shimoda The number of the micro-TLB that the device is connected to. 70dba496f3SYoshihiro Shimoda 71dba496f3SYoshihiro Shimoda power-domains: 72dba496f3SYoshihiro Shimoda maxItems: 1 73dba496f3SYoshihiro Shimoda 74dba496f3SYoshihiro Shimoda renesas,ipmmu-main: 75dba496f3SYoshihiro Shimoda $ref: /schemas/types.yaml#/definitions/phandle-array 7639bd2b6aSRob Herring items: 77*b67ab6fbSYoshihiro Shimoda - minItems: 1 78*b67ab6fbSYoshihiro Shimoda items: 7939bd2b6aSRob Herring - description: phandle to main IPMMU 80*b67ab6fbSYoshihiro Shimoda - description: 81*b67ab6fbSYoshihiro Shimoda The interrupt bit number associated with the particular cache 82*b67ab6fbSYoshihiro Shimoda IPMMU device. If present, the interrupt bit number needs to match 83*b67ab6fbSYoshihiro Shimoda the main IPMMU IMSSTR register. Only used by cache IPMMU 84*b67ab6fbSYoshihiro Shimoda instances. 85dba496f3SYoshihiro Shimoda description: 86*b67ab6fbSYoshihiro Shimoda Reference to the main IPMMU. 87dba496f3SYoshihiro Shimoda 88dba496f3SYoshihiro Shimodarequired: 89dba496f3SYoshihiro Shimoda - compatible 90dba496f3SYoshihiro Shimoda - reg 91dba496f3SYoshihiro Shimoda - '#iommu-cells' 92dba496f3SYoshihiro Shimoda 93dba496f3SYoshihiro ShimodaoneOf: 94dba496f3SYoshihiro Shimoda - required: 95dba496f3SYoshihiro Shimoda - interrupts 96dba496f3SYoshihiro Shimoda - required: 97dba496f3SYoshihiro Shimoda - renesas,ipmmu-main 98dba496f3SYoshihiro Shimoda 99dba496f3SYoshihiro ShimodaadditionalProperties: false 100dba496f3SYoshihiro Shimoda 10149ec0686SRob HerringallOf: 10249ec0686SRob Herring - if: 10349ec0686SRob Herring properties: 10449ec0686SRob Herring compatible: 10549ec0686SRob Herring not: 10649ec0686SRob Herring contains: 10749ec0686SRob Herring const: renesas,ipmmu-vmsa 10849ec0686SRob Herring then: 10949ec0686SRob Herring required: 11049ec0686SRob Herring - power-domains 11149ec0686SRob Herring 112*b67ab6fbSYoshihiro Shimoda - if: 113*b67ab6fbSYoshihiro Shimoda properties: 114*b67ab6fbSYoshihiro Shimoda compatible: 115*b67ab6fbSYoshihiro Shimoda contains: 116*b67ab6fbSYoshihiro Shimoda const: renesas,rcar-gen4-ipmmu-vmsa 117*b67ab6fbSYoshihiro Shimoda then: 118*b67ab6fbSYoshihiro Shimoda properties: 119*b67ab6fbSYoshihiro Shimoda renesas,ipmmu-main: 120*b67ab6fbSYoshihiro Shimoda items: 121*b67ab6fbSYoshihiro Shimoda - maxItems: 1 122*b67ab6fbSYoshihiro Shimoda else: 123*b67ab6fbSYoshihiro Shimoda properties: 124*b67ab6fbSYoshihiro Shimoda renesas,ipmmu-main: 125*b67ab6fbSYoshihiro Shimoda items: 126*b67ab6fbSYoshihiro Shimoda - minItems: 2 127*b67ab6fbSYoshihiro Shimoda 128dba496f3SYoshihiro Shimodaexamples: 129dba496f3SYoshihiro Shimoda - | 130dba496f3SYoshihiro Shimoda #include <dt-bindings/clock/r8a7791-cpg-mssr.h> 131dba496f3SYoshihiro Shimoda #include <dt-bindings/interrupt-controller/arm-gic.h> 132dba496f3SYoshihiro Shimoda #include <dt-bindings/power/r8a7791-sysc.h> 133dba496f3SYoshihiro Shimoda 134dba496f3SYoshihiro Shimoda ipmmu_mx: iommu@fe951000 { 13591f93c38SRob Herring compatible = "renesas,ipmmu-r8a7791", "renesas,ipmmu-vmsa"; 136dba496f3SYoshihiro Shimoda reg = <0xfe951000 0x1000>; 137dba496f3SYoshihiro Shimoda interrupts = <GIC_SPI 222 IRQ_TYPE_LEVEL_HIGH>, 138dba496f3SYoshihiro Shimoda <GIC_SPI 221 IRQ_TYPE_LEVEL_HIGH>; 139dba496f3SYoshihiro Shimoda #iommu-cells = <1>; 140dba496f3SYoshihiro Shimoda }; 141