blob: d497259b57ab7f3fc7d2fac02a941933284ed40b [file] [log] [blame]
Olav Haugan54166782013-01-28 16:59:51 -08001/* Copyright (c) 2012-2013, The Linux Foundation. All rights reserved.
Olav Haugan9c255522012-11-16 16:43:17 -08002 *
3 * This program is free software; you can redistribute it and/or modify
4 * it under the terms of the GNU General Public License version 2 and
5 * only version 2 as published by the Free Software Foundation.
6 *
7 * This program is distributed in the hope that it will be useful,
8 * but WITHOUT ANY WARRANTY; without even the implied warranty of
9 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
10 * GNU General Public License for more details.
11 */
12
Stepan Moskovchenko7d8cdcaa2013-04-25 17:10:55 -070013&soc {
Olav Haugan54166782013-01-28 16:59:51 -080014 jpeg_iommu: qcom,iommu@fda64000 {
Olav Haugan0e22c482013-01-28 17:39:36 -080015 compatible = "qcom,msm-smmu-v1";
Olav Haugan9c255522012-11-16 16:43:17 -080016 #address-cells = <1>;
17 #size-cells = <1>;
18 ranges;
Olav Haugan54166782013-01-28 16:59:51 -080019 reg = <0xfda64000 0x10000>;
20 reg-names = "iommu_base";
21 interrupts = <0 67 0>;
22 vdd-supply = <&gdsc_jpeg>;
23 qcom,needs-alt-core-clk;
24 label = "jpeg_iommu";
Olav Haugan9c255522012-11-16 16:43:17 -080025 status = "disabled";
26
Olav Hauganf7674ed2013-01-24 17:07:13 -080027 qcom,iommu-pmu-ngroups = <1>;
28 qcom,iommu-pmu-ncounters = <8>;
29 qcom,iommu-pmu-event-classes = <0x00
30 0x01
31 0x08
32 0x09
33 0x0A
34 0x10
35 0x11
36 0x12
37 0x80
38 0x81
39 0x82
40 0x83
41 0x90
42 0x91
43 0x92
44 0xb0
45 0xb1>;
46
Olav Haugan54166782013-01-28 16:59:51 -080047 qcom,iommu-bfb-regs = <0x204c
48 0x2050
49 0x2514
50 0x2540
51 0x256c
52 0x2314
53 0x2394
54 0x2414
55 0x20ac
56 0x215c
57 0x220c
58 0x2008
59 0x200c
60 0x2010
61 0x2014>;
62
63 qcom,iommu-bfb-data = <0x0000ffff
64 0x0
65 0x4
66 0x4
67 0x0
68 0x0
69 0x10
70 0x50
71 0x0
72 0x10
73 0x20
74 0x0
75 0x0
76 0x0
77 0x0>;
78
79 qcom,iommu-ctx@fda6c000 {
Olav Hauganbca3ded2013-05-10 11:19:34 -070080 compatible = "qcom,msm-smmu-v1-ctx";
Olav Haugan54166782013-01-28 16:59:51 -080081 reg = <0xfda6c000 0x1000>;
82 interrupts = <0 70 0>;
83 qcom,iommu-ctx-sids = <0>;
84 label = "jpeg_enc0";
Olav Haugan9c255522012-11-16 16:43:17 -080085 };
86
Olav Haugan54166782013-01-28 16:59:51 -080087 qcom,iommu-ctx@fda6d000 {
Olav Hauganbca3ded2013-05-10 11:19:34 -070088 compatible = "qcom,msm-smmu-v1-ctx";
Olav Haugan54166782013-01-28 16:59:51 -080089 reg = <0xfda6d000 0x1000>;
90 interrupts = <0 70 0>;
91 qcom,iommu-ctx-sids = <1>;
92 label = "jpeg_enc1";
Olav Haugan9c255522012-11-16 16:43:17 -080093 };
94
Olav Haugan54166782013-01-28 16:59:51 -080095 qcom,iommu-ctx@fda6e000 {
Olav Hauganbca3ded2013-05-10 11:19:34 -070096 compatible = "qcom,msm-smmu-v1-ctx";
Olav Haugan54166782013-01-28 16:59:51 -080097 reg = <0xfda6e000 0x1000>;
98 interrupts = <0 70 0>;
99 qcom,iommu-ctx-sids = <2>;
100 label = "jpeg_dec";
Olav Haugan9c255522012-11-16 16:43:17 -0800101 };
102 };
103
Olav Haugan54166782013-01-28 16:59:51 -0800104 mdp_iommu: qcom,iommu@fd928000 {
Olav Haugan0e22c482013-01-28 17:39:36 -0800105 compatible = "qcom,msm-smmu-v1";
Olav Haugan9c255522012-11-16 16:43:17 -0800106 #address-cells = <1>;
107 #size-cells = <1>;
108 ranges;
Olav Haugan54166782013-01-28 16:59:51 -0800109 reg = <0xfd928000 0x10000>;
110 reg-names = "iommu_base";
111 interrupts = <0 73 0>;
112 vdd-supply = <&gdsc_mdss>;
113 qcom,iommu-secure-id = <1>;
114 label = "mdp_iommu";
Olav Haugan9c255522012-11-16 16:43:17 -0800115 status = "disabled";
116
Olav Hauganf7674ed2013-01-24 17:07:13 -0800117 qcom,iommu-pmu-ngroups = <1>;
118 qcom,iommu-pmu-ncounters = <8>;
119 qcom,iommu-pmu-event-classes = <0x00
120 0x01
121 0x08
122 0x09
123 0x0A
124 0x10
125 0x11
126 0x12
127 0x80
128 0x81
129 0x82
130 0x83
131 0x90
132 0x91
133 0x92
134 0xb0
135 0xb1>;
136
Olav Haugan54166782013-01-28 16:59:51 -0800137 qcom,iommu-bfb-regs = <0x204c
138 0x2050
139 0x2514
140 0x2540
141 0x256c
142 0x20ac
143 0x215c
144 0x220c
145 0x2314
146 0x2394
147 0x2414
148 0x2008
149 0x200c
150 0x2010
151 0x2014
152 0x2018
153 0x201c
154 0x2020>;
155
156 qcom,iommu-bfb-data = <0xffffffff
157 0x0
158 0x00000004
159 0x00000010
160 0x00000000
161 0x00000000
162 0x00000034
163 0x00000044
164 0x0
165 0x34
166 0x74
167 0x0
168 0x0
169 0x0
170 0x0
171 0x0
172 0x0
173 0x0>;
174
175 qcom,iommu-ctx@fd930000 {
Olav Hauganbca3ded2013-05-10 11:19:34 -0700176 compatible = "qcom,msm-smmu-v1-ctx";
Olav Haugan54166782013-01-28 16:59:51 -0800177 reg = <0xfd930000 0x1000>;
178 interrupts = <0 47 0>;
179 qcom,iommu-ctx-sids = <0>;
180 label = "mdp_0";
Olav Haugan9c255522012-11-16 16:43:17 -0800181 };
182
Olav Haugan54166782013-01-28 16:59:51 -0800183 qcom,iommu-ctx@fd931000 {
Olav Hauganbca3ded2013-05-10 11:19:34 -0700184 compatible = "qcom,msm-smmu-v1-ctx";
Olav Haugan54166782013-01-28 16:59:51 -0800185 reg = <0xfd931000 0x1000>;
Mitchel Humpherys20c9a212013-05-21 17:52:12 -0700186 interrupts = <0 47 0>, <0 46 0>;
Olav Haugan54166782013-01-28 16:59:51 -0800187 qcom,iommu-ctx-sids = <1>;
188 label = "mdp_1";
189 qcom,secure-context;
Olav Haugan9c255522012-11-16 16:43:17 -0800190 };
Olav Haugane00b1742013-01-21 18:25:11 -0800191
192 qcom,iommu-ctx@fd932000 {
Olav Hauganbca3ded2013-05-10 11:19:34 -0700193 compatible = "qcom,msm-smmu-v1-ctx";
Olav Haugane00b1742013-01-21 18:25:11 -0800194 reg = <0xfd932000 0x1000>;
Mitchel Humpherys20c9a212013-05-21 17:52:12 -0700195 interrupts = <0 47 0>, <0 46 0>;
Olav Haugane00b1742013-01-21 18:25:11 -0800196 qcom,iommu-ctx-sids = <>;
197 label = "mdp_2";
198 qcom,secure-context;
199 };
Olav Haugan9c255522012-11-16 16:43:17 -0800200 };
201
Olav Haugan54166782013-01-28 16:59:51 -0800202 venus_iommu: qcom,iommu@fdc84000 {
Olav Haugan0e22c482013-01-28 17:39:36 -0800203 compatible = "qcom,msm-smmu-v1";
Olav Haugan9c255522012-11-16 16:43:17 -0800204 #address-cells = <1>;
205 #size-cells = <1>;
206 ranges;
Olav Haugan54166782013-01-28 16:59:51 -0800207 reg = <0xfdc84000 0x10000
208 0xfdce0004 0x4>;
209 reg-names = "iommu_base", "clk_base";
210 interrupts = <0 45 0>;
211 vdd-supply = <&gdsc_venus>;
212 qcom,iommu-secure-id = <0>;
213 qcom,needs-alt-core-clk;
214 label = "venus_iommu";
Olav Haugan9c255522012-11-16 16:43:17 -0800215 status = "disabled";
216
Olav Hauganf7674ed2013-01-24 17:07:13 -0800217 qcom,iommu-pmu-ngroups = <1>;
218 qcom,iommu-pmu-ncounters = <8>;
219 qcom,iommu-pmu-event-classes = <0x00
220 0x01
221 0x08
222 0x09
223 0x0A
224 0x10
225 0x11
226 0x12
227 0x80
228 0x81
229 0x82
230 0x83
231 0x90
232 0x91
233 0x92
234 0xb0
235 0xb1>;
236
Olav Haugan54166782013-01-28 16:59:51 -0800237 qcom,iommu-bfb-regs = <0x204c
238 0x2050
239 0x2514
240 0x2540
241 0x256c
242 0x20ac
243 0x215c
244 0x220c
245 0x2314
246 0x2394
247 0x2414
248 0x2008
249 0x200c
250 0x2010
251 0x2014
252 0x2018
253 0x201c
254 0x2020
255 0x2024
256 0x2028
257 0x202c
258 0x2030
259 0x2034
260 0x2038>;
261
262 qcom,iommu-bfb-data = <0xffffffff
263 0xffffffff
264 0x00000004
265 0x00000008
266 0x00000000
267 0x00000000
268 0x00000094
269 0x000000b4
270 0x0
271 0x94
272 0x114
273 0x0
274 0x0
275 0x0
276 0x0
277 0x0
278 0x0
279 0x0
280 0x0
281 0x0
282 0x0
283 0x0
284 0x0
285 0x0>;
286
Olav Haugan7930a682013-01-29 13:28:06 -0800287 venus_ns: qcom,iommu-ctx@fdc8c000 {
Olav Hauganbca3ded2013-05-10 11:19:34 -0700288 compatible = "qcom,msm-smmu-v1-ctx";
Olav Haugan54166782013-01-28 16:59:51 -0800289 reg = <0xfdc8c000 0x1000>;
290 interrupts = <0 42 0>;
291 qcom,iommu-ctx-sids = <0 1 2 3 4 5>;
292 label = "venus_ns";
Olav Haugan9c255522012-11-16 16:43:17 -0800293 };
294
Olav Haugan7930a682013-01-29 13:28:06 -0800295 venus_cp: qcom,iommu-ctx@fdc8d000 {
Olav Hauganbca3ded2013-05-10 11:19:34 -0700296 compatible = "qcom,msm-smmu-v1-ctx";
Olav Haugan54166782013-01-28 16:59:51 -0800297 reg = <0xfdc8d000 0x1000>;
Mitchel Humpherys20c9a212013-05-21 17:52:12 -0700298 interrupts = <0 42 0>, <0 43 0>;
Olav Haugan54166782013-01-28 16:59:51 -0800299 qcom,iommu-ctx-sids = <0x80 0x81 0x82 0x83 0x84 0x85>;
300 label = "venus_cp";
301 qcom,secure-context;
302 };
303
Olav Haugan7930a682013-01-29 13:28:06 -0800304 venus_fw: qcom,iommu-ctx@fdc8e000 {
Olav Hauganbca3ded2013-05-10 11:19:34 -0700305 compatible = "qcom,msm-smmu-v1-ctx";
Olav Haugan54166782013-01-28 16:59:51 -0800306 reg = <0xfdc8e000 0x1000>;
Mitchel Humpherys20c9a212013-05-21 17:52:12 -0700307 interrupts = <0 42 0>, <0 43 0>;
Olav Haugan54166782013-01-28 16:59:51 -0800308 qcom,iommu-ctx-sids = <0xc0 0xc6>;
309 label = "venus_fw";
310 qcom,secure-context;
Olav Haugan9c255522012-11-16 16:43:17 -0800311 };
312 };
313
Olav Haugan54166782013-01-28 16:59:51 -0800314 kgsl_iommu: qcom,iommu@fdb10000 {
Olav Haugan0e22c482013-01-28 17:39:36 -0800315 compatible = "qcom,msm-smmu-v1";
Olav Haugan9c255522012-11-16 16:43:17 -0800316 #address-cells = <1>;
317 #size-cells = <1>;
318 ranges;
Olav Haugan54166782013-01-28 16:59:51 -0800319 reg = <0xfdb10000 0x10000>;
320 reg-names = "iommu_base";
321 interrupts = <0 38 0>;
322 vdd-supply = <&gdsc_oxili_cx>;
323 qcom,alt-vdd-supply = <&gdsc_oxili_gx>;
324 qcom,needs-alt-core-clk;
325 label = "kgsl_iommu";
Olav Haugan9c255522012-11-16 16:43:17 -0800326 status = "disabled";
327
Olav Hauganf7674ed2013-01-24 17:07:13 -0800328 qcom,iommu-pmu-ngroups = <1>;
329 qcom,iommu-pmu-ncounters = <8>;
330 qcom,iommu-pmu-event-classes = <0x00
331 0x01
332 0x08
333 0x09
334 0x0A
335 0x10
336 0x11
337 0x12
338 0x80
339 0x81
340 0x82
341 0x83
342 0x90
343 0x91
344 0x92
345 0xb0
346 0xb1>;
347
Olav Haugan54166782013-01-28 16:59:51 -0800348 qcom,iommu-bfb-regs = <0x204c
349 0x2050
350 0x2514
351 0x2540
352 0x256c
353 0x20ac
354 0x215c
355 0x220c
356 0x2314
357 0x2394
358 0x2414
359 0x2008>;
Olav Haugan9c255522012-11-16 16:43:17 -0800360
Olav Haugan54166782013-01-28 16:59:51 -0800361 qcom,iommu-bfb-data = <0x00000003
362 0x0
363 0x00000004
364 0x00000010
365 0x00000000
366 0x00000000
367 0x00000001
368 0x00000021
369 0x0
370 0x1
371 0x81
372 0x0>;
Olav Haugan9c255522012-11-16 16:43:17 -0800373
Olav Haugan54166782013-01-28 16:59:51 -0800374 qcom,iommu-ctx@fdb18000 {
Olav Hauganbca3ded2013-05-10 11:19:34 -0700375 compatible = "qcom,msm-smmu-v1-ctx";
Olav Haugan54166782013-01-28 16:59:51 -0800376 reg = <0xfdb18000 0x1000>;
Olav Haugan9c255522012-11-16 16:43:17 -0800377 interrupts = <0 241 0>;
Olav Haugan54166782013-01-28 16:59:51 -0800378 qcom,iommu-ctx-sids = <0>;
Olav Haugan9c255522012-11-16 16:43:17 -0800379 label = "gfx3d_user";
380 };
381
Olav Haugan54166782013-01-28 16:59:51 -0800382 qcom,iommu-ctx@fdb19000 {
Olav Hauganbca3ded2013-05-10 11:19:34 -0700383 compatible = "qcom,msm-smmu-v1-ctx";
Olav Haugan54166782013-01-28 16:59:51 -0800384 reg = <0xfdb19000 0x1000>;
Olav Haugan9c255522012-11-16 16:43:17 -0800385 interrupts = <0 241 0>;
Olav Haugan54166782013-01-28 16:59:51 -0800386 qcom,iommu-ctx-sids = <1>;
Olav Haugan9c255522012-11-16 16:43:17 -0800387 label = "gfx3d_priv";
388 };
Olav Haugan9c255522012-11-16 16:43:17 -0800389 };
390
Olav Haugan54166782013-01-28 16:59:51 -0800391 vfe_iommu: qcom,iommu@fda44000 {
Olav Haugan0e22c482013-01-28 17:39:36 -0800392 compatible = "qcom,msm-smmu-v1";
Olav Haugan9c255522012-11-16 16:43:17 -0800393 #address-cells = <1>;
394 #size-cells = <1>;
395 ranges;
Olav Haugan54166782013-01-28 16:59:51 -0800396 reg = <0xfda44000 0x10000>;
397 reg-names = "iommu_base";
398 interrupts = <0 62 0>;
399 vdd-supply = <&gdsc_vfe>;
400 qcom,needs-alt-core-clk;
Olav Haugan9c255522012-11-16 16:43:17 -0800401 label = "vfe_iommu";
402 status = "disabled";
403
Olav Hauganf7674ed2013-01-24 17:07:13 -0800404 qcom,iommu-pmu-ngroups = <1>;
405 qcom,iommu-pmu-ncounters = <8>;
406 qcom,iommu-pmu-event-classes = <0x00
407 0x01
408 0x08
409 0x09
410 0x0A
411 0x10
412 0x11
413 0x12
414 0x80
415 0x81
416 0x82
417 0x83
418 0x90
419 0x91
420 0x92
421 0xb0
422 0xb1>;
423
Olav Haugan54166782013-01-28 16:59:51 -0800424 qcom,iommu-bfb-regs = <0x204c
425 0x2050
426 0x2514
427 0x2540
428 0x256c
429 0x2314
430 0x2394
431 0x2414
432 0x20ac
433 0x215c
434 0x220c
435 0x2008
436 0x200c
437 0x2010
438 0x2014
439 0x2018
440 0x201c
441 0x2020>;
442
443 qcom,iommu-bfb-data = <0xffffffff
444 0x00000000
445 0x4
446 0x8
447 0x0
448 0x0
449 0x20
450 0x78
451 0x0
452 0x20
453 0x36
454 0x0
455 0x0
456 0x0
457 0x0
458 0x0
459 0x0
460 0x0>;
461
462 qcom,iommu-ctx@fda4c000 {
Olav Hauganbca3ded2013-05-10 11:19:34 -0700463 compatible = "qcom,msm-smmu-v1-ctx";
Olav Haugan54166782013-01-28 16:59:51 -0800464 reg = <0xfda4c000 0x1000>;
Olav Haugan9c255522012-11-16 16:43:17 -0800465 interrupts = <0 65 0>;
Olav Haugan54166782013-01-28 16:59:51 -0800466 qcom,iommu-ctx-sids = <0>;
Olav Haugan9c255522012-11-16 16:43:17 -0800467 label = "vfe0";
468 };
469
Olav Haugan54166782013-01-28 16:59:51 -0800470 qcom,iommu-ctx@fda4d000 {
Olav Hauganbca3ded2013-05-10 11:19:34 -0700471 compatible = "qcom,msm-smmu-v1-ctx";
Olav Haugan54166782013-01-28 16:59:51 -0800472 reg = <0xfda4d000 0x1000>;
Olav Haugan9c255522012-11-16 16:43:17 -0800473 interrupts = <0 65 0>;
Olav Haugan54166782013-01-28 16:59:51 -0800474 qcom,iommu-ctx-sids = <1>;
Olav Haugan9c255522012-11-16 16:43:17 -0800475 label = "vfe1";
476 };
Olav Haugan54166782013-01-28 16:59:51 -0800477
478 qcom,iommu-ctx@fda4e000 {
Olav Hauganbca3ded2013-05-10 11:19:34 -0700479 compatible = "qcom,msm-smmu-v1-ctx";
Olav Haugan54166782013-01-28 16:59:51 -0800480 reg = <0xfda4e000 0x1000>;
481 interrupts = <0 65 0>;
482 qcom,iommu-ctx-sids = <2>;
483 label = "cpp";
484 };
Olav Haugan9c255522012-11-16 16:43:17 -0800485 };
486};