diff options
Diffstat (limited to 'arch/arm64/boot/dts/qcom/msm-iommu-v1.dtsi')
-rw-r--r-- | arch/arm64/boot/dts/qcom/msm-iommu-v1.dtsi | 1513 |
1 files changed, 1513 insertions, 0 deletions
diff --git a/arch/arm64/boot/dts/qcom/msm-iommu-v1.dtsi b/arch/arm64/boot/dts/qcom/msm-iommu-v1.dtsi new file mode 100644 index 00000000000..911d83c1092 --- /dev/null +++ b/arch/arm64/boot/dts/qcom/msm-iommu-v1.dtsi @@ -0,0 +1,1513 @@ +/* Copyright (c) 2012-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. + */ + +&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>, + <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,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>, + <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 = "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>, + <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 = <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>, + <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"; + 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>, + <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 = <19>; + 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 1>; + label = "vfe"; + }; + + qcom,iommu-ctx@fda4d000 { + compatible = "qcom,msm-smmu-v1-ctx"; + reg = <0xfda4d000 0x1000>; + interrupts = <0 65 0>; + qcom,iommu-ctx-sids = <2>; + label = "cpp"; + }; + + qcom,iommu-ctx@fda4e000 { + compatible = "qcom,msm-smmu-v1-ctx"; + reg = <0xfda4e000 0x1000>; + interrupts = <0 65 0>, <0 64 0>; + qcom,iommu-ctx-sids = <>; + label = "vfe_secure"; + qcom,secure-context; + }; + }; + + 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>, + <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 = <8>; + 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 + 0x2000 + 0x2008>; + + qcom,iommu-lpae-bfb-data = <0x3 + 0x0 + 0x4 + 0x4 + 0x0 + 0x5 + 0x0 + 0x1 + 0x0 + 0x0 + 0x40 + 0x44 + 0x3 + 0x0>; + + + copss_cb0: qcom,iommu-ctx@f9bcc000 { + compatible = "qcom,msm-smmu-v1-ctx"; + reg = <0xf9bcc000 0x1000>; + interrupts = <0 142 0>; + qcom,iommu-ctx-sids = <0>; + label = "copss_cb0"; + }; + + copss_cb1: qcom,iommu-ctx@f9bcd000 { + compatible = "qcom,msm-smmu-v1-ctx"; + reg = <0xf9bcd000 0x1000>; + interrupts = <0 142 0>; + qcom,iommu-ctx-sids = <1>; + label = "copss_cb1"; + }; + + copss_usb: qcom,iommu-ctx@f9bce000 { + compatible = "qcom,msm-smmu-v1-ctx"; + reg = <0xf9bce000 0x1000>; + interrupts = <0 142 0>; + qcom,iommu-ctx-sids = <2>; + label = "copss_usb"; + }; + + copss_cb3: qcom,iommu-ctx@f9bcf000 { + compatible = "qcom,msm-smmu-v1-ctx"; + reg = <0xf9bcf000 0x1000>; + interrupts = <0 142 0>; + qcom,iommu-ctx-sids = <3>; + label = "copss_cb3"; + }; + + copss_cb4: qcom,iommu-ctx@f9bd0000 { + compatible = "qcom,msm-smmu-v1-ctx"; + reg = <0xf9bd0000 0x1000>; + interrupts = <0 142 0>; + qcom,iommu-ctx-sids = <4>; + label = "copss_cb4"; + }; + + copss_cb5: qcom,iommu-ctx@f9bd1000 { + compatible = "qcom,msm-smmu-v1-ctx"; + reg = <0xf9bd1000 0x1000>; + interrupts = <0 142 0>; + qcom,iommu-ctx-sids = <5>; + label = "copss_cb5"; + }; + + copss_cb6: qcom,iommu-ctx@f9bd2000 { + compatible = "qcom,msm-smmu-v1-ctx"; + reg = <0xf9bd2000 0x1000>; + interrupts = <0 142 0>; + qcom,iommu-ctx-sids = <6>; + label = "copss_cb6"; + }; + + 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_cb7"; + }; + }; + + 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>, + <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 = <7>; + 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 + 0x2000 + 0x2014>; + + qcom,iommu-lpae-bfb-data = <0xffff + 0x0 + 0x4 + 0x10 + 0x0 + 0x0 + 0xf + 0x4b + 0x1e00 + 0x5a2d + 0x1e00 + 0x5a0f + 0x0 + 0x0 + 0x0 + 0x3 + 0x0>; + + + vpu_hlos: 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_hlos"; + }; + + vpu_cp: qcom,iommu-ctx@fdeed000 { + compatible = "qcom,msm-smmu-v1-ctx"; + reg = <0xfdeed000 0x1000>; + interrupts = <0 145 0>, <0 144 0>; + qcom,iommu-ctx-sids = <8 9>; + label = "vpu_cp"; + qcom,secure-context; + }; + + vpu_fw: qcom,iommu-ctx@fdeee000 { + compatible = "qcom,msm-smmu-v1-ctx"; + reg = <0xfdeee000 0x1000>; + interrupts = <0 145 0>, <0 144 0>; + qcom,iommu-ctx-sids = <5 7 15>; + label = "vpu_fw"; + qcom,secure-context; + }; + }; + + 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>, + <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 = <2>; + label = "lpass_qdsp_iommu"; + 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 + 0x2000 + 0x2008>; + + qcom,iommu-lpae-bfb-data = <0x3 + 0x0 + 0x4 + 0x4 + 0x0 + 0x20 + 0x0 + 0x10 + 0x0 + 0x0 + 0x15e + 0x19e + 0x3 + 0x0>; + + + lpass_q6_fw: qcom,iommu-ctx@fe05c000 { + compatible = "qcom,msm-smmu-v1-ctx"; + reg = <0xfe05c000 0x1000>; + interrupts = <0 265 0>, <0 203 0>; + qcom,iommu-ctx-sids = <0 15>; + label = "q6_fw"; + qcom,secure-context; + }; + + lpass_audio_shared: qcom,iommu-ctx@fe05d000 { + compatible = "qcom,msm-smmu-v1-ctx"; + reg = <0xfe05d000 0x1000>; + interrupts = <0 265 0>; + qcom,iommu-ctx-sids = <1>; + label = "audio_shared"; + }; + + lpass_q6_spare1: qcom,iommu-ctx@fe05e000 { + compatible = "qcom,msm-smmu-v1-ctx"; + reg = <0xfe05e000 0x1000>; + interrupts = <0 265 0>; + qcom,iommu-ctx-sids = <2>; + label = "q6_spare1"; + }; + + lpass_q6_spare2: qcom,iommu-ctx@fe05f000 { + compatible = "qcom,msm-smmu-v1-ctx"; + reg = <0xfe05f000 0x1000>; + interrupts = <0 265 0>; + qcom,iommu-ctx-sids = <3 4 5 6 7 8 9 10 11 12 13 14>; + label = "q6_spare2"; + }; + }; + + 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>, + <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 = <6>; + label = "lpass_core_iommu"; + 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 + 0x2000 + 0x2008>; + + qcom,iommu-lpae-bfb-data = <0x3 + 0x0 + 0x4 + 0x4 + 0x0 + 0xc + 0x0 + 0x4 + 0x0 + 0x0 + 0x40 + 0x50 + 0x3 + 0x0>; + + + lpass_core_image: qcom,iommu-ctx@fe06c000 { + compatible = "qcom,msm-smmu-v1-ctx"; + reg = <0xfe06c000 0x1000>; + interrupts = <0 267 0>, <0 180 0>; + qcom,iommu-ctx-sids = <11>; + label = "lpass_core_image"; + qcom,secure-context; + }; + + lpass_core_audio: qcom,iommu-ctx@fe06d000 { + compatible = "qcom,msm-smmu-v1-ctx"; + reg = <0xfe06d000 0x1000>; + interrupts = <0 267 0>; + qcom,iommu-ctx-sids = <12>; + label = "lpass_core_audio"; + }; + + lpass_core_slimbus: qcom,iommu-ctx@fe06e000 { + compatible = "qcom,msm-smmu-v1-ctx"; + reg = <0xfe06e000 0x1000>; + interrupts = <0 267 0>; + qcom,iommu-ctx-sids = <13>; + label = "lpass_core_slimbus"; + }; + }; + + 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>, + <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,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 + 0x2060>; + + qcom,iommu-bfb-data = <0x0ff + 0x00000004 + 0x00000008 + 0x0 + 0x0 + 0x00000008 + 0x00000028 + 0x0 + 0x001000 + 0x001000 + 0x003008 + 0x0 + 0x0 + 0x0 + 0x1555>; + + 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"; + }; + }; + + bcast_iommu: qcom,iommu@fc734000{ + compatible = "qcom,msm-smmu-v1"; + #address-cells = <1>; + #size-cells = <1>; + ranges; + reg = <0xfc734000 0x10000>; + reg-names = "iommu_base"; + interrupts = <0 279 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"; + label = "bcast_iommu"; + qcom,iommu-secure-id = <13>; + 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 + 0x2494 + 0x20ac + 0x215c + 0x220c + 0x22bc + 0x2008 + 0x200c + 0x2010 + 0x2014 + 0x2018 + 0x201c + 0x2020 + 0x2060>; + + qcom,iommu-bfb-data = <0xffffffff + 0x1 + 0x0000004 + 0x0000004 + 0x0 + 0x0 + 0x000055 + 0x0000d9 + 0x0 + 0x000aa00 + 0x0004200 + 0x000e821 + 0x0 + 0x0 + 0x0 + 0x0 + 0x0 + 0x0 + 0x0 + 0x0 + 0x1555>; + + bcast_cb0_hlos: qcom,iommu-ctx@fc73c000 { + compatible = "qcom,msm-smmu-v1-ctx"; + reg = <0xfc73c000 0x1000>; + interrupts = <0 276 0>; + qcom,iommu-ctx-sids = <0 1 2 3 4 5 6 7 + 8 9 10 11 12 13 14 15 + 16 17 18 19 20 21 22 23 + 24 25 26 27 28 29 30 31>; + label = "bcast_cb0_hlos"; + }; + + bcast_cb1_cpz: qcom,iommu-ctx@fc73d000 { + compatible = "qcom,msm-smmu-v1-ctx"; + reg = <0xfc73d000 0x1000>; + interrupts = <0 276 0>; + qcom,iommu-ctx-sids = <32 33 34 35 36 37 38 39 + 40 41 42 43 44 45 46 47 + 48 49 50 51 52 53 54 55 + 56 57 58 59 60 61 62>; + label = "bcast_cb1_cpz"; + qcom,secure-context; + }; + + bcast_cb2_demod: qcom,iommu-ctx@fc73e000 { + compatible = "qcom,msm-smmu-v1-ctx"; + reg = <0xfc73e000 0x1000>; + interrupts = <0 276 0>; + qcom,iommu-ctx-sids = <63>; + label = "bcast_cb2_demod"; + qcom,secure-context; + }; + + bcast_cb3_apz: qcom,iommu-ctx@fc73f000 { + compatible = "qcom,msm-smmu-v1-ctx"; + reg = <0xfc73f000 0x1000>; + interrupts = <0 276 0>; + qcom,iommu-ctx-sids = <>; + label = "bcast_cb3_apz"; + qcom,secure-context; + }; + }; + + fd_iommu: qcom,iommu@0xfd864000 { + compatible = "qcom,msm-smmu-v1"; + #address-cells = <1>; + #size-cells = <1>; + ranges; + reg = <0xfd864000 0x10000>; + reg-names = "iommu_base"; + interrupts = <0 314 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"; + label = "fd_iommu"; + 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 = <0x2000 + 0x204c + 0x2060 + 0x2514 + 0x2540 + 0x256c + 0x20ac + 0x215c + 0x220c + 0x22bc + 0x2314 + 0x2394 + 0x2414 + 0x2494 + 0x2008>; + + qcom,iommu-bfb-data = <0x00000003 + 0x00000007 + 0x1555 + 0x0 + 0x00000004 + 0x00000008 + 0x0601 + 0x1a0d + 0x0400 + 0x1a02 + 0x0 + 0x00000000 + 0x00000002 + 0x0000000a + 0x0>; + + qcom,iommu-ctx@fd86c000 { + compatible = "qcom,msm-smmu-v1-ctx"; + reg = <0xfd86c000 0x1000>; + interrupts = <0 318 0>; + qcom,iommu-ctx-sids = <0>; + label = "camera_fd"; + }; + + qcom,iommu-ctx@fd86d000 { + compatible = "qcom,msm-smmu-v1-ctx"; + reg = <0xfd86d000 0x1000>; + interrupts = <0 318 0>; + qcom,iommu-ctx-sids = <>; + label = "fd_1"; + }; + + qcom,iommu-ctx@fd86e000 { + compatible = "qcom,msm-smmu-v1-ctx"; + reg = <0xfd86e000 0x1000>; + interrupts = <0 318 0>; + qcom,iommu-ctx-sids = <>; + label = "fd_2"; + }; + }; + + cpp_iommu: qcom,iommu@0xfda84000 { + compatible = "qcom,msm-smmu-v1"; + #address-cells = <1>; + #size-cells = <1>; + ranges; + reg = <0xfda84000 0x10000>; + reg-names = "iommu_base"; + interrupts = <0 264 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"; + label = "cpp_iommu"; + 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 = <0x2000 + 0x204c + 0x2060 + 0x2514 + 0x2540 + 0x256c + 0x20ac + 0x215c + 0x220c + 0x22bc + 0x2314 + 0x2394 + 0x2414 + 0x2494 + 0x2008 + 0x200c>; + + qcom,iommu-bfb-data = <0x00000003 + 0x3ff + 0x1555 + 0x0 + 0x00000004 + 0x10 + 0x1400 + 0x164b2 + 0x1400 + 0x1640a + 0x0 + 0x00000000 + 0x0000000a + 0x32 + 0x0 + 0x0>; + + qcom,iommu-ctx@fda8c000 { + compatible = "qcom,msm-smmu-v1-ctx"; + reg = <0xfda8c000 0x1000>; + interrupts = <0 266 0>; + qcom,iommu-ctx-sids = <2>; + label = "cpp_0"; + }; + + qcom,iommu-ctx@fda8d000 { + compatible = "qcom,msm-smmu-v1-ctx"; + reg = <0xfda8d000 0x1000>; + interrupts = <0 266 0>; + qcom,iommu-ctx-sids = <>; + label = "cpp_1"; + }; + + qcom,iommu-ctx@fda8e000 { + compatible = "qcom,msm-smmu-v1-ctx"; + reg = <0xfda8e000 0x1000>; + interrupts = <0 266 0>; + qcom,iommu-ctx-sids = <>; + label = "cpp_2"; + }; + }; + +}; |