summaryrefslogtreecommitdiff
path: root/arch/arm64/boot/dts/qcom/msm8994-iommu.dtsi
diff options
context:
space:
mode:
authorGeorgi Djakov <georgi.djakov@linaro.org>2015-02-06 12:55:47 +0200
committerGeorgi Djakov <georgi.djakov@linaro.org>2015-02-19 10:50:54 +0200
commit4d298831abf3c8264458dcae89296c25a7aaa820 (patch)
treebd7aab032e08d620cffb8bd79e9a1366708ae9bd /arch/arm64/boot/dts/qcom/msm8994-iommu.dtsi
parent1f9fc0ead9fef663407dfaf71318c9bdadcd4796 (diff)
ARM: dts: Add snapshot of MSM DT files
Signed-off-by: Georgi Djakov <georgi.djakov@linaro.org>
Diffstat (limited to 'arch/arm64/boot/dts/qcom/msm8994-iommu.dtsi')
-rw-r--r--arch/arm64/boot/dts/qcom/msm8994-iommu.dtsi429
1 files changed, 429 insertions, 0 deletions
diff --git a/arch/arm64/boot/dts/qcom/msm8994-iommu.dtsi b/arch/arm64/boot/dts/qcom/msm8994-iommu.dtsi
new file mode 100644
index 00000000000..2343cba52c0
--- /dev/null
+++ b/arch/arm64/boot/dts/qcom/msm8994-iommu.dtsi
@@ -0,0 +1,429 @@
+/* Copyright (c) 2014, 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"
+
+&soc {
+ mdp_iommu_8994: qcom,iommu@fd9cc000 {
+ compatible = "qcom,msm-smmu-v1";
+ #address-cells = <1>;
+ #size-cells = <1>;
+ ranges;
+ reg = <0xfd9cc000 0x10000>;
+ reg-names = "iommu_base";
+ interrupts = <0 73 0>,
+ <0 229 0>, <0 231 0>,
+ <0 230 0>, <0 232 0>;
+ interrupt-names = "pmon",
+ "global_cfg_NS_irq", "global_client_NS_irq",
+ "global_cfg_S_irq", "global_client_S_irq";
+ 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 = "ok";
+ vdd-supply = <&gdsc_mdss>;
+ clocks = <&clock_mmss clk_mdss_axi_clk>,
+ <&clock_mmss clk_mdss_ahb_clk>;
+ clock-names = "core_clk", "iface_clk";
+
+ 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 = <0x2000
+ 0x204c
+ 0x2060
+ 0x2514
+ 0x2540
+ 0x256c
+ 0x20ac
+ 0x215c
+ 0x220c
+ 0x22bc
+ 0x2314
+ 0x2394
+ 0x2414
+ 0x2494
+ 0x2008
+ 0x200c
+ 0x2010
+ 0x2014
+ 0x2018>;
+
+ qcom,iommu-bfb-data = <0x3
+ 0x7fffff
+ 0x1777
+ 0x0
+ 0x4
+ 0x10
+ 0x5000
+ 0x182c1
+ 0x5a1d
+ 0x1822d
+ 0x0
+ 0x0
+ 0x28
+ 0x68
+ 0x0
+ 0x0
+ 0x0
+ 0x0
+ 0x0>;
+
+ qcom,iommu-ctx@fd9d4000 {
+ compatible = "qcom,msm-smmu-v1-ctx";
+ reg = <0xfd9d4000 0x1000>;
+ interrupts = <0 47 0>;
+ qcom,iommu-ctx-sids = <0>;
+ label = "mdp_0";
+ };
+
+ qcom,iommu-ctx@fd9d5000 {
+ compatible = "qcom,msm-smmu-v1-ctx";
+ reg = <0xfd9d5000 0x1000>;
+ interrupts = <0 47 0>, <0 46 0>;
+ qcom,iommu-ctx-sids = <1>;
+ label = "mdp_1";
+ qcom,secure-context;
+ };
+
+ qcom,iommu-ctx@fd9d6000 {
+ compatible = "qcom,msm-smmu-v1-ctx";
+ reg = <0xfd9d6000 0x1000>;
+ interrupts = <0 47 0>, <0 46 0>;
+ qcom,iommu-ctx-sids = <>;
+ label = "mdp_2";
+ qcom,secure-context;
+ };
+ };
+};
+
+&venus_iommu {
+ status = "ok";
+ vdd-supply = <&gdsc_venus>;
+ clocks = <&clock_mmss clk_venus0_axi_clk>,
+ <&clock_mmss clk_venus0_ahb_clk>,
+ <&clock_mmss clk_venus0_vcodec0_clk>;
+ clock-names = "core_clk", "iface_clk", "alt_core_clk";
+
+ qcom,iommu-bfb-regs = <0x2000
+ 0x204c
+ 0x2060
+ 0x2514
+ 0x2540
+ 0x256c
+ 0x20ac
+ 0x215c
+ 0x220c
+ 0x22bc
+ 0x2314
+ 0x2394
+ 0x2414
+ 0x2494
+ 0x2008
+ 0x200c
+ 0x2010
+ 0x2014
+ 0x2018
+ 0x201c>;
+
+ qcom,iommu-bfb-data = <0x3
+ 0x7ffffff
+ 0x1555
+ 0x0
+ 0x4
+ 0x8
+ 0x13607
+ 0x140a0
+ 0x4000
+ 0x14020
+ 0x0
+ 0x0
+ 0x94
+ 0x114
+ 0x0
+ 0x0
+ 0x0
+ 0x0
+ 0x0
+ 0x0>;
+
+ venus_ns: qcom,iommu-ctx@fdc8c000 {
+ qcom,iommu-ctx-sids = <0x00 0x21 0x45 0x47 0x48 0x49 0x4a
+ 0x4b 0x4c 0x65 0x67 0x69 0x6a 0x6b>;
+ qcom,iommu-sid-mask = <0x0 0xf 0x0 0x0 0x0 0x0 0x0
+ 0x0 0x0 0x0 0x0 0x0 0x0 0x0>;
+ };
+
+ venus_sec_bitstream: qcom,iommu-ctx@fdc8d000 {
+ qcom,iommu-ctx-sids = <0x400 0x421 0x422 0x423 0x424 0x448
+ 0x44a 0x46a>;
+ label = "venus_sec_bitstream";
+ };
+
+ venus_fw: qcom,iommu-ctx@fdc8e000 {
+ qcom,iommu-ctx-sids = <0x600 0x606>;
+ };
+
+ 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 = <0x425 0x428 0x445 0x44c 0x465>;
+ 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 = <0x427 0x447 0x449 0x44b 0x467 0x469 0x46b
+ 0x500>;
+ label = "venus_sec_non_pixel";
+ qcom,secure-context;
+ };
+};
+
+&jpeg_iommu {
+ status = "ok";
+ vdd-supply = <&gdsc_jpeg>;
+ qcom,needs-alt-core-clk;
+ qcom,needs-alt-iface-clk;
+ clocks = <&clock_mmss clk_camss_jpeg_jpeg_axi_clk>,
+ <&clock_mmss clk_camss_jpeg_jpeg_ahb_clk>,
+ <&clock_mmss clk_camss_ahb_clk>,
+ <&clock_mmss clk_camss_top_ahb_clk>;
+ clock-names = "core_clk", "iface_clk", "alt_iface_clk", "alt_core_clk";
+
+ qcom,iommu-bfb-regs = <0x2000
+ 0x204c
+ 0x2060
+ 0x2514
+ 0x2540
+ 0x256c
+ 0x20ac
+ 0x215c
+ 0x220c
+ 0x22bc
+ 0x2314
+ 0x2394
+ 0x2414
+ 0x2494
+ 0x2008
+ 0x200c
+ 0x2010
+ 0x2014>;
+
+ qcom,iommu-bfb-data = <0x3
+ 0x3ffff
+ 0x1555
+ 0x0
+ 0x4
+ 0x4
+ 0x2000
+ 0xe673
+ 0x2c00
+ 0xe616
+ 0x0
+ 0x0
+ 0x10
+ 0x68
+ 0x0
+ 0x0
+ 0x0
+ 0x0>;
+
+ qcom,iommu-ctx@fda6f000 {
+ compatible = "qcom,msm-smmu-v1-ctx";
+ reg = <0xfda6f000 0x1000>;
+ interrupts = <0 70 0>;
+ qcom,iommu-ctx-sids = <3>;
+ label = "jpeg_dma";
+ };
+};
+
+&kgsl_iommu {
+ status = "ok";
+ vdd-supply = <&gdsc_oxili_cx>;
+ qcom,alt-vdd-supply = <&gdsc_oxili_gx>;
+ qcom,iommu-secure-id = <18>;
+ clocks = <&clock_mmss clk_oxili_gfx3d_clk>,
+ <&clock_mmss clk_oxilicx_ahb_clk>;
+ clock-names = "core_clk", "iface_clk";
+
+ qcom,iommu-bfb-regs = <0x2000
+ 0x204c
+ 0x2060
+ 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
+ 0x3
+ 0x1555
+ 0x0
+ 0x8
+ 0x10
+ 0x0
+ 0x120
+ 0x0
+ 0x20
+ 0x0
+ 0x0
+ 0x1
+ 0x101
+ 0x0
+ 0x7
+ 0x4
+ 0x20
+ 0x8
+ 0x14
+ 0x0
+ 0x0
+ 0xc
+ 0x6c
+ 0x0
+ 0x8
+ 0x10>;
+
+ qcom,iommu-ctx@fdb18000 {
+ qcom,iommu-ctx-sids = <0 1>;
+ };
+
+ qcom,iommu-ctx@fdb19000 {
+ qcom,iommu-ctx-sids = <>;
+ };
+
+ qcom,iommu-ctx@fdb1a000 {
+ qcom,iommu-ctx-sids = <2>;
+ interrupts = <0 241 0>, <0 240 0>;
+ qcom,secure-context;
+ };
+};
+
+&vfe_iommu {
+ status = "ok";
+ vdd-supply = <&gdsc_vfe>;
+ qcom,needs-alt-core-clk;
+ qcom,needs-alt-iface-clk;
+ clocks = <&clock_mmss clk_camss_vfe_vfe_axi_clk>,
+ <&clock_mmss clk_camss_vfe_vfe_ahb_clk>,
+ <&clock_mmss clk_camss_ahb_clk>,
+ <&clock_mmss clk_camss_top_ahb_clk>;
+ clock-names = "core_clk", "iface_clk", "alt_iface_clk", "alt_core_clk";
+
+ qcom,iommu-bfb-regs = <0x2000
+ 0x204c
+ 0x2060
+ 0x2514
+ 0x2540
+ 0x256c
+ 0x20ac
+ 0x215c
+ 0x220c
+ 0x22bc
+ 0x2314
+ 0x2394
+ 0x2414
+ 0x2494
+ 0x2008
+ 0x200c
+ 0x2010
+ 0x2014>;
+
+ qcom,iommu-bfb-data = <0x3
+ 0xfffff
+ 0x1555
+ 0x0
+ 0x4
+ 0x4
+ 0x2400
+ 0x8844
+ 0x2400
+ 0x8812
+ 0x0
+ 0x0
+ 0x12
+ 0x5a
+ 0x0
+ 0x0
+ 0x0
+ 0x0>;
+};
+
+&fd_iommu {
+ status = "ok";
+ vdd-supply = <&gdsc_fd>;
+ qcom,needs-alt-core-clk;
+ qcom,needs-alt-iface-clk;
+ clocks = <&clock_mmss clk_fd_axi_clk>,
+ <&clock_mmss clk_fd_ahb_clk>,
+ <&clock_mmss clk_fd_core_clk>,
+ <&clock_mmss clk_fd_core_uar_clk>;
+ clock-names = "core_clk", "iface_clk", "alt_core_clk", "alt_iface_clk";
+};
+
+&cpp_iommu {
+ status = "ok";
+ vdd-supply = <&gdsc_cpp>;
+ qcom,needs-alt-core-clk;
+ qcom,needs-alt-iface-clk;
+ clocks = <&clock_mmss clk_camss_vfe_cpp_axi_clk>,
+ <&clock_mmss clk_camss_vfe_cpp_ahb_clk>,
+ <&clock_mmss clk_camss_ahb_clk>,
+ <&clock_mmss clk_camss_top_ahb_clk>;
+ clock-names = "core_clk", "iface_clk", "alt_iface_clk", "alt_core_clk";
+};