M7350/kernel/arch/arm/boot/dts/msm-iommu-v1.dtsi

515 lines
9.2 KiB
Plaintext
Raw Normal View History

2024-09-09 08:52:07 +00:00
/* 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";
};
};
};