/* Copyright (c) 2012-2013, The Linux Foundation. All rights reserved.
 *
 * This program is free software; you can redistribute it and/or modify
 * it under the terms of the GNU General Public License version 2 and
 * only version 2 as published by the Free Software Foundation.
 *
 * This program is distributed in the hope that it will be useful,
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 * GNU General Public License for more details.
 */

&soc {
	jpeg_iommu: qcom,iommu@fda64000 {
		compatible = "qcom,msm-smmu-v1";
		#address-cells = <1>;
		#size-cells = <1>;
		ranges;
		reg = <0xfda64000 0x10000>;
		reg-names = "iommu_base";
		interrupts = <0 67 0>;
		qcom,needs-alt-core-clk;
		label = "jpeg_iommu";
		status = "disabled";
		qcom,msm-bus,name = "jpeg_ebi";
		qcom,msm-bus,num-cases = <2>;
		qcom,msm-bus,num-paths = <1>;
		qcom,msm-bus,vectors-KBps =
				<62 512 0 0>,
				<62 512 0 1000>;

		qcom,iommu-pmu-ngroups = <1>;
		qcom,iommu-pmu-ncounters = <8>;
		qcom,iommu-pmu-event-classes = <0x00
						0x01
						0x08
						0x09
						0x0A
						0x10
						0x11
						0x12
						0x80
						0x81
						0x82
						0x83
						0x90
						0x91
						0x92
						0xb0
						0xb1>;

		qcom,iommu-bfb-regs =  <0x204c
					0x2050
					0x2514
					0x2540
					0x256c
					0x2314
					0x2394
					0x2414
					0x20ac
					0x215c
					0x220c
					0x2008
					0x200c
					0x2010
					0x2014>;

		qcom,iommu-bfb-data =  <0x0000ffff
					0x0
					0x4
					0x4
					0x0
					0x0
					0x10
					0x50
					0x0
					0x10
					0x20
					0x0
					0x0
					0x0
					0x0>;

		qcom,iommu-ctx@fda6c000 {
			compatible = "qcom,msm-smmu-v1-ctx";
			reg = <0xfda6c000 0x1000>;
			interrupts = <0 70 0>;
			qcom,iommu-ctx-sids = <0>;
			label = "jpeg_enc0";
		};

		qcom,iommu-ctx@fda6d000 {
			compatible = "qcom,msm-smmu-v1-ctx";
			reg = <0xfda6d000 0x1000>;
			interrupts = <0 70 0>;
			qcom,iommu-ctx-sids = <1>;
			label = "jpeg_enc1";
		};

		qcom,iommu-ctx@fda6e000 {
			compatible = "qcom,msm-smmu-v1-ctx";
			reg = <0xfda6e000 0x1000>;
			interrupts = <0 70 0>;
			qcom,iommu-ctx-sids = <2>;
			label = "jpeg_dec";
		};
	};

	mdp_iommu: qcom,iommu@fd928000 {
		compatible = "qcom,msm-smmu-v1";
		#address-cells = <1>;
		#size-cells = <1>;
		ranges;
		reg = <0xfd928000 0x10000>;
		reg-names = "iommu_base";
		interrupts = <0 73 0>;
		qcom,iommu-secure-id = <1>;
		label = "mdp_iommu";
		qcom,msm-bus,name = "mdp_ebi";
		qcom,msm-bus,num-cases = <2>;
		qcom,msm-bus,num-paths = <1>;
		qcom,msm-bus,vectors-KBps =
				<22 512 0 0>,
				<22 512 0 1000>;
		status = "disabled";

		qcom,iommu-pmu-ngroups = <1>;
		qcom,iommu-pmu-ncounters = <8>;
		qcom,iommu-pmu-event-classes = <0x00
						0x01
						0x08
						0x09
						0x0A
						0x10
						0x11
						0x12
						0x80
						0x81
						0x82
						0x83
						0x90
						0x91
						0x92
						0xb0
						0xb1>;

		qcom,iommu-bfb-regs =  <0x204c
					0x2050
					0x2514
					0x2540
					0x256c
					0x20ac
					0x215c
					0x220c
					0x2314
					0x2394
					0x2414
					0x2008
					0x200c
					0x2010
					0x2014
					0x2018
					0x201c
					0x2020>;

		qcom,iommu-bfb-data =  <0xffffffff
					0x0
					0x00000004
					0x00000010
					0x00000000
					0x00000000
					0x00000034
					0x00000044
					0x0
					0x34
					0x74
					0x0
					0x0
					0x0
					0x0
					0x0
					0x0
					0x0>;

		qcom,iommu-ctx@fd930000 {
			compatible = "qcom,msm-smmu-v1-ctx";
			reg = <0xfd930000 0x1000>;
			interrupts = <0 47 0>;
			qcom,iommu-ctx-sids = <0>;
			label = "mdp_0";
		};

		qcom,iommu-ctx@fd931000 {
			compatible = "qcom,msm-smmu-v1-ctx";
			reg = <0xfd931000 0x1000>;
			interrupts = <0 47 0>, <0 46 0>;
			qcom,iommu-ctx-sids = <1>;
			label = "mdp_1";
			qcom,secure-context;
		};

		qcom,iommu-ctx@fd932000 {
			compatible = "qcom,msm-smmu-v1-ctx";
			reg = <0xfd932000 0x1000>;
			interrupts = <0 47 0>, <0 46 0>;
			qcom,iommu-ctx-sids = <>;
			label = "mdp_2";
			qcom,secure-context;
		};
	};

	venus_iommu: qcom,iommu@fdc84000 {
		compatible = "qcom,msm-smmu-v1";
		#address-cells = <1>;
		#size-cells = <1>;
		ranges;
		reg = <0xfdc84000 0x10000
		       0xfdce0004 0x4>;
		reg-names = "iommu_base", "clk_base";
		interrupts = <0 45 0>;
		qcom,iommu-secure-id = <0>;
		qcom,needs-alt-core-clk;
		label = "venus_iommu";
		qcom,msm-bus,name = "venus_ebi";
		qcom,msm-bus,num-cases = <2>;
		qcom,msm-bus,num-paths = <1>;
		qcom,msm-bus,vectors-KBps =
				<63 512 0 0>,
				<63 512 0 1000>;
		status = "disabled";

		qcom,iommu-pmu-ngroups = <1>;
		qcom,iommu-pmu-ncounters = <8>;
		qcom,iommu-pmu-event-classes = <0x00
						0x01
						0x08
						0x09
						0x0A
						0x10
						0x11
						0x12
						0x80
						0x81
						0x82
						0x83
						0x90
						0x91
						0x92
						0xb0
						0xb1>;

		qcom,iommu-bfb-regs =  <0x204c
					0x2050
					0x2514
					0x2540
					0x256c
					0x20ac
					0x215c
					0x220c
					0x2314
					0x2394
					0x2414
					0x2008
					0x200c
					0x2010
					0x2014
					0x2018
					0x201c
					0x2020
					0x2024
					0x2028
					0x202c
					0x2030
					0x2034
					0x2038>;

		qcom,iommu-bfb-data =  <0xffffffff
					0xffffffff
					0x00000004
					0x00000008
					0x00000000
					0x00000000
					0x00000094
					0x000000b4
					0x0
					0x94
					0x114
					0x0
					0x0
					0x0
					0x0
					0x0
					0x0
					0x0
					0x0
					0x0
					0x0
					0x0
					0x0
					0x0>;

		venus_ns: qcom,iommu-ctx@fdc8c000 {
			compatible = "qcom,msm-smmu-v1-ctx";
			reg = <0xfdc8c000 0x1000>;
			interrupts = <0 42 0>;
			qcom,iommu-ctx-sids = <0 1 2 3 4 5>;
			label = "venus_ns";
		};

		venus_cp: qcom,iommu-ctx@fdc8d000 {
			compatible = "qcom,msm-smmu-v1-ctx";
			reg = <0xfdc8d000 0x1000>;
			interrupts = <0 42 0>, <0 43 0>;
			qcom,iommu-ctx-sids = <0x80 0x81 0x82 0x83 0x84 0x85>;
			label = "venus_cp";
			qcom,secure-context;
		};

		venus_fw: qcom,iommu-ctx@fdc8e000 {
			compatible = "qcom,msm-smmu-v1-ctx";
			reg = <0xfdc8e000 0x1000>;
			interrupts = <0 42 0>, <0 43 0>;
			qcom,iommu-ctx-sids = <0xc0 0xc6>;
			label = "venus_fw";
			qcom,secure-context;
		};
	};

	kgsl_iommu: qcom,iommu@fdb10000 {
		compatible = "qcom,msm-smmu-v1";
		#address-cells = <1>;
		#size-cells = <1>;
		ranges;
		reg = <0xfdb10000 0x10000>;
		reg-names = "iommu_base";
		interrupts = <0 38 0>;
		label = "kgsl_iommu";
		qcom,msm-bus,name = "kgsl_ebi";
		qcom,msm-bus,num-cases = <2>;
		qcom,msm-bus,num-paths = <1>;
		qcom,msm-bus,vectors-KBps =
				<26 512 0 0>,
				<26 512 0 1000>;
		status = "disabled";

		qcom,iommu-pmu-ngroups = <1>;
		qcom,iommu-pmu-ncounters = <8>;
		qcom,iommu-pmu-event-classes = <0x00
						0x01
						0x08
						0x09
						0x0A
						0x10
						0x11
						0x12
						0x80
						0x81
						0x82
						0x83
						0x90
						0x91
						0x92
						0xb0
						0xb1>;

		qcom,iommu-bfb-regs =  <0x204c
					0x2050
					0x2514
					0x2540
					0x256c
					0x20ac
					0x215c
					0x220c
					0x2314
					0x2394
					0x2414
					0x2008>;

		qcom,iommu-bfb-data =  <0x00000003
					0x0
					0x00000004
					0x00000010
					0x00000000
					0x00000000
					0x00000001
					0x00000021
					0x0
					0x1
					0x81
					0x0>;

		qcom,iommu-ctx@fdb18000 {
			compatible = "qcom,msm-smmu-v1-ctx";
			reg = <0xfdb18000 0x1000>;
			interrupts = <0 241 0>;
			qcom,iommu-ctx-sids = <0>;
			label = "gfx3d_user";
		};

		qcom,iommu-ctx@fdb19000 {
			compatible = "qcom,msm-smmu-v1-ctx";
			reg = <0xfdb19000 0x1000>;
			interrupts = <0 241 0>;
			qcom,iommu-ctx-sids = <1>;
			label = "gfx3d_priv";
		};

		qcom,iommu-ctx@fdb1a000 {
			compatible = "qcom,msm-smmu-v1-ctx";
			reg = <0xfdb1a000 0x1000>;
			interrupts = <0 241 0>;
			qcom,iommu-ctx-sids = <2>;
			label = "gfx3d_spare";
		};

	};

	vfe_iommu: qcom,iommu@fda44000 {
		compatible = "qcom,msm-smmu-v1";
		#address-cells = <1>;
		#size-cells = <1>;
		ranges;
		reg = <0xfda44000 0x10000>;
		reg-names = "iommu_base";
		interrupts = <0 62 0>;
		qcom,needs-alt-core-clk;
		label = "vfe_iommu";
		qcom,msm-bus,name = "vfe_ebi";
		qcom,msm-bus,num-cases = <2>;
		qcom,msm-bus,num-paths = <1>;
		qcom,msm-bus,vectors-KBps =
				<29 512 0 0>,
				<29 512 0 1000>;
		status = "disabled";

		qcom,iommu-pmu-ngroups = <1>;
		qcom,iommu-pmu-ncounters = <8>;
		qcom,iommu-pmu-event-classes = <0x00
						0x01
						0x08
						0x09
						0x0A
						0x10
						0x11
						0x12
						0x80
						0x81
						0x82
						0x83
						0x90
						0x91
						0x92
						0xb0
						0xb1>;

		qcom,iommu-bfb-regs =  <0x204c
					0x2050
					0x2514
					0x2540
					0x256c
					0x2314
					0x2394
					0x2414
					0x20ac
					0x215c
					0x220c
					0x2008
					0x200c
					0x2010
					0x2014
					0x2018
					0x201c
					0x2020>;

		qcom,iommu-bfb-data =  <0xffffffff
					0x00000000
					0x4
					0x8
					0x0
					0x0
					0x20
					0x78
					0x0
					0x20
					0x36
					0x0
					0x0
					0x0
					0x0
					0x0
					0x0
					0x0>;

		qcom,iommu-ctx@fda4c000 {
			compatible = "qcom,msm-smmu-v1-ctx";
			reg = <0xfda4c000 0x1000>;
			interrupts = <0 65 0>;
			qcom,iommu-ctx-sids = <0>;
			label = "vfe0";
		};

		qcom,iommu-ctx@fda4d000 {
			compatible = "qcom,msm-smmu-v1-ctx";
			reg = <0xfda4d000 0x1000>;
			interrupts = <0 65 0>;
			qcom,iommu-ctx-sids = <1>;
			label = "vfe1";
		};

		qcom,iommu-ctx@fda4e000 {
			compatible = "qcom,msm-smmu-v1-ctx";
			reg = <0xfda4e000 0x1000>;
			interrupts = <0 65 0>;
			qcom,iommu-ctx-sids = <2>;
			label = "cpp";
		};
	};

	copss_iommu: qcom,iommu@f9bc4000 {
		compatible = "qcom,msm-smmu-v1";
		#address-cells = <1>;
		#size-cells = <1>;
		ranges;
		reg = <0xf9bc4000 0x10000>;
		reg-names = "iommu_base";
		interrupts = <0 153 0>;
		label = "copss_iommu";
		qcom,msm-bus,name = "copss_ebi";
		qcom,msm-bus,num-cases = <2>;
		qcom,msm-bus,num-paths = <1>;
		qcom,msm-bus,vectors-KBps =
				<88 512 0 0>,
				<88 512 0 1000>;
		status = "disabled";
		qcom,iommu-pmu-ngroups = <1>;
		qcom,iommu-pmu-ncounters = <8>;
		qcom,iommu-pmu-event-classes = <0x00
						0x01
						0x08
						0x09
						0x0a
						0x10
						0x11
						0x12
						0x80
						0x81
						0x82
						0x83
						0x90
						0x91
						0x92
						0xb0
						0xb1>;

		qcom,iommu-bfb-regs =  <0x204c
					0x2514
					0x2540
					0x256c
					0x20ac
					0x215c
					0x220c
					0x22bc
					0x2314
					0x2394
					0x2414
					0x2494
					0x2008>;

		qcom,iommu-bfb-data =  <0x3
					0x4
					0x4
					0x0
					0x0
					0x0
					0x1
					0x0
					0x0
					0x40
					0x44
					0x0
					0x0>;

		qcom,iommu-lpae-bfb-regs = <0x204c
					    0x2514
					    0x2540
					    0x256c
					    0x20ac
					    0x215c
					    0x220c
					    0x22bc
					    0x2314
					    0x2394
					    0x2414
					    0x2494
					    0x2008>;

		qcom,iommu-lpae-bfb-data = <0x3
					    0x0
					    0x4
					    0x4
					    0x0
					    0x5
					    0x0
					    0x1
					    0x0
					    0x0
					    0x40
					    0x44
					    0x0>;


		copss_cb_0: qcom,iommu-ctx@f9bcc000 {
			compatible = "qcom,msm-smmu-v1-ctx";
			reg = <0xf9bcc000 0x1000>;
			interrupts = <0 142 0>;
			qcom,iommu-ctx-sids = <0>;
			label = "copss_cb_0";
		};

		copss_cb_1: qcom,iommu-ctx@f9bcd000 {
			compatible = "qcom,msm-smmu-v1-ctx";
			reg = <0xf9bcd000 0x1000>;
			interrupts = <0 142 0>;
			qcom,iommu-ctx-sids = <1>;
			label = "copss_cb_1";
		};

		copss_cb_2: qcom,iommu-ctx@f9bce000 {
			compatible = "qcom,msm-smmu-v1-ctx";
			reg = <0xf9bce000 0x1000>;
			interrupts = <0 142 0>;
			qcom,iommu-ctx-sids = <2>;
			label = "copss_cb_2";
		};

		copss_cb_3: qcom,iommu-ctx@f9bcf000 {
			compatible = "qcom,msm-smmu-v1-ctx";
			reg = <0xf9bcf000 0x1000>;
			interrupts = <0 142 0>;
			qcom,iommu-ctx-sids = <3>;
			label = "copss_cb_3";
		};

		copss_cb_4: qcom,iommu-ctx@f9bd0000 {
			compatible = "qcom,msm-smmu-v1-ctx";
			reg = <0xf9bd0000 0x1000>;
			interrupts = <0 142 0>;
			qcom,iommu-ctx-sids = <4>;
			label = "copss_cb_4";
		};

		copss_cb_5: qcom,iommu-ctx@f9bd1000 {
			compatible = "qcom,msm-smmu-v1-ctx";
			reg = <0xf9bd1000 0x1000>;
			interrupts = <0 142 0>;
			qcom,iommu-ctx-sids = <5>;
			label = "copss_cb_5";
		};

		copss_cb_6: qcom,iommu-ctx@f9bd2000 {
			compatible = "qcom,msm-smmu-v1-ctx";
			reg = <0xf9bd2000 0x1000>;
			interrupts = <0 142 0>;
			qcom,iommu-ctx-sids = <6>;
			label = "copss_cb_6";
		};

		copss_cb_7: qcom,iommu-ctx@f9bd3000 {
			compatible = "qcom,msm-smmu-v1-ctx";
			reg = <0xf9bd3000 0x1000>;
			interrupts = <0 142 0>;
			qcom,iommu-ctx-sids = <7>;
			label = "copss_cb_7";
		};
	};

	vpu_iommu: qcom,iommu@fdee4000 {
		compatible = "qcom,msm-smmu-v1";
		#address-cells = <1>;
		#size-cells = <1>;
		ranges;
		reg = <0xfdee4000 0x10000>;
		reg-names = "iommu_base";
		interrupts = <0 147 0>;
		label = "vpu_iommu";
		qcom,msm-bus,name = "vpu_ebi";
		qcom,msm-bus,num-cases = <2>;
		qcom,msm-bus,num-paths = <1>;
		qcom,msm-bus,vectors-KBps =
				<93 512 0 0>,
				<93 512 0 1000>;
		status = "disabled";
		qcom,iommu-pmu-ngroups = <1>;
		qcom,iommu-pmu-ncounters = <8>;
		qcom,iommu-pmu-event-classes = <0x00
						0x01
						0x08
						0x09
						0x0a
						0x10
						0x11
						0x12
						0x80
						0x81
						0x82
						0x83
						0x90
						0x91
						0x92
						0xb0
						0xb1>;

		qcom,iommu-bfb-regs =  <0x204c
					0x2514
					0x2540
					0x256c
					0x2314
					0x2394
					0x2414
					0x2494
					0x20ac
					0x215c
					0x220c
					0x22bc
					0x2008
					0x200c
					0x2010
					0x2014>;

		qcom,iommu-bfb-data =  <0xffff
					0x4
					0x10
					0x0
					0x0
					0xf
					0x4b
					0x0
					0x1e00
					0x1e00
					0x5a0f
					0x0
					0x0
					0x0
					0x0
					0x0>;

		qcom,iommu-lpae-bfb-regs = <0x204c
					    0x2514
					    0x2540
					    0x256c
					    0x2314
					    0x2394
					    0x2414
					    0x2494
					    0x20ac
					    0x215c
					    0x220c
					    0x22bc
					    0x2008
					    0x200c
					    0x2010
					    0x2014>;

		qcom,iommu-lpae-bfb-data = <0xffff
					    0x0
					    0x4
					    0x10
					    0x0
					    0x0
					    0xf
					    0x4b
					    0x1e00
					    0x5a2d
					    0x1e00
					    0x5a0f
					    0x0
					    0x0
					    0x0
					    0x0>;


		vpu_cb_0: qcom,iommu-ctx@fdeec000 {
			compatible = "qcom,msm-smmu-v1-ctx";
			reg = <0xfdeec000 0x1000>;
			interrupts = <0 145 0>;
			qcom,iommu-ctx-sids = <0 1 3>;
			label = "vpu_cb_0";
		};

		vpu_cb_1: qcom,iommu-ctx@fdeed000 {
			compatible = "qcom,msm-smmu-v1-ctx";
			reg = <0xfdeed000 0x1000>;
			interrupts = <0 145 0>;
			qcom,iommu-ctx-sids = <8 9>;
			label = "vpu_cb_1";
		};

		vpu_cb_2: qcom,iommu-ctx@fdeee000 {
			compatible = "qcom,msm-smmu-v1-ctx";
			reg = <0xfdeee000 0x1000>;
			interrupts = <0 145 0>;
			qcom,iommu-ctx-sids = <5 7 15>;
			label = "vpu_cb_2";
		};
	};

	lpass_qdsp_iommu: qcom,iommu@fe054000 {
		compatible = "qcom,msm-smmu-v1";
		#address-cells = <1>;
		#size-cells = <1>;
		ranges;
		reg = <0xfe054000 0x10000>;
		reg-names = "iommu_base";
		interrupts = <0 202 0>;
		label = "lpass_qdsp_iommu";
		qcom,msm-bus,name = "lpass_qdsp_ebi";
		qcom,msm-bus,num-cases = <2>;
		qcom,msm-bus,num-paths = <1>;
		qcom,msm-bus,vectors-KBps =
				<11 512 0 0>,
				<11 512 0 1000>;
		status = "disabled";
		qcom,iommu-pmu-ngroups = <1>;
		qcom,iommu-pmu-ncounters = <8>;
		qcom,iommu-pmu-event-classes = <0x00
						0x01
						0x08
						0x09
						0x0a
						0x10
						0x11
						0x12
						0x80
						0x81
						0x82
						0x83
						0x90
						0x91
						0x92
						0xb0
						0xb1>;

		qcom,iommu-bfb-regs =  <0x204c
					0x2514
					0x2540
					0x256c
					0x20ac
					0x215c
					0x220c
					0x22bc
					0x2314
					0x2394
					0x2414
					0x2494
					0x2008>;

		qcom,iommu-bfb-data =  <0x3
					0x4
					0x4
					0x0
					0x0
					0x0
					0x10
					0x0
					0x0
					0x15e
					0x19e
					0x0
					0x0>;

		qcom,iommu-lpae-bfb-regs = <0x204c
					    0x2514
					    0x2540
					    0x256c
					    0x20ac
					    0x215c
					    0x220c
					    0x22bc
					    0x2314
					    0x2394
					    0x2414
					    0x2494
					    0x2008>;

		qcom,iommu-lpae-bfb-data = <0x3
					    0x0
					    0x4
					    0x4
					    0x0
					    0x20
					    0x0
					    0x10
					    0x0
					    0x0
					    0x15e
					    0x19e
					    0x0>;


		lpass_qdsp_cb_0: qcom,iommu-ctx@fe05c000 {
			compatible = "qcom,msm-smmu-v1-ctx";
			reg = <0xfe05c000 0x1000>;
			interrupts = <0 265 0>;
			qcom,iommu-ctx-sids = <0>;
			label = "lpass_qdsp_cb_0";
		};

		lpass_qdsp_cb_1: qcom,iommu-ctx@fe05d000 {
			compatible = "qcom,msm-smmu-v1-ctx";
			reg = <0xfe05d000 0x1000>;
			interrupts = <0 265 0>;
			qcom,iommu-ctx-sids = <1>;
			label = "lpass_qdsp_cb_1";
		};

		lpass_qdsp_cb_2: qcom,iommu-ctx@fe05e000 {
			compatible = "qcom,msm-smmu-v1-ctx";
			reg = <0xfe05e000 0x1000>;
			interrupts = <0 265 0>;
			qcom,iommu-ctx-sids = <2>;
			label = "lpass_qdsp_cb_2";
		};

		lpass_qdsp_cb_3: qcom,iommu-ctx@fe05f000 {
			compatible = "qcom,msm-smmu-v1-ctx";
			reg = <0xfe05f000 0x1000>;
			interrupts = <0 265 0>;
			qcom,iommu-ctx-sids = <3>;
			label = "lpass_qdsp_cb_3";
		};
	};

	lpass_core_iommu: qcom,iommu@fe064000 {
		compatible = "qcom,msm-smmu-v1";
		#address-cells = <1>;
		#size-cells = <1>;
		ranges;
		reg = <0xfe064000 0x10000>;
		reg-names = "iommu_base";
		interrupts = <0 166 0>;
		label = "lpass_core_iommu";
		qcom,msm-bus,name = "lpass_core_ebi";
		qcom,msm-bus,num-cases = <2>;
		qcom,msm-bus,num-paths = <1>;
		qcom,msm-bus,vectors-KBps =
				<52 512 0 0>,
				<52 512 0 1000>;
		status = "disabled";
		qcom,iommu-pmu-ngroups = <1>;
		qcom,iommu-pmu-ncounters = <8>;
		qcom,iommu-pmu-event-classes = <0x00
						0x01
						0x08
						0x09
						0x0a
						0x10
						0x11
						0x12
						0x80
						0x81
						0x82
						0x83
						0x90
						0x91
						0x92
						0xb0
						0xb1>;

		qcom,iommu-bfb-regs =  <0x204c
					0x2514
					0x2540
					0x256c
					0x20ac
					0x215c
					0x220c
					0x22bc
					0x2314
					0x2394
					0x2414
					0x2494
					0x2008>;

		qcom,iommu-bfb-data =  <0x3
					0x4
					0x4
					0x0
					0x0
					0x0
					0x4
					0x0
					0x0
					0x40
					0x50
					0x0
					0x0>;

		qcom,iommu-lpae-bfb-regs = <0x204c
					    0x2514
					    0x2540
					    0x256c
					    0x20ac
					    0x215c
					    0x220c
					    0x22bc
					    0x2314
					    0x2394
					    0x2414
					    0x2494
					    0x2008>;

		qcom,iommu-lpae-bfb-data = <0x3
					    0x0
					    0x4
					    0x4
					    0x0
					    0xc
					    0x0
					    0x4
					    0x0
					    0x0
					    0x40
					    0x50
					    0x0>;


		lpass_core_cb_0: qcom,iommu-ctx@fe06c000 {
			compatible = "qcom,msm-smmu-v1-ctx";
			reg = <0xfe06c000 0x1000>;
			interrupts = <0 267 0>;
			qcom,iommu-ctx-sids = <0>;
			label = "lpass_core_cb_0";
		};

		lpass_core_cb_1: qcom,iommu-ctx@fe06d000 {
			compatible = "qcom,msm-smmu-v1-ctx";
			reg = <0xfe06d000 0x1000>;
			interrupts = <0 267 0>;
			qcom,iommu-ctx-sids = <1>;
			label = "lpass_core_cb_1";
		};

		lpass_core_cb_2: qcom,iommu-ctx@fe06e000 {
			compatible = "qcom,msm-smmu-v1-ctx";
			reg = <0xfe06e000 0x1000>;
			interrupts = <0 267 0>;
			qcom,iommu-ctx-sids = <2>;
			label = "lpass_core_cb_2";
		};
	};

	vcap_iommu: qcom,iommu@fdfb6000 {
		compatible = "qcom,msm-smmu-v1";
		#address-cells = <1>;
		#size-cells = <1>;
		ranges;
		reg = <0xfdfb6000 0x10000>;
		reg-names = "iommu_base";
		interrupts = <0 315 0>;
		qcom,needs-alt-core-clk;
		label = "vcap_iommu";
		status = "disabled";
		qcom,msm-bus,name = "vcap_ebi";
		qcom,msm-bus,num-cases = <2>;
		qcom,msm-bus,num-paths = <1>;
		qcom,msm-bus,vectors-KBps =
			<48 512 0 0>,
			<48 512 0 1000>;

		qcom,iommu-pmu-ngroups = <1>;
		qcom,iommu-pmu-ncounters = <8>;
		qcom,iommu-pmu-event-classes = <0x00
						0x01
						0x08
						0x09
						0x0A
						0x10
						0x11
						0x12
						0x80
						0x81
						0x82
						0x83
						0x90
						0x91
						0x92
						0xb0
						0xb1>;

		qcom,iommu-bfb-regs =  <0x204c
					0x2514
					0x2540
					0x256c
					0x2314
					0x2394
					0x2414
					0x2494
					0x20ac
					0x215c
					0x220c
					0x22bc
					0x2008
					0x200c>;

		qcom,iommu-bfb-data = <0x0ff
					0x00000004
					0x00000008
					0x0
					0x0
					0x00000008
					0x00000028
					0x0
					0x001000
					0x001000
					0x003008
					0x0
					0x0
					0x0>;

		qcom,iommu-ctx@fdfbe000 {
			compatible = "qcom,msm-smmu-v1-ctx";
			reg = <0xfdfbe000 0x1000>;
			interrupts = <0 313 0>;
			qcom,iommu-ctx-sids = <0>;
			label = "vcap_cb0";
		};

		qcom,iommu-ctx@fdfbf000 {
			compatible = "qcom,msm-smmu-v1-ctx";
			reg = <0xfdfbf000 0x1000>;
			interrupts = <0 313 0>;
			qcom,iommu-ctx-sids = <1>;
			label = "vcap_cb1";
		};

		qcom,iommu-ctx@fdfc0000 {
			compatible = "qcom,msm-smmu-v1-ctx";
			reg = <0xfdfc0000 0x1000>;
			interrupts = <0 313 0>;
			qcom,iommu-ctx-sids = <>;
			label = "vcap_cb2";
		};
	};
};
