blob: 71dcc6a84317e33ba772e2ea98b7de14cc81a626 [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
13/ {
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 {
80 reg = <0xfda6c000 0x1000>;
81 interrupts = <0 70 0>;
82 qcom,iommu-ctx-sids = <0>;
83 label = "jpeg_enc0";
Olav Haugan9c255522012-11-16 16:43:17 -080084 };
85
Olav Haugan54166782013-01-28 16:59:51 -080086 qcom,iommu-ctx@fda6d000 {
87 reg = <0xfda6d000 0x1000>;
88 interrupts = <0 70 0>;
89 qcom,iommu-ctx-sids = <1>;
90 label = "jpeg_enc1";
Olav Haugan9c255522012-11-16 16:43:17 -080091 };
92
Olav Haugan54166782013-01-28 16:59:51 -080093 qcom,iommu-ctx@fda6e000 {
94 reg = <0xfda6e000 0x1000>;
95 interrupts = <0 70 0>;
96 qcom,iommu-ctx-sids = <2>;
97 label = "jpeg_dec";
Olav Haugan9c255522012-11-16 16:43:17 -080098 };
99 };
100
Olav Haugan54166782013-01-28 16:59:51 -0800101 mdp_iommu: qcom,iommu@fd928000 {
Olav Haugan0e22c482013-01-28 17:39:36 -0800102 compatible = "qcom,msm-smmu-v1";
Olav Haugan9c255522012-11-16 16:43:17 -0800103 #address-cells = <1>;
104 #size-cells = <1>;
105 ranges;
Olav Haugan54166782013-01-28 16:59:51 -0800106 reg = <0xfd928000 0x10000>;
107 reg-names = "iommu_base";
108 interrupts = <0 73 0>;
109 vdd-supply = <&gdsc_mdss>;
110 qcom,iommu-secure-id = <1>;
111 label = "mdp_iommu";
Olav Haugan9c255522012-11-16 16:43:17 -0800112 status = "disabled";
113
Olav Hauganf7674ed2013-01-24 17:07:13 -0800114 qcom,iommu-pmu-ngroups = <1>;
115 qcom,iommu-pmu-ncounters = <8>;
116 qcom,iommu-pmu-event-classes = <0x00
117 0x01
118 0x08
119 0x09
120 0x0A
121 0x10
122 0x11
123 0x12
124 0x80
125 0x81
126 0x82
127 0x83
128 0x90
129 0x91
130 0x92
131 0xb0
132 0xb1>;
133
Olav Haugan54166782013-01-28 16:59:51 -0800134 qcom,iommu-bfb-regs = <0x204c
135 0x2050
136 0x2514
137 0x2540
138 0x256c
139 0x20ac
140 0x215c
141 0x220c
142 0x2314
143 0x2394
144 0x2414
145 0x2008
146 0x200c
147 0x2010
148 0x2014
149 0x2018
150 0x201c
151 0x2020>;
152
153 qcom,iommu-bfb-data = <0xffffffff
154 0x0
155 0x00000004
156 0x00000010
157 0x00000000
158 0x00000000
159 0x00000034
160 0x00000044
161 0x0
162 0x34
163 0x74
164 0x0
165 0x0
166 0x0
167 0x0
168 0x0
169 0x0
170 0x0>;
171
172 qcom,iommu-ctx@fd930000 {
173 reg = <0xfd930000 0x1000>;
174 interrupts = <0 47 0>;
175 qcom,iommu-ctx-sids = <0>;
176 label = "mdp_0";
Olav Haugan9c255522012-11-16 16:43:17 -0800177 };
178
Olav Haugan54166782013-01-28 16:59:51 -0800179 qcom,iommu-ctx@fd931000 {
180 reg = <0xfd931000 0x1000>;
181 interrupts = <0 47 0>;
182 qcom,iommu-ctx-sids = <1>;
183 label = "mdp_1";
184 qcom,secure-context;
Olav Haugan9c255522012-11-16 16:43:17 -0800185 };
Olav Haugane00b1742013-01-21 18:25:11 -0800186
187 qcom,iommu-ctx@fd932000 {
188 reg = <0xfd932000 0x1000>;
189 interrupts = <0 47 0>;
190 qcom,iommu-ctx-sids = <>;
191 label = "mdp_2";
192 qcom,secure-context;
193 };
Olav Haugan9c255522012-11-16 16:43:17 -0800194 };
195
Olav Haugan54166782013-01-28 16:59:51 -0800196 venus_iommu: qcom,iommu@fdc84000 {
Olav Haugan0e22c482013-01-28 17:39:36 -0800197 compatible = "qcom,msm-smmu-v1";
Olav Haugan9c255522012-11-16 16:43:17 -0800198 #address-cells = <1>;
199 #size-cells = <1>;
200 ranges;
Olav Haugan54166782013-01-28 16:59:51 -0800201 reg = <0xfdc84000 0x10000
202 0xfdce0004 0x4>;
203 reg-names = "iommu_base", "clk_base";
204 interrupts = <0 45 0>;
205 vdd-supply = <&gdsc_venus>;
206 qcom,iommu-secure-id = <0>;
207 qcom,needs-alt-core-clk;
208 label = "venus_iommu";
Olav Haugan9c255522012-11-16 16:43:17 -0800209 status = "disabled";
210
Olav Hauganf7674ed2013-01-24 17:07:13 -0800211 qcom,iommu-pmu-ngroups = <1>;
212 qcom,iommu-pmu-ncounters = <8>;
213 qcom,iommu-pmu-event-classes = <0x00
214 0x01
215 0x08
216 0x09
217 0x0A
218 0x10
219 0x11
220 0x12
221 0x80
222 0x81
223 0x82
224 0x83
225 0x90
226 0x91
227 0x92
228 0xb0
229 0xb1>;
230
Olav Haugan54166782013-01-28 16:59:51 -0800231 qcom,iommu-bfb-regs = <0x204c
232 0x2050
233 0x2514
234 0x2540
235 0x256c
236 0x20ac
237 0x215c
238 0x220c
239 0x2314
240 0x2394
241 0x2414
242 0x2008
243 0x200c
244 0x2010
245 0x2014
246 0x2018
247 0x201c
248 0x2020
249 0x2024
250 0x2028
251 0x202c
252 0x2030
253 0x2034
254 0x2038>;
255
256 qcom,iommu-bfb-data = <0xffffffff
257 0xffffffff
258 0x00000004
259 0x00000008
260 0x00000000
261 0x00000000
262 0x00000094
263 0x000000b4
264 0x0
265 0x94
266 0x114
267 0x0
268 0x0
269 0x0
270 0x0
271 0x0
272 0x0
273 0x0
274 0x0
275 0x0
276 0x0
277 0x0
278 0x0
279 0x0>;
280
Olav Haugan7930a682013-01-29 13:28:06 -0800281 venus_ns: qcom,iommu-ctx@fdc8c000 {
Olav Haugan54166782013-01-28 16:59:51 -0800282 reg = <0xfdc8c000 0x1000>;
283 interrupts = <0 42 0>;
284 qcom,iommu-ctx-sids = <0 1 2 3 4 5>;
285 label = "venus_ns";
Olav Haugan9c255522012-11-16 16:43:17 -0800286 };
287
Olav Haugan7930a682013-01-29 13:28:06 -0800288 venus_cp: qcom,iommu-ctx@fdc8d000 {
Olav Haugan54166782013-01-28 16:59:51 -0800289 reg = <0xfdc8d000 0x1000>;
290 interrupts = <0 42 0>;
291 qcom,iommu-ctx-sids = <0x80 0x81 0x82 0x83 0x84 0x85>;
292 label = "venus_cp";
293 qcom,secure-context;
294 };
295
Olav Haugan7930a682013-01-29 13:28:06 -0800296 venus_fw: qcom,iommu-ctx@fdc8e000 {
Olav Haugan54166782013-01-28 16:59:51 -0800297 reg = <0xfdc8e000 0x1000>;
298 interrupts = <0 42 0>;
299 qcom,iommu-ctx-sids = <0xc0 0xc6>;
300 label = "venus_fw";
301 qcom,secure-context;
Olav Haugan9c255522012-11-16 16:43:17 -0800302 };
303 };
304
Olav Haugan54166782013-01-28 16:59:51 -0800305 kgsl_iommu: qcom,iommu@fdb10000 {
Olav Haugan0e22c482013-01-28 17:39:36 -0800306 compatible = "qcom,msm-smmu-v1";
Olav Haugan9c255522012-11-16 16:43:17 -0800307 #address-cells = <1>;
308 #size-cells = <1>;
309 ranges;
Olav Haugan54166782013-01-28 16:59:51 -0800310 reg = <0xfdb10000 0x10000>;
311 reg-names = "iommu_base";
312 interrupts = <0 38 0>;
313 vdd-supply = <&gdsc_oxili_cx>;
314 qcom,alt-vdd-supply = <&gdsc_oxili_gx>;
315 qcom,needs-alt-core-clk;
316 label = "kgsl_iommu";
Olav Haugan9c255522012-11-16 16:43:17 -0800317 status = "disabled";
318
Olav Hauganf7674ed2013-01-24 17:07:13 -0800319 qcom,iommu-pmu-ngroups = <1>;
320 qcom,iommu-pmu-ncounters = <8>;
321 qcom,iommu-pmu-event-classes = <0x00
322 0x01
323 0x08
324 0x09
325 0x0A
326 0x10
327 0x11
328 0x12
329 0x80
330 0x81
331 0x82
332 0x83
333 0x90
334 0x91
335 0x92
336 0xb0
337 0xb1>;
338
Olav Haugan54166782013-01-28 16:59:51 -0800339 qcom,iommu-bfb-regs = <0x204c
340 0x2050
341 0x2514
342 0x2540
343 0x256c
344 0x20ac
345 0x215c
346 0x220c
347 0x2314
348 0x2394
349 0x2414
350 0x2008>;
Olav Haugan9c255522012-11-16 16:43:17 -0800351
Olav Haugan54166782013-01-28 16:59:51 -0800352 qcom,iommu-bfb-data = <0x00000003
353 0x0
354 0x00000004
355 0x00000010
356 0x00000000
357 0x00000000
358 0x00000001
359 0x00000021
360 0x0
361 0x1
362 0x81
363 0x0>;
Olav Haugan9c255522012-11-16 16:43:17 -0800364
Olav Haugan54166782013-01-28 16:59:51 -0800365 qcom,iommu-ctx@fdb18000 {
366 reg = <0xfdb18000 0x1000>;
Olav Haugan9c255522012-11-16 16:43:17 -0800367 interrupts = <0 241 0>;
Olav Haugan54166782013-01-28 16:59:51 -0800368 qcom,iommu-ctx-sids = <0>;
Olav Haugan9c255522012-11-16 16:43:17 -0800369 label = "gfx3d_user";
370 };
371
Olav Haugan54166782013-01-28 16:59:51 -0800372 qcom,iommu-ctx@fdb19000 {
373 reg = <0xfdb19000 0x1000>;
Olav Haugan9c255522012-11-16 16:43:17 -0800374 interrupts = <0 241 0>;
Olav Haugan54166782013-01-28 16:59:51 -0800375 qcom,iommu-ctx-sids = <1>;
Olav Haugan9c255522012-11-16 16:43:17 -0800376 label = "gfx3d_priv";
377 };
Olav Haugan9c255522012-11-16 16:43:17 -0800378 };
379
Olav Haugan54166782013-01-28 16:59:51 -0800380 vfe_iommu: qcom,iommu@fda44000 {
Olav Haugan0e22c482013-01-28 17:39:36 -0800381 compatible = "qcom,msm-smmu-v1";
Olav Haugan9c255522012-11-16 16:43:17 -0800382 #address-cells = <1>;
383 #size-cells = <1>;
384 ranges;
Olav Haugan54166782013-01-28 16:59:51 -0800385 reg = <0xfda44000 0x10000>;
386 reg-names = "iommu_base";
387 interrupts = <0 62 0>;
388 vdd-supply = <&gdsc_vfe>;
389 qcom,needs-alt-core-clk;
Olav Haugan9c255522012-11-16 16:43:17 -0800390 label = "vfe_iommu";
391 status = "disabled";
392
Olav Hauganf7674ed2013-01-24 17:07:13 -0800393 qcom,iommu-pmu-ngroups = <1>;
394 qcom,iommu-pmu-ncounters = <8>;
395 qcom,iommu-pmu-event-classes = <0x00
396 0x01
397 0x08
398 0x09
399 0x0A
400 0x10
401 0x11
402 0x12
403 0x80
404 0x81
405 0x82
406 0x83
407 0x90
408 0x91
409 0x92
410 0xb0
411 0xb1>;
412
Olav Haugan54166782013-01-28 16:59:51 -0800413 qcom,iommu-bfb-regs = <0x204c
414 0x2050
415 0x2514
416 0x2540
417 0x256c
418 0x2314
419 0x2394
420 0x2414
421 0x20ac
422 0x215c
423 0x220c
424 0x2008
425 0x200c
426 0x2010
427 0x2014
428 0x2018
429 0x201c
430 0x2020>;
431
432 qcom,iommu-bfb-data = <0xffffffff
433 0x00000000
434 0x4
435 0x8
436 0x0
437 0x0
438 0x20
439 0x78
440 0x0
441 0x20
442 0x36
443 0x0
444 0x0
445 0x0
446 0x0
447 0x0
448 0x0
449 0x0>;
450
451 qcom,iommu-ctx@fda4c000 {
452 reg = <0xfda4c000 0x1000>;
Olav Haugan9c255522012-11-16 16:43:17 -0800453 interrupts = <0 65 0>;
Olav Haugan54166782013-01-28 16:59:51 -0800454 qcom,iommu-ctx-sids = <0>;
Olav Haugan9c255522012-11-16 16:43:17 -0800455 label = "vfe0";
456 };
457
Olav Haugan54166782013-01-28 16:59:51 -0800458 qcom,iommu-ctx@fda4d000 {
459 reg = <0xfda4d000 0x1000>;
Olav Haugan9c255522012-11-16 16:43:17 -0800460 interrupts = <0 65 0>;
Olav Haugan54166782013-01-28 16:59:51 -0800461 qcom,iommu-ctx-sids = <1>;
Olav Haugan9c255522012-11-16 16:43:17 -0800462 label = "vfe1";
463 };
Olav Haugan54166782013-01-28 16:59:51 -0800464
465 qcom,iommu-ctx@fda4e000 {
466 reg = <0xfda4e000 0x1000>;
467 interrupts = <0 65 0>;
468 qcom,iommu-ctx-sids = <2>;
469 label = "cpp";
470 };
Olav Haugan9c255522012-11-16 16:43:17 -0800471 };
472};