* Renesas VMSA-Compatible IOMMU

The IPMMU is an IOMMU implementation compatible with the ARM VMSA page tables.
It provides address translation for bus masters outside of the CPU, each
connected to the IPMMU through a port called micro-TLB.


Required Properties:

  - compatible: Must contain SoC-specific and generic entry below in case
    the device is compatible with the R-Car Gen2 VMSA-compatible IPMMU.

    - "renesas,ipmmu-r8a73a4" for the R8A73A4 (R-Mobile APE6) IPMMU.
    - "renesas,ipmmu-r8a7743" for the R8A7743 (RZ/G1M) IPMMU.
    - "renesas,ipmmu-r8a7744" for the R8A7744 (RZ/G1N) IPMMU.
    - "renesas,ipmmu-r8a7745" for the R8A7745 (RZ/G1E) IPMMU.
    - "renesas,ipmmu-r8a774a1" for the R8A774A1 (RZ/G2M) IPMMU.
    - "renesas,ipmmu-r8a774c0" for the R8A774C0 (RZ/G2E) IPMMU.
    - "renesas,ipmmu-r8a7790" for the R8A7790 (R-Car H2) IPMMU.
    - "renesas,ipmmu-r8a7791" for the R8A7791 (R-Car M2-W) IPMMU.
    - "renesas,ipmmu-r8a7793" for the R8A7793 (R-Car M2-N) IPMMU.
    - "renesas,ipmmu-r8a7794" for the R8A7794 (R-Car E2) IPMMU.
    - "renesas,ipmmu-r8a7795" for the R8A7795 (R-Car H3) IPMMU.
    - "renesas,ipmmu-r8a7796" for the R8A7796 (R-Car M3-W) IPMMU.
    - "renesas,ipmmu-r8a77965" for the R8A77965 (R-Car M3-N) IPMMU.
    - "renesas,ipmmu-r8a77970" for the R8A77970 (R-Car V3M) IPMMU.
    - "renesas,ipmmu-r8a77980" for the R8A77980 (R-Car V3H) IPMMU.
    - "renesas,ipmmu-r8a77990" for the R8A77990 (R-Car E3) IPMMU.
    - "renesas,ipmmu-r8a77995" for the R8A77995 (R-Car D3) IPMMU.
    - "renesas,ipmmu-vmsa" for generic R-Car Gen2 or RZ/G1 VMSA-compatible
			   IPMMU.

  - reg: Base address and size of the IPMMU registers.
  - interrupts: Specifiers for the MMU fault interrupts. For instances that
    support secure mode two interrupts must be specified, for non-secure and
    secure mode, in that order. For instances that don't support secure mode a
    single interrupt must be specified. Not required for cache IPMMUs.

  - #iommu-cells: Must be 1.

Optional properties:

  - renesas,ipmmu-main: reference to the main IPMMU instance in two cells.
    The first cell is a phandle to the main IPMMU and the second cell is
    the interrupt bit number associated with the particular cache IPMMU device.
    The interrupt bit number needs to match the main IPMMU IMSSTR register.
    Only used by cache IPMMU instances.


Each bus master connected to an IPMMU must reference the IPMMU in its device
node with the following property:

  - iommus: A reference to the IPMMU in two cells. The first cell is a phandle
    to the IPMMU and the second cell the number of the micro-TLB that the
    device is connected to.


Example: R8A7791 IPMMU-MX and VSP1-D0 bus master

	ipmmu_mx: mmu@fe951000 {
		compatible = "renasas,ipmmu-r8a7791", "renasas,ipmmu-vmsa";
		reg = <0 0xfe951000 0 0x1000>;
		interrupts = <0 222 IRQ_TYPE_LEVEL_HIGH>,
			     <0 221 IRQ_TYPE_LEVEL_HIGH>;
		#iommu-cells = <1>;
	};

	vsp@fe928000 {
		...
		iommus = <&ipmmu_mx 13>;
		...
	};
