Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 9d2cd3ea authored by Neeti Desai's avatar Neeti Desai Committed by Praneeth Paladugu
Browse files

ARM: dts: msm: Add support for IOMMU for msmsamarium



IOMMUs are needed for multimeda cores and some other cores
to access physically discontiguous memory. Add definitions
for these IOMMUs

Change-Id: I1ba4bc7f6da773b58cfeea971296869795ea7873
Signed-off-by: default avatarNeeti Desai <neetid@codeaurora.org>
parent d83258e0
Loading
Loading
Loading
Loading
+255 −0
Original line number Diff line number Diff line
/* Copyright (c) 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.
 */

/include/ "msm-iommu-v1.dtsi"

&venus_iommu {
	status = "ok";
	qcom,iommu-enable-halt;
	vdd-supply = <&gdsc_venus>;

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

	qcom,iommu-bfb-data =  <0x1ffffff
				0x4
				0x8
				0x0
				0x13205
				0x4a05
				0xca25
				0x0
				0x0
				0x94
				0x114
				0x0
				0x0
				0x0
				0x0
				0x0
				0x0>;

	venus_ns: qcom,iommu-ctx@fdc8c000 {
		qcom,iommu-ctx-sids = <0 1 2 3 4 5 7>;
	};

	venus_sec_bitstream: qcom,iommu-ctx@fdc8d000 {
		qcom,iommu-ctx-sids = <0x80 0x81 0x82 0x83 0x84>;
		label = "venus_sec_bitstream";
	};

	venus_sec_pixel: qcom,iommu-ctx@fdc8f000 {
		compatible = "qcom,msm-smmu-v1-ctx";
		reg = <0xfdc8f000 0x1000>;
		interrupts = <0 42 0>, <0 43 0>;
		qcom,iommu-ctx-sids = <0x85>;
		label = "venus_sec_pixel";
		qcom,secure-context;
	};

	venus_sec_non_pixel: qcom,iommu-ctx@fdc90000 {
		compatible = "qcom,msm-smmu-v1-ctx";
		reg = <0xfdc90000 0x1000>;
		interrupts = <0 42 0>, <0 43 0>;
		qcom,iommu-ctx-sids = <0x87 0xA0>;
		label = "venus_sec_non_pixel";
		qcom,secure-context;
	};
};

&jpeg_iommu {
	status = "ok";
	qcom,iommu-enable-halt;
	vdd-supply = <&gdsc_jpeg>;

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

	qcom,iommu-bfb-data =  <0x1f
				0x4
				0x4
				0x0
				0x0
				0x10
				0x50
				0x0
				0x2000
				0x2000
				0x8e10
				0x0
				0x0>;
};

&mdp_iommu {
	status = "ok";
	qcom,iommu-enable-halt;
	vdd-supply = <&gdsc_mdss>;

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

	qcom,iommu-bfb-data =  <0x1fff
				0x4
				0x10
				0x0
				0x2000
				0x3212
				0x8619
				0x0
				0x0
				0x10
				0x2c
				0x0
				0x0
				0x0
				0x0>;
};

&kgsl_iommu {
	status = "ok";
	vdd-supply = <&gdsc_oxili_cx>;
	qcom,alt-vdd-supply = <&gdsc_oxili_gx>;
	qcom,iommu-enable-halt;

	qcom,iommu-bfb-regs =  <0x204c
				0x2514
				0x2540
				0x256c
				0x20ac
				0x215c
				0x220c
				0x22bc
				0x2314
				0x2394
				0x2414
				0x2494
				0x2008
				0x2600
				0x2604
				0x2608
				0x260c
				0x2610
				0x2614
				0x2618
				0x261c
				0x2620
				0x2624
				0x2628
				0x262c>;

	qcom,iommu-bfb-data =  <0x3
				0x8
				0x10
				0x0
				0x0
				0x0
				0x20
				0x0
				0x0
				0x1
				0x101
				0x0
				0x0
				0x7
				0x4
				0x8
				0x14
				0x0
				0x0
				0xc
				0x6c
				0x0
				0x8
				0x10
				0x0>;
};

&vfe_iommu {
	status = "ok";
	vdd-supply = <&gdsc_vfe>;
	qcom,iommu-enable-halt;

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

	qcom,iommu-bfb-data =  <0xffffff
				0x4
				0x8
				0x0
				0x0
				0x18
				0x78
				0x0
				0x3000
				0x3000
				0xd018
				0x0
				0x0
				0x0
				0x0
				0x0
				0x0>;
};
+1 −0
Original line number Diff line number Diff line
@@ -28,6 +28,7 @@

/include/ "msm-gdsc.dtsi"
/include/ "msmsamarium-ion.dtsi"
/include/ "msmsamarium-iommu.dtsi"
/include/ "msmsamarium-smp2p.dtsi"
/include/ "msmsamarium-pm.dtsi"
/include/ "msmsamarium-coresight.dtsi"