/* 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,active-only; 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,active-only; 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,active-only; 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,active-only; 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"; }; }; 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,active-only; 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"; }; }; };