* QCOM IOMMU

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

Required Properties:

  - compatible: Must contain "qcom,apq8064-iommu".
  - reg: Base address and size of the IOMMU 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.
  - #iommu-cells: The number of cells needed to specify the stream id. This
		  is always 1.
  - qcom,ncb:	  The total number of context banks in the IOMMU.
  - clocks	: List of clocks to be used during SMMU register access. See
		  Documentation/devicetree/bindings/clock/clock-bindings.txt
		  for information about the format. For each clock specified
		  here, there must be a corresponding entry in clock-names
		  (see below).

  - clock-names	: List of clock names corresponding to the clocks specified in
		  the "clocks" property (above).
		  Should be "smmu_pclk" for specifying the interface clock
		  required for iommu's register accesses.
		  Should be "smmu_clk" for specifying the functional clock
		  required by iommu for bus accesses.

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

  - iommus: A reference to the IOMMU in multiple cells. The first cell is a
	    phandle to the IOMMU and the second cell is the stream id.
	    A single master device can be connected to more than one iommu
	    and multiple contexts in each of the iommu. So multiple entries
	    are required to list all the iommus and the stream ids that the
	    master is connected to.

Example: mdp iommu and its bus master

                mdp_port0: iommu@7500000 {
			compatible = "qcom,apq8064-iommu";
			#iommu-cells = <1>;
			clock-names =
			    "smmu_pclk",
			    "smmu_clk";
			clocks =
			    <&mmcc SMMU_AHB_CLK>,
			    <&mmcc MDP_AXI_CLK>;
			reg = <0x07500000 0x100000>;
			interrupts =
			    <GIC_SPI 63 0>,
			    <GIC_SPI 64 0>;
			qcom,ncb = <2>;
		};

		mdp: qcom,mdp@5100000 {
			compatible = "qcom,mdp";
			...
			iommus = <&mdp_port0 0
				  &mdp_port0 2>;
		};
