blob: 401c2cd163019c942df8e29f549b9a5a95aff798 [file] [log] [blame]
Channagoud Kadabi6d4bb832016-06-30 23:40:05 -07001/* Copyright (c) 2016, The Linux Foundation. All rights reserved.
2 *
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#include "skeleton64.dtsi"
Deepak Katragadda22a9bbe2016-08-02 17:24:10 -070014#include <dt-bindings/clock/qcom,gcc-skunk.h>
15#include <dt-bindings/clock/qcom,camcc-skunk.h>
16#include <dt-bindings/clock/qcom,dispcc-skunk.h>
17#include <dt-bindings/clock/qcom,gpucc-skunk.h>
18#include <dt-bindings/clock/qcom,videocc-skunk.h>
David Collins5ab42b92016-07-07 17:38:51 -070019#include <dt-bindings/regulator/qcom,rpmh-regulator.h>
Satya Durga Srinivasu Prabhalafbddbe72016-09-12 11:40:11 -070020#include <dt-bindings/interrupt-controller/arm-gic.h>
Lina Iyer9f782ba2016-10-11 15:13:50 -060021#include <dt-bindings/soc/qcom,tcs-mbox.h>
Channagoud Kadabi6d4bb832016-06-30 23:40:05 -070022
23/ {
24 model = "Qualcomm Technologies, Inc. MSM SKUNK";
25 compatible = "qcom,msmskunk";
26 qcom,msm-id = <321 0x0>;
27 interrupt-parent = <&intc>;
28
Subhash Jadavani35c309a2016-12-19 13:58:57 -080029 aliases {
30 ufshc1 = &ufshc_mem; /* Embedded UFS slot */
31 ufshc2 = &ufshc_card; /* Removable UFS slot */
32 };
33
Channagoud Kadabi6d4bb832016-06-30 23:40:05 -070034 cpus {
35 #address-cells = <2>;
36 #size-cells = <0>;
37
38 CPU0: cpu@0 {
39 device_type = "cpu";
40 compatible = "arm,armv8";
41 reg = <0x0 0x0>;
42 enable-method = "spin-table";
43 cache-size = <0x8000>;
44 cpu-release-addr = <0x0 0x90000000>;
45 next-level-cache = <&L2_0>;
46 L2_0: l2-cache {
47 compatible = "arm,arch-cache";
48 cache-size = <0x20000>;
49 cache-level = <2>;
50 next-level-cache = <&L3_0>;
51
52 L3_0: l3-cache {
53 compatible = "arm,arch-cache";
54 cache-size = <0x200000>;
55 cache-level = <3>;
56 };
57 };
Kyle Yanf7f2ddf2016-11-22 17:07:38 -080058 L1_I_0: l1-icache {
59 compatible = "arm,arch-cache";
60 qcom,dump-size = <0x9000>;
61 };
62 L1_D_0: l1-dcache {
63 compatible = "arm,arch-cache";
64 qcom,dump-size = <0x9000>;
65 };
Channagoud Kadabi6d4bb832016-06-30 23:40:05 -070066 };
67
68 CPU1: cpu@1 {
69 device_type = "cpu";
70 compatible = "arm,armv8";
Channagoud Kadabi75c32072016-08-05 22:19:26 -070071 reg = <0x0 0x100>;
Channagoud Kadabi6d4bb832016-06-30 23:40:05 -070072 enable-method = "spin-table";
73 cache-size = <0x8000>;
74 cpu-release-addr = <0x0 0x90000000>;
75 next-level-cache = <&L2_1>;
76 L2_1: l2-cache {
77 compatible = "arm,arch-cache";
78 cache-size = <0x20000>;
79 cache-level = <2>;
80 next-level-cache = <&L3_0>;
81 };
Kyle Yanf7f2ddf2016-11-22 17:07:38 -080082 L1_I_1: l1-icache {
83 compatible = "arm,arch-cache";
84 qcom,dump-size = <0x9000>;
85 };
86 L1_D_1: l1-dcache {
87 compatible = "arm,arch-cache";
88 qcom,dump-size = <0x9000>;
89 };
Channagoud Kadabi6d4bb832016-06-30 23:40:05 -070090 };
91
92 CPU2: cpu@2 {
93 device_type = "cpu";
94 compatible = "arm,armv8";
Channagoud Kadabi75c32072016-08-05 22:19:26 -070095 reg = <0x0 0x200>;
Channagoud Kadabi6d4bb832016-06-30 23:40:05 -070096 enable-method = "spin-table";
97 cache-size = <0x8000>;
98 cpu-release-addr = <0x0 0x90000000>;
99 next-level-cache = <&L2_2>;
100 L2_2: l2-cache {
101 compatible = "arm,arch-cache";
102 cache-size = <0x20000>;
103 cache-level = <2>;
104 next-level-cache = <&L3_0>;
105 };
Kyle Yanf7f2ddf2016-11-22 17:07:38 -0800106 L1_I_2: l1-icache {
107 compatible = "arm,arch-cache";
108 qcom,dump-size = <0x9000>;
109 };
110 L1_D_2: l1-dcache {
111 compatible = "arm,arch-cache";
112 qcom,dump-size = <0x9000>;
113 };
Channagoud Kadabi6d4bb832016-06-30 23:40:05 -0700114 };
115
116 CPU3: cpu@3 {
117 device_type = "cpu";
118 compatible = "arm,armv8";
Channagoud Kadabi75c32072016-08-05 22:19:26 -0700119 reg = <0x0 0x300>;
Channagoud Kadabi6d4bb832016-06-30 23:40:05 -0700120 enable-method = "spin-table";
121 cache-size = <0x8000>;
122 cpu-release-addr = <0x0 0x90000000>;
123 next-level-cache = <&L2_3>;
124 L2_3: l2-cache {
125 compatible = "arm,arch-cache";
126 cache-size = <0x20000>;
127 cache-level = <2>;
128 next-level-cache = <&L3_0>;
129 };
Kyle Yanf7f2ddf2016-11-22 17:07:38 -0800130 L1_I_3: l1-icache {
131 compatible = "arm,arch-cache";
132 qcom,dump-size = <0x9000>;
133 };
134 L1_D_3: l1-dcache {
135 compatible = "arm,arch-cache";
136 qcom,dump-size = <0x9000>;
137 };
Channagoud Kadabi6d4bb832016-06-30 23:40:05 -0700138 };
139
140 CPU4: cpu@100 {
141 device_type = "cpu";
142 compatible = "arm,armv8";
Channagoud Kadabi75c32072016-08-05 22:19:26 -0700143 reg = <0x0 0x400>;
Channagoud Kadabi6d4bb832016-06-30 23:40:05 -0700144 enable-method = "spin-table";
145 cache-size = <0x20000>;
146 cpu-release-addr = <0x0 0x90000000>;
147 next-level-cache = <&L2_4>;
148 L2_4: l2-cache {
149 compatible = "arm,arch-cache";
150 cache-size = <0x40000>;
151 cache-level = <2>;
152 next-level-cache = <&L3_0>;
153 };
Kyle Yanf7f2ddf2016-11-22 17:07:38 -0800154 L1_I_100: l1-icache {
155 compatible = "arm,arch-cache";
156 qcom,dump-size = <0x12000>;
157 };
158 L1_D_100: l1-dcache {
159 compatible = "arm,arch-cache";
160 qcom,dump-size = <0x12000>;
161 };
Channagoud Kadabi6d4bb832016-06-30 23:40:05 -0700162 };
163
164 CPU5: cpu@101 {
165 device_type = "cpu";
166 compatible = "arm,armv8";
Channagoud Kadabi75c32072016-08-05 22:19:26 -0700167 reg = <0x0 0x500>;
Channagoud Kadabi6d4bb832016-06-30 23:40:05 -0700168 enable-method = "spin-table";
169 cache-size = <0x20000>;
170 cpu-release-addr = <0x0 0x90000000>;
171 next-level-cache = <&L2_5>;
172 L2_5: l2-cache {
173 compatible = "arm,arch-cache";
174 cache-size = <0x40000>;
175 cache-level = <2>;
176 next-level-cache = <&L3_0>;
177 };
Kyle Yanf7f2ddf2016-11-22 17:07:38 -0800178 L1_I_101: l1-icache {
179 compatible = "arm,arch-cache";
180 qcom,dump-size = <0x12000>;
181 };
182 L1_D_101: l1-dcache {
183 compatible = "arm,arch-cache";
184 qcom,dump-size = <0x12000>;
185 };
Channagoud Kadabi6d4bb832016-06-30 23:40:05 -0700186 };
187
188 CPU6: cpu@102 {
189 device_type = "cpu";
190 compatible = "arm,armv8";
Channagoud Kadabi75c32072016-08-05 22:19:26 -0700191 reg = <0x0 0x600>;
Channagoud Kadabi6d4bb832016-06-30 23:40:05 -0700192 enable-method = "spin-table";
193 cache-size = <0x20000>;
194 cpu-release-addr = <0x0 0x90000000>;
195 next-level-cache = <&L2_6>;
196 L2_6: l2-cache {
197 compatible = "arm,arch-cache";
198 cache-size = <0x40000>;
199 cache-level = <2>;
200 next-level-cache = <&L3_0>;
201 };
Kyle Yanf7f2ddf2016-11-22 17:07:38 -0800202 L1_I_102: l1-icache {
203 compatible = "arm,arch-cache";
204 qcom,dump-size = <0x12000>;
205 };
206 L1_D_102: l1-dcache {
207 compatible = "arm,arch-cache";
208 qcom,dump-size = <0x12000>;
209 };
Channagoud Kadabi6d4bb832016-06-30 23:40:05 -0700210 };
211
212 CPU7: cpu@103 {
213 device_type = "cpu";
214 compatible = "arm,armv8";
Channagoud Kadabi75c32072016-08-05 22:19:26 -0700215 reg = <0x0 0x700>;
Channagoud Kadabi6d4bb832016-06-30 23:40:05 -0700216 enable-method = "spin-table";
217 cache-size = <0x20000>;
218 cpu-release-addr = <0x0 0x90000000>;
219 next-level-cache = <&L2_7>;
220 L2_7: l2-cache {
221 compatible = "arm,arch-cache";
222 cache-size = <0x40000>;
223 cache-level = <2>;
224 next-level-cache = <&L3_0>;
225 };
Kyle Yanf7f2ddf2016-11-22 17:07:38 -0800226 L1_I_103: l1-icache {
227 compatible = "arm,arch-cache";
228 qcom,dump-size = <0x12000>;
229 };
230 L1_D_103: l1-dcache {
231 compatible = "arm,arch-cache";
232 qcom,dump-size = <0x12000>;
233 };
Channagoud Kadabi6d4bb832016-06-30 23:40:05 -0700234 };
235
236 cpu-map {
237 cluster0 {
238 core0 {
239 cpu = <&CPU0>;
240 };
241
242 core1 {
243 cpu = <&CPU1>;
244 };
245
246 core2 {
247 cpu = <&CPU2>;
248 };
249
250 core3 {
251 cpu = <&CPU3>;
252 };
253 };
254
255 cluster1 {
256 core0 {
257 cpu = <&CPU4>;
258 };
259
260 core1 {
261 cpu = <&CPU5>;
262 };
263
264 core2 {
265 cpu = <&CPU6>;
266 };
267
268 core3 {
269 cpu = <&CPU7>;
270 };
271 };
272 };
273 };
274
275 soc: soc { };
Patrick Dalyff211c82016-07-19 20:26:40 -0700276
277 reserved-memory {
278 #address-cells = <2>;
279 #size-cells = <2>;
280 ranges;
281
282 removed_regions: removed_regions@85800000 {
283 no-map;
284 reg = <0 0x85800000 0 0x3700000>;
285 };
286
Patrick Daly69c4d1d2016-10-19 16:03:09 -0700287 pil_camera_mem: camera_region@8ab00000 {
Patrick Dalyff211c82016-07-19 20:26:40 -0700288 compatible = "removed-dma-pool";
289 no-map;
Patrick Daly69c4d1d2016-10-19 16:03:09 -0700290 reg = <0 0x8ab00000 0 0x500000>;
Patrick Dalyff211c82016-07-19 20:26:40 -0700291 };
292
Patrick Daly69c4d1d2016-10-19 16:03:09 -0700293 pil_modem_mem: modem_region@8b000000 {
Patrick Dalyff211c82016-07-19 20:26:40 -0700294 compatible = "removed-dma-pool";
295 no-map;
Patrick Daly69c4d1d2016-10-19 16:03:09 -0700296 reg = <0 0x8b000000 0 0x6e00000>;
Patrick Dalyff211c82016-07-19 20:26:40 -0700297 };
298
Patrick Daly69c4d1d2016-10-19 16:03:09 -0700299 pil_video_mem: pil_video_region@91e00000 {
Patrick Dalyff211c82016-07-19 20:26:40 -0700300 compatible = "removed-dma-pool";
301 no-map;
Patrick Daly69c4d1d2016-10-19 16:03:09 -0700302 reg = <0 0x91e00000 0 0x500000>;
Patrick Dalyff211c82016-07-19 20:26:40 -0700303 };
304
Patrick Daly69c4d1d2016-10-19 16:03:09 -0700305 pil_cdsp_mem: cdsp_regions@92300000 {
Patrick Dalyff211c82016-07-19 20:26:40 -0700306 compatible = "removed-dma-pool";
307 no-map;
Patrick Daly69c4d1d2016-10-19 16:03:09 -0700308 reg = <0 0x92300000 0 0x800000>;
Patrick Dalyff211c82016-07-19 20:26:40 -0700309 };
310
Patrick Daly69c4d1d2016-10-19 16:03:09 -0700311 pil_adsp_mem: pil_adsp_region@92b00000 {
Patrick Dalyff211c82016-07-19 20:26:40 -0700312 compatible = "removed-dma-pool";
313 no-map;
Patrick Daly69c4d1d2016-10-19 16:03:09 -0700314 reg = <0 0x92b00000 0 0x1a00000>;
Patrick Dalyff211c82016-07-19 20:26:40 -0700315 };
316
Patrick Daly69c4d1d2016-10-19 16:03:09 -0700317 pil_slpi_mem: pil_slpi_region@94500000 {
Patrick Dalyff211c82016-07-19 20:26:40 -0700318 compatible = "removed-dma-pool";
319 no-map;
Patrick Daly69c4d1d2016-10-19 16:03:09 -0700320 reg = <0 0x94500000 0 0xf00000>;
Patrick Dalyff211c82016-07-19 20:26:40 -0700321 };
322
Patrick Daly69c4d1d2016-10-19 16:03:09 -0700323 pil_spss_mem: spss_region@95400000 {
Patrick Dalyff211c82016-07-19 20:26:40 -0700324 compatible = "removed-dma-pool";
325 no-map;
Patrick Daly69c4d1d2016-10-19 16:03:09 -0700326 reg = <0 0x95400000 0 0x700000>;
Patrick Dalyff211c82016-07-19 20:26:40 -0700327 };
328
329 adsp_mem: adsp_region {
330 compatible = "shared-dma-pool";
331 alloc-ranges = <0 0x00000000 0 0xffffffff>;
332 reusable;
333 alignment = <0 0x400000>;
334 size = <0 0x800000>;
335 };
336
337 qseecom_mem: qseecom_region {
338 compatible = "shared-dma-pool";
339 alloc-ranges = <0 0x00000000 0 0xffffffff>;
340 reusable;
341 alignment = <0 0x400000>;
342 size = <0 0x1400000>;
343 };
344
345 sp_mem: sp_region { /* SPSS-HLOS ION shared mem */
346 compatible = "shared-dma-pool";
347 alloc-ranges = <0 0x00000000 0 0xffffffff>; /* 32-bit */
348 reusable;
349 alignment = <0 0x400000>;
350 size = <0 0x800000>;
351 };
352
353 secure_display_memory: secure_display_region {
354 compatible = "shared-dma-pool";
355 alloc-ranges = <0 0x00000000 0 0xffffffff>;
356 reusable;
357 alignment = <0 0x400000>;
358 size = <0 0x5c00000>;
359 };
360
361 /* global autoconfigured region for contiguous allocations */
362 linux,cma {
363 compatible = "shared-dma-pool";
364 alloc-ranges = <0 0x00000000 0 0xffffffff>;
365 reusable;
366 alignment = <0 0x400000>;
367 size = <0 0x2000000>;
368 linux,cma-default;
369 };
370 };
Channagoud Kadabi6d4bb832016-06-30 23:40:05 -0700371};
372
Deepak Katragadda7b16dba2016-08-05 18:06:30 -0700373#include "msm-gdsc-skunk.dtsi"
374
Channagoud Kadabi6d4bb832016-06-30 23:40:05 -0700375&soc {
376 #address-cells = <1>;
377 #size-cells = <1>;
378 ranges = <0 0 0 0xffffffff>;
379 compatible = "simple-bus";
380
381 intc: interrupt-controller@17a00000 {
382 compatible = "arm,gic-v3";
383 #interrupt-cells = <3>;
384 interrupt-controller;
385 #redistributor-regions = <1>;
386 redistributor-stride = <0x0 0x20000>;
387 reg = <0x17a00000 0x10000>, /* GICD */
Kyle Yanc59b3552016-09-29 16:25:03 -0700388 <0x17a60000 0x100000>; /* GICR * 8 */
Channagoud Kadabi6d4bb832016-06-30 23:40:05 -0700389 interrupts = <1 9 4>;
390 };
391
392 timer {
393 compatible = "arm,armv8-timer";
394 interrupts = <1 1 0xf08>,
395 <1 2 0xf08>,
396 <1 3 0xf08>,
397 <1 0 0xf08>;
398 clock-frequency = <19200000>;
399 };
400
401 timer@0x17C90000{
402 #address-cells = <1>;
403 #size-cells = <1>;
404 ranges;
405 compatible = "arm,armv7-timer-mem";
406 reg = <0x17C90000 0x1000>;
407 clock-frequency = <19200000>;
408
409 frame@0x17CA0000 {
410 frame-number = <0>;
411 interrupts = <0 8 0x4>,
412 <0 7 0x4>;
413 reg = <0x17CA0000 0x1000>,
414 <0x17CB0000 0x1000>;
415 };
416
417 frame@17cc0000 {
418 frame-number = <1>;
419 interrupts = <0 9 0x4>;
420 reg = <0x17cc0000 0x1000>;
421 status = "disabled";
422 };
423
424 frame@17cd0000 {
425 frame-number = <2>;
426 interrupts = <0 10 0x4>;
427 reg = <0x17cd0000 0x1000>;
428 status = "disabled";
429 };
430
431 frame@17ce0000 {
432 frame-number = <3>;
433 interrupts = <0 11 0x4>;
434 reg = <0x17ce0000 0x1000>;
435 status = "disabled";
436 };
437
438 frame@17cf0000 {
439 frame-number = <4>;
440 interrupts = <0 12 0x4>;
441 reg = <0x17cf0000 0x1000>;
442 status = "disabled";
443 };
444
445 frame@17d00000 {
446 frame-number = <5>;
447 interrupts = <0 36 0x4>;
448 reg = <0x17d00000 0x1000>;
449 status = "disabled";
450 };
451
452 frame@17d10000 {
453 frame-number = <6>;
454 interrupts = <0 37 0x4>;
455 reg = <0x17d10000 0x1000>;
456 status = "disabled";
457 };
458 };
Deepak Katragaddacfb593f2016-07-15 12:30:37 -0700459
Deepak Katragaddaf8b9cc62016-11-02 15:17:15 -0700460 clock_gcc: qcom,gcc@100000 {
461 compatible = "qcom,gcc-msmskunk";
462 reg = <0x100000 0x1f0000>;
463 reg-names = "cc_base";
David Collins3a457942016-12-09 16:59:51 -0800464 vdd_cx-supply = <&pm8998_s9_level>;
465 vdd_cx_ao-supply = <&pm8998_s9_level_ao>;
Deepak Katragaddacfb593f2016-07-15 12:30:37 -0700466 #clock-cells = <1>;
Deepak Katragaddafbdb3252016-08-12 14:19:01 -0700467 #reset-cells = <1>;
Deepak Katragaddacfb593f2016-07-15 12:30:37 -0700468 };
469
Deepak Katragaddab09ab882016-11-09 17:47:29 -0800470 clock_videocc: qcom,videocc@ab00000 {
471 compatible = "qcom,video_cc-msmskunk";
472 reg = <0xab00000 0x10000>;
473 reg-names = "cc_base";
David Collins3a457942016-12-09 16:59:51 -0800474 vdd_cx-supply = <&pm8998_s9_level>;
Deepak Katragaddacfb593f2016-07-15 12:30:37 -0700475 #clock-cells = <1>;
Deepak Katragaddafbdb3252016-08-12 14:19:01 -0700476 #reset-cells = <1>;
Deepak Katragaddacfb593f2016-07-15 12:30:37 -0700477 };
478
479 clock_camcc: qcom,camcc {
480 compatible = "qcom,dummycc";
481 clock-output-names = "camcc_clocks";
482 #clock-cells = <1>;
Deepak Katragaddafbdb3252016-08-12 14:19:01 -0700483 #reset-cells = <1>;
Deepak Katragaddacfb593f2016-07-15 12:30:37 -0700484 };
485
486 clock_dispcc: qcom,dispcc {
487 compatible = "qcom,dummycc";
488 clock-output-names = "dispcc_clocks";
489 #clock-cells = <1>;
Deepak Katragaddafbdb3252016-08-12 14:19:01 -0700490 #reset-cells = <1>;
Deepak Katragaddacfb593f2016-07-15 12:30:37 -0700491 };
492
493 clock_gpucc: qcom,gpucc {
494 compatible = "qcom,dummycc";
495 clock-output-names = "gpucc_clocks";
496 #clock-cells = <1>;
Deepak Katragaddafbdb3252016-08-12 14:19:01 -0700497 #reset-cells = <1>;
Deepak Katragaddacfb593f2016-07-15 12:30:37 -0700498 };
Subhash Jadavani877ec812016-08-04 13:23:24 -0700499
Subhash Jadavanide2b9c02016-09-20 17:58:21 -0700500 ufsphy_mem: ufsphy_mem@1d87000 {
Subhash Jadavani877ec812016-08-04 13:23:24 -0700501 reg = <0x1d87000 0xda8>; /* PHY regs */
502 reg-names = "phy_mem";
503 #phy-cells = <0>;
504
505 /* TODO: add "ref_clk_src" */
506 clock-names = "ref_clk",
507 "ref_aux_clk";
508 clocks = <&clock_gcc GCC_UFS_MEM_CLKREF_CLK>,
509 <&clock_gcc GCC_UFS_PHY_PHY_AUX_CLK>;
510
511 status = "disabled";
512 };
513
Subhash Jadavani35c309a2016-12-19 13:58:57 -0800514 ufshc_mem: ufshc_mem@1d84000 {
Subhash Jadavani877ec812016-08-04 13:23:24 -0700515 compatible = "qcom,ufshc";
516 reg = <0x1d84000 0x2500>;
517 interrupts = <0 265 0>;
518 phys = <&ufsphy_mem>;
519 phy-names = "ufsphy";
520
Subhash Jadavani588f2092016-09-08 17:58:31 -0700521 lanes-per-direction = <2>;
Subhash Jadavani5534d492016-12-13 16:13:19 -0800522 dev-ref-clk-freq = <0>; /* 19.2 MHz */
Subhash Jadavani588f2092016-09-08 17:58:31 -0700523
Subhash Jadavani877ec812016-08-04 13:23:24 -0700524 /* TODO: add "ref_clk" */
525 clock-names =
526 "core_clk",
527 "bus_aggr_clk",
528 "iface_clk",
529 "core_clk_unipro",
530 "core_clk_ice",
531 "tx_lane0_sync_clk",
532 "rx_lane0_sync_clk",
533 "rx_lane1_sync_clk";
Subhash Jadavanide2b9c02016-09-20 17:58:21 -0700534 /* TODO: add HW CTL clocks when available */
Subhash Jadavani877ec812016-08-04 13:23:24 -0700535 clocks =
536 <&clock_gcc GCC_UFS_PHY_AXI_CLK>,
537 <&clock_gcc GCC_AGGRE_UFS_PHY_AXI_CLK>,
538 <&clock_gcc GCC_UFS_PHY_AHB_CLK>,
539 <&clock_gcc GCC_UFS_PHY_UNIPRO_CORE_CLK>,
540 <&clock_gcc GCC_UFS_PHY_ICE_CORE_CLK>,
541 <&clock_gcc GCC_UFS_PHY_TX_SYMBOL_0_CLK>,
542 <&clock_gcc GCC_UFS_PHY_RX_SYMBOL_0_CLK>,
543 <&clock_gcc GCC_UFS_PHY_RX_SYMBOL_1_CLK>;
544 freq-table-hz =
545 <50000000 200000000>,
546 <0 0>,
547 <0 0>,
548 <37500000 150000000>,
549 <75000000 300000000>,
550 <0 0>,
551 <0 0>,
552 <0 0>;
553
Subhash Jadavani35c309a2016-12-19 13:58:57 -0800554 qcom,msm-bus,name = "ufshc_mem";
Subhash Jadavani588f2092016-09-08 17:58:31 -0700555 qcom,msm-bus,num-cases = <22>;
Subhash Jadavani877ec812016-08-04 13:23:24 -0700556 qcom,msm-bus,num-paths = <2>;
557 qcom,msm-bus,vectors-KBps =
558 <95 512 0 0>, <1 650 0 0>, /* No vote */
559 <95 512 922 0>, <1 650 1000 0>, /* PWM G1 */
560 <95 512 1844 0>, <1 650 1000 0>, /* PWM G2 */
561 <95 512 3688 0>, <1 650 1000 0>, /* PWM G3 */
562 <95 512 7376 0>, <1 650 1000 0>, /* PWM G4 */
Subhash Jadavani588f2092016-09-08 17:58:31 -0700563 <95 512 1844 0>, <1 650 1000 0>, /* PWM G1 L2 */
564 <95 512 3688 0>, <1 650 1000 0>, /* PWM G2 L2 */
565 <95 512 7376 0>, <1 650 1000 0>, /* PWM G3 L2 */
566 <95 512 14752 0>, <1 650 1000 0>, /* PWM G4 L2 */
Subhash Jadavani877ec812016-08-04 13:23:24 -0700567 <95 512 127796 0>, <1 650 1000 0>, /* HS G1 RA */
568 <95 512 255591 0>, <1 650 1000 0>, /* HS G2 RA */
569 <95 512 511181 0>, <1 650 1000 0>, /* HS G3 RA */
Subhash Jadavani588f2092016-09-08 17:58:31 -0700570 <95 512 255591 0>, <1 650 1000 0>, /* HS G1 RA L2 */
571 <95 512 511181 0>, <1 650 1000 0>, /* HS G2 RA L2 */
572 <95 512 1022362 0>, <1 650 1000 0>, /* HS G3 RA L2 */
Subhash Jadavani877ec812016-08-04 13:23:24 -0700573 <95 512 149422 0>, <1 650 1000 0>, /* HS G1 RB */
574 <95 512 298189 0>, <1 650 1000 0>, /* HS G2 RB */
575 <95 512 596378 0>, <1 650 1000 0>, /* HS G3 RB */
Subhash Jadavani588f2092016-09-08 17:58:31 -0700576 <95 512 298189 0>, <1 650 1000 0>, /* HS G1 RB L2 */
577 <95 512 596378 0>, <1 650 1000 0>, /* HS G2 RB L2 */
578 <95 512 1192756 0>, <1 650 1000 0>, /* HS G3 RB L2 */
Subhash Jadavani877ec812016-08-04 13:23:24 -0700579 <95 512 4096000 0>, <1 650 1000 0>; /* Max. bandwidth */
580 qcom,bus-vector-names = "MIN",
581 "PWM_G1_L1", "PWM_G2_L1", "PWM_G3_L1", "PWM_G4_L1",
Subhash Jadavani588f2092016-09-08 17:58:31 -0700582 "PWM_G1_L2", "PWM_G2_L2", "PWM_G3_L2", "PWM_G4_L2",
Subhash Jadavani877ec812016-08-04 13:23:24 -0700583 "HS_RA_G1_L1", "HS_RA_G2_L1", "HS_RA_G3_L1",
Subhash Jadavani588f2092016-09-08 17:58:31 -0700584 "HS_RA_G1_L2", "HS_RA_G2_L2", "HS_RA_G3_L2",
Subhash Jadavani877ec812016-08-04 13:23:24 -0700585 "HS_RB_G1_L1", "HS_RB_G2_L1", "HS_RB_G3_L1",
Subhash Jadavani588f2092016-09-08 17:58:31 -0700586 "HS_RB_G1_L2", "HS_RB_G2_L2", "HS_RB_G3_L2",
Subhash Jadavani877ec812016-08-04 13:23:24 -0700587 "MAX";
588
589 status = "disabled";
590 };
Satyajit Desai17da0592016-08-08 18:38:32 -0700591
Subhash Jadavanide2b9c02016-09-20 17:58:21 -0700592 ufsphy_card: ufsphy_card@1da7000 {
593 reg = <0x1da7000 0xda8>; /* PHY regs */
594 reg-names = "phy_mem";
595 #phy-cells = <0>;
596
597 /* TODO: add "ref_clk_src" */
598 clock-names = "ref_clk",
599 "ref_aux_clk";
600 clocks = <&clock_gcc GCC_UFS_CARD_CLKREF_CLK>,
601 <&clock_gcc GCC_UFS_CARD_PHY_AUX_CLK>;
602
603 status = "disabled";
604 };
605
Subhash Jadavani35c309a2016-12-19 13:58:57 -0800606 ufshc_card: ufshc_card@1da4000 {
Subhash Jadavanide2b9c02016-09-20 17:58:21 -0700607 compatible = "qcom,ufshc";
608 reg = <0x1da4000 0x2500>;
609 interrupts = <0 125 0>;
610 phys = <&ufsphy_card>;
611 phy-names = "ufsphy";
612
613 lanes-per-direction = <1>;
614 dev-ref-clk-freq = <0>; /* 19.2 MHz */
615
616 /* TODO: add "ref_clk" */
617 clock-names =
618 "core_clk",
619 "bus_aggr_clk",
620 "iface_clk",
621 "core_clk_unipro",
622 "core_clk_ice",
623 "tx_lane0_sync_clk",
624 "rx_lane0_sync_clk";
625 /* TODO: add HW CTL clocks when available */
626 clocks =
627 <&clock_gcc GCC_UFS_CARD_AXI_CLK>,
628 <&clock_gcc GCC_AGGRE_UFS_CARD_AXI_CLK>,
629 <&clock_gcc GCC_UFS_CARD_AHB_CLK>,
630 <&clock_gcc GCC_UFS_CARD_UNIPRO_CORE_CLK>,
631 <&clock_gcc GCC_UFS_CARD_ICE_CORE_CLK>,
632 <&clock_gcc GCC_UFS_CARD_TX_SYMBOL_0_CLK>,
633 <&clock_gcc GCC_UFS_CARD_RX_SYMBOL_0_CLK>;
634 freq-table-hz =
635 <50000000 200000000>,
636 <0 0>,
637 <0 0>,
638 <37500000 150000000>,
639 <75000000 300000000>,
640 <0 0>,
641 <0 0>;
642
Subhash Jadavani35c309a2016-12-19 13:58:57 -0800643 qcom,msm-bus,name = "ufshc_card";
Subhash Jadavanide2b9c02016-09-20 17:58:21 -0700644 qcom,msm-bus,num-cases = <9>;
645 qcom,msm-bus,num-paths = <2>;
646 qcom,msm-bus,vectors-KBps =
647 <95 512 0 0>, <1 650 0 0>, /* No vote */
648 <95 512 922 0>, <1 650 1000 0>, /* PWM G1 */
649 <95 512 127796 0>, <1 650 1000 0>, /* HS G1 RA */
650 <95 512 255591 0>, <1 650 1000 0>, /* HS G2 RA */
651 <95 512 511181 0>, <1 650 1000 0>, /* HS G3 RA */
652 <95 512 149422 0>, <1 650 1000 0>, /* HS G1 RB */
653 <95 512 298189 0>, <1 650 1000 0>, /* HS G2 RB */
654 <95 512 596378 0>, <1 650 1000 0>, /* HS G3 RB */
655 <95 512 4096000 0>, <1 650 1000 0>; /* Max. bandwidth */
656 qcom,bus-vector-names = "MIN",
657 "PWM_G1_L1",
658 "HS_RA_G1_L1", "HS_RA_G2_L1", "HS_RA_G3_L1",
659 "HS_RB_G1_L1", "HS_RB_G2_L1", "HS_RB_G3_L1",
660 "MAX";
661
662 status = "disabled";
663 };
664
Kyle Yan384b13c2016-10-18 11:11:37 -0700665 pil_modem: qcom,mss@4080000 {
666 compatible = "qcom,pil-q6v55-mss";
667 reg = <0x4080000 0x100>,
668 <0x1f63000 0x008>,
669 <0x1f65000 0x008>,
670 <0x1f64000 0x008>,
671 <0x4180000 0x020>,
672 <0x00179000 0x004>;
673 reg-names = "qdsp6_base", "halt_q6", "halt_modem",
674 "halt_nc", "rmb_base", "restart_reg";
675
676 clocks = <&clock_gcc RPMH_CXO_CLK>,
677 <&clock_gcc GCC_MSS_CFG_AHB_CLK>,
678 <&clock_gcc GCC_MSS_Q6_MEMNOC_AXI_CLK>,
679 <&clock_gcc GCC_BOOT_ROM_AHB_CLK>,
680 <&clock_gcc GCC_MSS_GPLL0_DIV_CLK_SRC>,
681 <&clock_gcc GCC_MSS_SNOC_AXI_CLK>,
682 <&clock_gcc GCC_MSS_MFAB_AXIS_CLK>;
683 clock-names = "xo", "iface_clk", "bus_clk",
684 "mem_clk", "gpll0_mss_clk", "snoc_axi_clk",
685 "mnoc_axi_clk";
686 qcom,proxy-clock-names = "xo";
687 qcom,active-clock-names = "iface_clk", "bus_clk", "mem_clk",
688 "gpll0_mss_clk", "snoc_axi_clk",
689 "mnoc_axi_clk";
690
691 interrupts = <0 266 1>;
David Collins3a457942016-12-09 16:59:51 -0800692 vdd_cx-supply = <&pm8998_s9_level>;
Kyle Yan384b13c2016-10-18 11:11:37 -0700693 vdd_cx-voltage = <RPMH_REGULATOR_LEVEL_MAX>;
David Collins3a457942016-12-09 16:59:51 -0800694 vdd_mx-supply = <&pm8998_s6_level>;
Kyle Yan384b13c2016-10-18 11:11:37 -0700695 vdd_mx-uV = <RPMH_REGULATOR_LEVEL_MAX>;
696 qcom,firmware-name = "modem";
697 qcom,pil-self-auth;
698 qcom,sysmon-id = <0>;
699 qcom,ssctl-instance-id = <0x12>;
700 qcom,override-acc;
701 qcom,qdsp6v65-1-0;
702 status = "ok";
703 memory-region = <&pil_modem_mem>;
704 qcom,mem-protect-id = <0xF>;
705
706 /* GPIO inputs from mss */
707 qcom,gpio-err-fatal = <&smp2pgpio_ssr_smp2p_1_in 0 0>;
708 qcom,gpio-err-ready = <&smp2pgpio_ssr_smp2p_1_in 1 0>;
709 qcom,gpio-proxy-unvote = <&smp2pgpio_ssr_smp2p_1_in 2 0>;
710 qcom,gpio-stop-ack = <&smp2pgpio_ssr_smp2p_1_in 3 0>;
711 qcom,gpio-shutdown-ack = <&smp2pgpio_ssr_smp2p_1_in 7 0>;
712
713 /* GPIO output to mss */
714 qcom,gpio-force-stop = <&smp2pgpio_ssr_smp2p_1_out 0 0>;
715 };
716
Kyle Yand119cf82016-10-19 14:49:04 -0700717 qcom,lpass@17300000 {
718 compatible = "qcom,pil-tz-generic";
719 reg = <0x17300000 0x00100>;
720 interrupts = <0 162 1>;
721
David Collins3a457942016-12-09 16:59:51 -0800722 vdd_cx-supply = <&pm8998_s9_level>;
Kyle Yand119cf82016-10-19 14:49:04 -0700723 qcom,proxy-reg-names = "vdd_cx";
724 qcom,vdd_cx-uV-uA = <RPMH_REGULATOR_LEVEL_MAX 100000>;
725
726 clocks = <&clock_gcc RPMH_CXO_CLK>;
727 clock-names = "xo";
728 qcom,proxy-clock-names = "xo";
729
730 qcom,pas-id = <1>;
731 qcom,proxy-timeout-ms = <10000>;
732 qcom,smem-id = <423>;
733 qcom,sysmon-id = <1>;
734 status = "ok";
735 qcom,ssctl-instance-id = <0x14>;
736 qcom,firmware-name = "adsp";
737 memory-region = <&pil_adsp_mem>;
738
739 /* GPIO inputs from lpass */
740 qcom,gpio-err-fatal = <&smp2pgpio_ssr_smp2p_2_in 0 0>;
741 qcom,gpio-proxy-unvote = <&smp2pgpio_ssr_smp2p_2_in 2 0>;
742 qcom,gpio-err-ready = <&smp2pgpio_ssr_smp2p_2_in 1 0>;
743 qcom,gpio-stop-ack = <&smp2pgpio_ssr_smp2p_2_in 3 0>;
744
745 /* GPIO output to lpass */
746 qcom,gpio-force-stop = <&smp2pgpio_ssr_smp2p_2_out 0 0>;
747 };
748
Kyle Yanb693da32016-10-20 14:01:09 -0700749 qcom,ssc@5c00000 {
750 compatible = "qcom,pil-tz-generic";
751 reg = <0x5c00000 0x4000>;
752 interrupts = <0 494 1>;
753
David Collins3a457942016-12-09 16:59:51 -0800754 vdd_cx-supply = <&pm8998_l27_level>;
755 vdd_px-supply = <&pm8998_lvs2>;
Kyle Yanb693da32016-10-20 14:01:09 -0700756 qcom,vdd_cx-uV-uA = <RPMH_REGULATOR_LEVEL_MAX 0>;
757 qcom,proxy-reg-names = "vdd_cx", "vdd_px";
758 qcom,keep-proxy-regs-on;
759
760 clocks = <&clock_gcc RPMH_CXO_CLK>;
761 clock-names = "xo";
762 qcom,proxy-clock-names = "xo";
763
764 qcom,pas-id = <12>;
765 qcom,proxy-timeout-ms = <10000>;
766 qcom,smem-id = <424>;
767 qcom,sysmon-id = <3>;
768 qcom,ssctl-instance-id = <0x16>;
769 qcom,firmware-name = "slpi";
770 status = "ok";
771 memory-region = <&pil_slpi_mem>;
772
773 /* GPIO inputs from ssc */
774 qcom,gpio-err-fatal = <&smp2pgpio_ssr_smp2p_3_in 0 0>;
775 qcom,gpio-proxy-unvote = <&smp2pgpio_ssr_smp2p_3_in 2 0>;
776 qcom,gpio-err-ready = <&smp2pgpio_ssr_smp2p_3_in 1 0>;
777 qcom,gpio-stop-ack = <&smp2pgpio_ssr_smp2p_3_in 3 0>;
778
779 /* GPIO output to ssc */
780 qcom,gpio-force-stop = <&smp2pgpio_ssr_smp2p_3_out 0 0>;
781 };
782
Satya Durga Srinivasu Prabhalafbddbe72016-09-12 11:40:11 -0700783 eud: qcom,msm-eud@88e0000 {
784 compatible = "qcom,msm-eud";
785 interrupt-names = "eud_irq";
786 interrupts = <GIC_SPI 492 IRQ_TYPE_LEVEL_HIGH>;
Kyle Yan3801a1f2016-09-27 18:29:55 -0700787 reg = <0x88e0000 0x2000>;
Satya Durga Srinivasu Prabhalafbddbe72016-09-12 11:40:11 -0700788 reg-names = "eud_base";
789 status = "ok";
790 };
791
Kyle Yan79653352016-10-20 15:40:45 -0700792 qcom,spss@1880000 {
793 compatible = "qcom,pil-tz-generic";
794 reg = <0x188101c 0x4>,
795 <0x1881024 0x4>,
796 <0x1881028 0x4>,
797 <0x188103c 0x4>,
798 <0x1882014 0x4>;
799 reg-names = "sp2soc_irq_status", "sp2soc_irq_clr",
800 "sp2soc_irq_mask", "rmb_err", "rmb_err_spare2";
801 interrupts = <0 352 1>;
802
David Collins3a457942016-12-09 16:59:51 -0800803 vdd_cx-supply = <&pm8998_s9_level>;
Kyle Yan79653352016-10-20 15:40:45 -0700804 qcom,proxy-reg-names = "vdd_cx";
805 qcom,vdd_cx-uV-uA = <RPMH_REGULATOR_LEVEL_MAX 100000>;
David Collins3a457942016-12-09 16:59:51 -0800806 vdd_mx-supply = <&pm8998_s6_level>;
Kyle Yan79653352016-10-20 15:40:45 -0700807 vdd_mx-uV = <RPMH_REGULATOR_LEVEL_MAX 100000>;
808
809 clocks = <&clock_gcc RPMH_CXO_CLK>;
810 clock-names = "xo";
811 qcom,proxy-clock-names = "xo";
812 qcom,pil-generic-irq-handler;
813 status = "ok";
814
815 qcom,pas-id = <14>;
816 qcom,proxy-timeout-ms = <10000>;
817 qcom,firmware-name = "spss";
818 memory-region = <&pil_spss_mem>;
819 qcom,spss-scsr-bits = <24 25>;
820 };
821
Satyajit Desai17da0592016-08-08 18:38:32 -0700822 wdog: qcom,wdt@17980000{
823 compatible = "qcom,msm-watchdog";
824 reg = <0x17980000 0x1000>;
825 reg-names = "wdt-base";
826 interrupts = <0 3 0>, <0 4 0>;
827 qcom,bark-time = <11000>;
828 qcom,pet-time = <10000>;
829 qcom,ipi-ping;
830 qcom,wakeup-enable;
831 };
Satyajit Desai5e2b88a2016-08-10 17:08:08 -0700832
Kyle Yan02e95f72016-10-18 14:38:41 -0700833 qcom,turing@8300000 {
834 compatible = "qcom,pil-tz-generic";
835 reg = <0x8300000 0x100000>;
836 interrupts = <0 578 1>;
837
David Collins3a457942016-12-09 16:59:51 -0800838 vdd_cx-supply = <&pm8998_s9_level>;
Kyle Yan02e95f72016-10-18 14:38:41 -0700839 qcom,proxy-reg-names = "vdd_cx";
840 qcom,vdd_cx-uV-uA = <RPMH_REGULATOR_LEVEL_MAX 100000>;
841
842 clocks = <&clock_gcc RPMH_CXO_CLK>;
843 clock-names = "xo";
844 qcom,proxy-clock-names = "xo";
845
846 qcom,pas-id = <18>;
847 qcom,proxy-timeout-ms = <10000>;
848 qcom,smem-id = <423>;
849 qcom,sysmon-id = <7>;
850 qcom,ssctl-instance-id = <0x17>;
851 qcom,firmware-name = "cdsp";
852 memory-region = <&pil_cdsp_mem>;
853
854 /* GPIO inputs from turing */
855 qcom,gpio-err-fatal = <&smp2pgpio_ssr_smp2p_5_in 0 0>;
856 qcom,gpio-proxy-unvote = <&smp2pgpio_ssr_smp2p_5_in 2 0>;
857 qcom,gpio-err-ready = <&smp2pgpio_ssr_smp2p_5_in 1 0>;
858 qcom,gpio-stop-ack = <&smp2pgpio_ssr_smp2p_5_in 3 0>;
859
860 /* GPIO output to turing*/
861 qcom,gpio-force-stop = <&smp2pgpio_ssr_smp2p_5_out 0 0>;
862 status = "ok";
863 };
864
Sathish Ambley37e87362016-11-12 15:18:48 -0800865 qcom,msm_fastrpc {
866 compatible = "qcom,msm-fastrpc-compute";
867
868 qcom,msm_fastrpc_compute_cb1 {
869 compatible = "qcom,msm-fastrpc-compute-cb";
870 label = "cdsprpc-smd";
871 iommus = <&apps_smmu 0x1401>,
872 <&apps_smmu 0x1421>;
873 };
874 qcom,msm_fastrpc_compute_cb2 {
875 compatible = "qcom,msm-fastrpc-compute-cb";
876 label = "cdsprpc-smd";
877 iommus = <&apps_smmu 0x1402>,
878 <&apps_smmu 0x1422>;
879 };
880 qcom,msm_fastrpc_compute_cb3 {
881 compatible = "qcom,msm-fastrpc-compute-cb";
882 label = "cdsprpc-smd";
883 iommus = <&apps_smmu 0x1403>,
884 <&apps_smmu 0x1423>;
885 };
886 qcom,msm_fastrpc_compute_cb4 {
887 compatible = "qcom,msm-fastrpc-compute-cb";
888 label = "cdsprpc-smd";
889 iommus = <&apps_smmu 0x1404>,
890 <&apps_smmu 0x1424>;
891 };
892 qcom,msm_fastrpc_compute_cb5 {
893 compatible = "qcom,msm-fastrpc-compute-cb";
894 label = "cdsprpc-smd";
895 iommus = <&apps_smmu 0x1405>,
896 <&apps_smmu 0x1425>;
897 };
898 qcom,msm_fastrpc_compute_cb6 {
899 compatible = "qcom,msm-fastrpc-compute-cb";
900 label = "cdsprpc-smd";
901 iommus = <&apps_smmu 0x1406>,
902 <&apps_smmu 0x1426>;
903 };
904 qcom,msm_fastrpc_compute_cb7 {
905 compatible = "qcom,msm-fastrpc-compute-cb";
906 label = "cdsprpc-smd";
907 iommus = <&apps_smmu 0x1407>,
908 <&apps_smmu 0x1427>;
909 };
910 qcom,msm_fastrpc_compute_cb8 {
911 compatible = "qcom,msm-fastrpc-compute-cb";
912 label = "cdsprpc-smd";
913 iommus = <&apps_smmu 0x1408>,
914 <&apps_smmu 0x1428>;
915 };
916 };
917
Satyajit Desai5e2b88a2016-08-10 17:08:08 -0700918 qcom,msm-imem@146bf000 {
919 compatible = "qcom,msm-imem";
920 reg = <0x146bf000 0x1000>;
921 ranges = <0x0 0x146bf000 0x1000>;
922 #address-cells = <1>;
923 #size-cells = <1>;
924
925 mem_dump_table@10 {
926 compatible = "qcom,msm-imem-mem_dump_table";
927 reg = <0x10 8>;
928 };
Kyle Yan3d71bbe2016-11-01 16:02:26 -0700929
930 pil@94c {
931 compatible = "qcom,msm-imem-pil";
932 reg = <0x94c 200>;
933 };
Satyajit Desai5e2b88a2016-08-10 17:08:08 -0700934 };
Kyle Yanddc44242016-06-20 14:42:14 -0700935
Kyle Yan74747da2016-09-14 16:24:30 -0700936 qcom,venus@aae0000 {
937 compatible = "qcom,pil-tz-generic";
938 reg = <0xaae0000 0x4000>;
939
940 vdd-supply = <&venus_gdsc>;
941 qcom,proxy-reg-names = "vdd";
942
943 clocks = <&clock_videocc VIDEO_CC_VENUS_CTL_CORE_CLK>,
944 <&clock_videocc VIDEO_CC_VENUS_AHB_CLK>,
945 <&clock_videocc VIDEO_CC_VENUS_CTL_AXI_CLK>;
946 clock-names = "core_clk", "iface_clk", "bus_clk";
947 qcom,proxy-clock-names = "core_clk", "iface_clk", "bus_clk";
948
949 qcom,pas-id = <9>;
950 qcom,msm-bus,name = "pil-venus";
951 qcom,msm-bus,num-cases = <2>;
952 qcom,msm-bus,num-paths = <1>;
953 qcom,msm-bus,vectors-KBps =
954 <63 512 0 0>,
955 <63 512 0 304000>;
956 qcom,proxy-timeout-ms = <100>;
957 qcom,firmware-name = "venus";
958 memory-region = <&pil_video_mem>;
959 status = "ok";
960 };
961
Kyle Yanddc44242016-06-20 14:42:14 -0700962 kryo3xx-erp {
963 compatible = "arm,arm64-kryo3xx-cpu-erp";
964 interrupts = <1 6 4>,
965 <1 7 4>,
966 <0 34 4>,
967 <0 35 4>;
968
969 interrupt-names = "l1-l2-faultirq",
970 "l1-l2-errirq",
971 "l3-scu-errirq",
972 "l3-scu-faultirq";
973 };
Channagoud Kadabiddeeb782016-06-23 18:56:25 -0700974
975 qcom,llcc@1300000 {
Channagoud Kadabi8751c892016-10-14 13:40:19 -0700976 compatible = "qcom,llcc-core", "syscon", "simple-mfd";
Channagoud Kadabiddeeb782016-06-23 18:56:25 -0700977 reg = <0x1300000 0x50000>;
978 reg-names = "llcc_base";
Channagoud Kadabiddeeb782016-06-23 18:56:25 -0700979
980 llcc: qcom,msmskunk-llcc {
981 compatible = "qcom,msmskunk-llcc";
982 #cache-cells = <1>;
983 max-slices = <32>;
984 };
985
986 qcom,llcc-erp {
987 compatible = "qcom,llcc-erp";
Channagoud Kadabic26a8912016-11-21 13:57:20 -0800988 interrupt-names = "ecc_irq";
989 interrupts = <GIC_SPI 582 IRQ_TYPE_LEVEL_HIGH>;
Channagoud Kadabiddeeb782016-06-23 18:56:25 -0700990 };
991
992 qcom,llcc-amon {
993 compatible = "qcom,llcc-amon";
994 };
995 };
Chris Lewecef30b2016-08-22 13:52:49 -0700996
997 qcom,ipc-spinlock@1f40000 {
998 compatible = "qcom,ipc-spinlock-sfpb";
999 reg = <0x1f40000 0x8000>;
1000 qcom,num-locks = <8>;
1001 };
Chris Lew05f9fb72016-08-22 13:55:10 -07001002
1003 qcom,smem@86000000 {
1004 compatible = "qcom,smem";
1005 reg = <0x86000000 0x200000>,
1006 <0x17911008 0x4>,
1007 <0x778000 0x7000>,
1008 <0x1fd4000 0x8>;
1009 reg-names = "smem", "irq-reg-base", "aux-mem1",
1010 "smem_targ_info_reg";
1011 qcom,mpu-enabled;
1012 };
Chris Lew031aed02016-08-22 13:58:59 -07001013
1014 qcom,glink-mailbox-xprt-spss@1885008 {
1015 compatible = "qcom,glink-mailbox-xprt";
1016 reg = <0x1885008 0x8>,
1017 <0x1885010 0x4>,
1018 <0x188501c 0x4>,
1019 <0x1886008 0x4>;
1020 reg-names = "mbox-loc-addr", "mbox-loc-size", "irq-reg-base",
1021 "irq-rx-reset";
1022 qcom,irq-mask = <0x1>;
1023 interrupts = <0 348 4>;
1024 label = "spss";
1025 qcom,tx-ring-size = <0x400>;
1026 qcom,rx-ring-size = <0x400>;
1027 };
Lina Iyer9f782ba2016-10-11 15:13:50 -06001028
1029 apps_rsc: mailbox@179e0000 {
1030 compatible = "qcom,tcs-drv";
1031 reg = <0x179e0000 0x100>, <0x179e0d00 0x3000>;
1032 interrupts = <0 5 0>;
1033 #mbox-cells = <1>;
1034 qcom,drv-id = <2>;
1035 qcom,tcs-config = <SLEEP_TCS 3>,
1036 <WAKE_TCS 3>,
1037 <ACTIVE_TCS 2>,
1038 <CONTROL_TCS 1>;
1039 };
Lina Iyer4522ca42016-10-18 16:57:19 -06001040
1041 disp_rsc: mailbox@af20000 {
1042 status = "disabled";
1043 compatible = "qcom,tcs-drv";
1044 reg = <0xaf20000 0x100>, <0xaf21c00 0x3000>;
1045 interrupts = <0 129 0>;
1046 #mbox-cells = <1>;
1047 qcom,drv-id = <0>;
1048 qcom,tcs-config = <SLEEP_TCS 1>,
1049 <WAKE_TCS 1>,
1050 <ACTIVE_TCS 0>,
1051 <CONTROL_TCS 1>;
1052 };
Lina Iyerac0d4ed2016-10-20 13:48:31 -06001053
1054 system_pm {
1055 compatible = "qcom,system-pm";
1056 mboxes = <&apps_rsc 0>;
1057 };
Karthikeyan Ramasubramanian47260462016-09-19 14:15:45 -06001058
1059 qcom,glink-smem-native-xprt-modem@86000000 {
1060 compatible = "qcom,glink-smem-native-xprt";
1061 reg = <0x86000000 0x200000>,
1062 <0x1799000c 0x4>;
1063 reg-names = "smem", "irq-reg-base";
1064 qcom,irq-mask = <0x1000>;
1065 interrupts = <GIC_SPI 449 IRQ_TYPE_EDGE_RISING>;
1066 label = "mpss";
1067 };
1068
1069 qcom,glink-smem-native-xprt-adsp@86000000 {
1070 compatible = "qcom,glink-smem-native-xprt";
1071 reg = <0x86000000 0x200000>,
1072 <0x1799000c 0x4>;
1073 reg-names = "smem", "irq-reg-base";
1074 qcom,irq-mask = <0x100>;
1075 interrupts = <GIC_SPI 156 IRQ_TYPE_EDGE_RISING>;
1076 label = "lpass";
1077 };
1078
1079 qcom,glink-smem-native-xprt-dsps@86000000 {
1080 compatible = "qcom,glink-smem-native-xprt";
1081 reg = <0x86000000 0x200000>,
1082 <0x1799000c 0x4>;
1083 reg-names = "smem", "irq-reg-base";
1084 qcom,irq-mask = <0x1000000>;
1085 interrupts = <GIC_SPI 170 IRQ_TYPE_EDGE_RISING>;
1086 label = "dsps";
1087 };
1088
1089 qcom,glink-smem-native-xprt-cdsp@86000000 {
1090 compatible = "qcom,glink-smem-native-xprt";
1091 reg = <0x86000000 0x200000>,
1092 <0x1799000c 0x4>;
1093 reg-names = "smem", "irq-reg-base";
1094 qcom,irq-mask = <0x10>;
1095 interrupts = <GIC_SPI 574 IRQ_TYPE_EDGE_RISING>;
1096 label = "cdsp";
1097 };
Karthikeyan Ramasubramaniana0e3ff52016-09-19 14:31:36 -06001098
1099 glink_mpss: qcom,glink-ssr-modem {
1100 compatible = "qcom,glink_ssr";
1101 label = "modem";
1102 qcom,edge = "mpss";
1103 qcom,notify-edges = <&glink_lpass>, <&glink_dsps>,
1104 <&glink_cdsp>, <&glink_spss>;
1105 qcom,xprt = "smem";
1106 };
1107
1108 glink_lpass: qcom,glink-ssr-adsp {
1109 compatible = "qcom,glink_ssr";
1110 label = "adsp";
1111 qcom,edge = "lpass";
1112 qcom,notify-edges = <&glink_mpss>, <&glink_dsps>, <&glink_cdsp>;
1113 qcom,xprt = "smem";
1114 };
1115
1116 glink_dsps: qcom,glink-ssr-dsps {
1117 compatible = "qcom,glink_ssr";
1118 label = "slpi";
1119 qcom,edge = "dsps";
1120 qcom,notify-edges = <&glink_mpss>, <&glink_lpass>,
1121 <&glink_cdsp>;
1122 qcom,xprt = "smem";
1123 };
1124
1125 glink_cdsp: qcom,glink-ssr-cdsp {
1126 compatible = "qcom,glink_ssr";
1127 label = "cdsp";
1128 qcom,edge = "cdsp";
1129 qcom,notify-edges = <&glink_mpss>, <&glink_lpass>,
1130 <&glink_dsps>;
1131 qcom,xprt = "smem";
1132 };
1133
1134 glink_spss: qcom,glink-ssr-spss {
1135 compatible = "qcom,glink_ssr";
1136 label = "spss";
1137 qcom,edge = "spss";
1138 qcom,notify-edges = <&glink_mpss>;
1139 qcom,xprt = "mailbox";
1140 };
Karthikeyan Ramasubramanian8f0c1002016-09-19 15:44:53 -06001141
1142 qcom,ipc_router {
1143 compatible = "qcom,ipc_router";
1144 qcom,node-id = <1>;
1145 };
1146
1147 qcom,ipc_router_modem_xprt {
1148 compatible = "qcom,ipc_router_glink_xprt";
1149 qcom,ch-name = "IPCRTR";
1150 qcom,xprt-remote = "mpss";
1151 qcom,glink-xprt = "smem";
1152 qcom,xprt-linkid = <1>;
1153 qcom,xprt-version = <1>;
1154 qcom,fragmented-data;
1155 };
1156
1157 qcom,ipc_router_q6_xprt {
1158 compatible = "qcom,ipc_router_glink_xprt";
1159 qcom,ch-name = "IPCRTR";
1160 qcom,xprt-remote = "lpass";
1161 qcom,glink-xprt = "smem";
1162 qcom,xprt-linkid = <1>;
1163 qcom,xprt-version = <1>;
1164 qcom,fragmented-data;
1165 };
1166
1167 qcom,ipc_router_dsps_xprt {
1168 compatible = "qcom,ipc_router_glink_xprt";
1169 qcom,ch-name = "IPCRTR";
1170 qcom,xprt-remote = "dsps";
1171 qcom,glink-xprt = "smem";
1172 qcom,xprt-linkid = <1>;
1173 qcom,xprt-version = <1>;
1174 qcom,fragmented-data;
1175 };
1176
1177 qcom,ipc_router_cdsp_xprt {
1178 compatible = "qcom,ipc_router_glink_xprt";
1179 qcom,ch-name = "IPCRTR";
1180 qcom,xprt-remote = "cdsp";
1181 qcom,glink-xprt = "smem";
1182 qcom,xprt-linkid = <1>;
1183 qcom,xprt-version = <1>;
1184 qcom,fragmented-data;
1185 };
Karthikeyan Ramasubramanian608a2522016-09-19 15:50:38 -06001186
1187 qcom,glink_pkt {
1188 compatible = "qcom,glinkpkt";
1189
1190 qcom,glinkpkt-at-mdm0 {
1191 qcom,glinkpkt-transport = "smem";
1192 qcom,glinkpkt-edge = "mpss";
1193 qcom,glinkpkt-ch-name = "DS";
1194 qcom,glinkpkt-dev-name = "at_mdm0";
1195 };
1196
1197 qcom,glinkpkt-loopback_cntl {
1198 qcom,glinkpkt-transport = "lloop";
1199 qcom,glinkpkt-edge = "local";
1200 qcom,glinkpkt-ch-name = "LOCAL_LOOPBACK_CLNT";
1201 qcom,glinkpkt-dev-name = "glink_pkt_loopback_ctrl";
1202 };
1203
1204 qcom,glinkpkt-loopback_data {
1205 qcom,glinkpkt-transport = "lloop";
1206 qcom,glinkpkt-edge = "local";
1207 qcom,glinkpkt-ch-name = "glink_pkt_lloop_CLNT";
1208 qcom,glinkpkt-dev-name = "glink_pkt_loopback";
1209 };
1210
1211 qcom,glinkpkt-apr-apps2 {
1212 qcom,glinkpkt-transport = "smem";
1213 qcom,glinkpkt-edge = "adsp";
1214 qcom,glinkpkt-ch-name = "apr_apps2";
1215 qcom,glinkpkt-dev-name = "apr_apps2";
1216 };
1217
1218 qcom,glinkpkt-data40-cntl {
1219 qcom,glinkpkt-transport = "smem";
1220 qcom,glinkpkt-edge = "mpss";
1221 qcom,glinkpkt-ch-name = "DATA40_CNTL";
1222 qcom,glinkpkt-dev-name = "smdcntl8";
1223 };
1224
1225 qcom,glinkpkt-data1 {
1226 qcom,glinkpkt-transport = "smem";
1227 qcom,glinkpkt-edge = "mpss";
1228 qcom,glinkpkt-ch-name = "DATA1";
1229 qcom,glinkpkt-dev-name = "smd7";
1230 };
1231
1232 qcom,glinkpkt-data4 {
1233 qcom,glinkpkt-transport = "smem";
1234 qcom,glinkpkt-edge = "mpss";
1235 qcom,glinkpkt-ch-name = "DATA4";
1236 qcom,glinkpkt-dev-name = "smd8";
1237 };
1238
1239 qcom,glinkpkt-data11 {
1240 qcom,glinkpkt-transport = "smem";
1241 qcom,glinkpkt-edge = "mpss";
1242 qcom,glinkpkt-ch-name = "DATA11";
1243 qcom,glinkpkt-dev-name = "smd11";
1244 };
1245 };
Amir Levyca8989f2016-11-30 15:31:36 +02001246
1247 qcom,msm_gsi {
1248 compatible = "qcom,msm_gsi";
1249 };
1250
Amir Levy9654f172016-11-30 15:33:23 +02001251 qcom,rmnet-ipa {
1252 compatible = "qcom,rmnet-ipa3";
1253 qcom,rmnet-ipa-ssr;
1254 qcom,ipa-loaduC;
1255 qcom,ipa-advertise-sg-support;
1256 };
1257
Amir Levyca8989f2016-11-30 15:31:36 +02001258 ipa_hw: qcom,ipa@01e00000 {
1259 compatible = "qcom,ipa";
1260 reg = <0x1e00000 0x34000>,
1261 <0x1e04000 0x2c000>;
1262 reg-names = "ipa-base", "gsi-base";
1263 interrupts =
1264 <0 311 0>,
1265 <0 432 0>;
1266 interrupt-names = "ipa-irq", "gsi-irq";
1267 qcom,ipa-hw-ver = <13>; /* IPA core version = IPAv3.5.1 */
1268 qcom,ipa-hw-mode = <1>;
1269 qcom,ee = <0>;
1270 qcom,use-gsi;
1271 qcom,use-ipa-tethering-bridge;
1272 qcom,modem-cfg-emb-pipe-flt;
1273 qcom,ipa-wdi2;
1274 qcom,use-64-bit-dma-mask;
1275 clock-names = "core_clk";
1276 clocks = <&clock_gcc 0xfa685cda>;
1277 qcom,msm-bus,name = "ipa";
1278 qcom,msm-bus,num-cases = <4>;
1279 qcom,msm-bus,num-paths = <3>;
1280 qcom,msm-bus,vectors-KBps =
1281 /* No vote */
1282 <90 512 0 0>,
1283 <90 585 0 0>,
1284 <1 676 0 0>,
1285 /* SVS */
1286 <90 512 80000 640000>,
1287 <90 585 80000 640000>,
1288 <1 676 80000 80000>,
1289 /* NOMINAL */
1290 <90 512 206000 960000>,
1291 <90 585 206000 960000>,
1292 <1 676 206000 160000>,
1293 /* TURBO */
1294 <90 512 206000 3600000>,
1295 <90 585 206000 3600000>,
1296 <1 676 206000 300000>;
1297 qcom,bus-vector-names = "MIN", "SVS", "NOMINAL", "TURBO";
1298
1299 /* IPA RAM mmap */
1300 qcom,ipa-ram-mmap = <
1301 0x280 /* ofst_start; */
1302 0x0 /* nat_ofst; */
1303 0x0 /* nat_size; */
1304 0x288 /* v4_flt_hash_ofst; */
1305 0x78 /* v4_flt_hash_size; */
1306 0x4000 /* v4_flt_hash_size_ddr; */
1307 0x308 /* v4_flt_nhash_ofst; */
1308 0x78 /* v4_flt_nhash_size; */
1309 0x4000 /* v4_flt_nhash_size_ddr; */
1310 0x388 /* v6_flt_hash_ofst; */
1311 0x78 /* v6_flt_hash_size; */
1312 0x4000 /* v6_flt_hash_size_ddr; */
1313 0x408 /* v6_flt_nhash_ofst; */
1314 0x78 /* v6_flt_nhash_size; */
1315 0x4000 /* v6_flt_nhash_size_ddr; */
1316 0xf /* v4_rt_num_index; */
1317 0x0 /* v4_modem_rt_index_lo; */
1318 0x7 /* v4_modem_rt_index_hi; */
1319 0x8 /* v4_apps_rt_index_lo; */
1320 0xe /* v4_apps_rt_index_hi; */
1321 0x488 /* v4_rt_hash_ofst; */
1322 0x78 /* v4_rt_hash_size; */
1323 0x4000 /* v4_rt_hash_size_ddr; */
1324 0x508 /* v4_rt_nhash_ofst; */
1325 0x78 /* v4_rt_nhash_size; */
1326 0x4000 /* v4_rt_nhash_size_ddr; */
1327 0xf /* v6_rt_num_index; */
1328 0x0 /* v6_modem_rt_index_lo; */
1329 0x7 /* v6_modem_rt_index_hi; */
1330 0x8 /* v6_apps_rt_index_lo; */
1331 0xe /* v6_apps_rt_index_hi; */
1332 0x588 /* v6_rt_hash_ofst; */
1333 0x78 /* v6_rt_hash_size; */
1334 0x4000 /* v6_rt_hash_size_ddr; */
1335 0x608 /* v6_rt_nhash_ofst; */
1336 0x78 /* v6_rt_nhash_size; */
1337 0x4000 /* v6_rt_nhash_size_ddr; */
1338 0x688 /* modem_hdr_ofst; */
1339 0x140 /* modem_hdr_size; */
1340 0x7c8 /* apps_hdr_ofst; */
1341 0x0 /* apps_hdr_size; */
1342 0x800 /* apps_hdr_size_ddr; */
1343 0x7d0 /* modem_hdr_proc_ctx_ofst; */
1344 0x200 /* modem_hdr_proc_ctx_size; */
1345 0x9d0 /* apps_hdr_proc_ctx_ofst; */
1346 0x200 /* apps_hdr_proc_ctx_size; */
1347 0x0 /* apps_hdr_proc_ctx_size_ddr; */
1348 0x0 /* modem_comp_decomp_ofst; diff */
1349 0x0 /* modem_comp_decomp_size; diff */
1350 0xbd8 /* modem_ofst; */
1351 0x1424 /* modem_size; */
1352 0x1ffc /* apps_v4_flt_hash_ofst; */
1353 0x0 /* apps_v4_flt_hash_size; */
1354 0x1ffc /* apps_v4_flt_nhash_ofst; */
1355 0x0 /* apps_v4_flt_nhash_size; */
1356 0x1ffc /* apps_v6_flt_hash_ofst; */
1357 0x0 /* apps_v6_flt_hash_size; */
1358 0x1ffc /* apps_v6_flt_nhash_ofst; */
1359 0x0 /* apps_v6_flt_nhash_size; */
1360 0x80 /* uc_info_ofst; */
1361 0x200 /* uc_info_size; */
1362 0x2000 /* end_ofst; */
1363 0x1ffc /* apps_v4_rt_hash_ofst; */
1364 0x0 /* apps_v4_rt_hash_size; */
1365 0x1ffc /* apps_v4_rt_nhash_ofst; */
1366 0x0 /* apps_v4_rt_nhash_size; */
1367 0x1ffc /* apps_v6_rt_hash_ofst; */
1368 0x0 /* apps_v6_rt_hash_size; */
1369 0x1ffc /* apps_v6_rt_nhash_ofst; */
1370 0x0 /* apps_v6_rt_nhash_size; */
1371 >;
1372 };
Channagoud Kadabi39d26f22016-10-27 18:41:04 -07001373
1374 qcom,chd_sliver {
1375 compatible = "qcom,core-hang-detect";
1376 label = "silver";
1377 qcom,threshold-arr = <0x17e00058 0x17e10058
1378 0x17e20058 0x17e30058>;
1379 qcom,config-arr = <0x17e00060 0x17e10060
1380 0x17e20060 0x17e30060>;
1381 };
1382
1383 qcom,chd_gold {
1384 compatible = "qcom,core-hang-detect";
1385 label = "gold";
1386 qcom,threshold-arr = <0x17e40058 0x17e50058
1387 0x17e60058 0x17e70058>;
1388 qcom,config-arr = <0x17e40060 0x17e50060
1389 0x17e60060 0x17e70060>;
1390 };
1391
1392 qcom,ghd {
Kyle Yan5dda2452016-11-16 16:44:17 -08001393 compatible = "qcom,gladiator-hang-detect-v2";
Channagoud Kadabi39d26f22016-10-27 18:41:04 -07001394 qcom,threshold-arr = <0x1799041c 0x17990420>;
1395 qcom,config-reg = <0x17990434>;
1396 };
Mahesh Sivasubramanianf0dddb62016-10-19 14:17:44 -06001397
1398 cmd_db: qcom,cmd-db@861e0000 {
1399 compatible = "qcom,cmd-db";
1400 reg = <0x861e0000 0x4000>;
1401 };
Channagoud Kadabi6d4bb832016-06-30 23:40:05 -07001402};
Deepak Katragadda7b16dba2016-08-05 18:06:30 -07001403
1404&pcie_0_gdsc {
1405 status = "ok";
1406};
1407
1408&pcie_1_gdsc {
1409 status = "ok";
1410};
1411
1412&ufs_card_gdsc {
1413 status = "ok";
1414};
1415
1416&ufs_phy_gdsc {
1417 status = "ok";
1418};
1419
1420&usb30_prim_gdsc {
1421 status = "ok";
1422};
1423
1424&usb30_sec_gdsc {
1425 status = "ok";
1426};
1427
1428&hlos1_vote_aggre_noc_mmu_audio_tbu_gdsc {
1429 status = "ok";
1430};
1431
1432&hlos1_vote_aggre_noc_mmu_pcie_tbu_gdsc {
1433 status = "ok";
1434};
1435
1436&hlos1_vote_aggre_noc_mmu_tbu1_gdsc {
1437 status = "ok";
1438};
1439
1440&hlos1_vote_aggre_noc_mmu_tbu2_gdsc {
1441 status = "ok";
1442};
1443
1444&hlos1_vote_mmnoc_mmu_tbu_hf0_gdsc {
1445 status = "ok";
1446};
1447
1448&hlos1_vote_mmnoc_mmu_tbu_hf1_gdsc {
1449 status = "ok";
1450};
1451
1452&hlos1_vote_mmnoc_mmu_tbu_sf_gdsc {
1453 status = "ok";
1454};
1455
1456&bps_gdsc {
1457 status = "ok";
1458};
1459
1460&ife_0_gdsc {
1461 status = "ok";
1462};
1463
1464&ife_1_gdsc {
1465 status = "ok";
1466};
1467
1468&ipe_0_gdsc {
1469 status = "ok";
1470};
1471
1472&ipe_1_gdsc {
1473 status = "ok";
1474};
1475
1476&titan_top_gdsc {
1477 status = "ok";
1478};
1479
1480&mdss_core_gdsc {
1481 status = "ok";
1482};
1483
1484&gpu_cx_gdsc {
1485 status = "ok";
1486};
1487
Deepak Katragadda8d77fbb2016-10-17 13:04:17 -07001488&gpu_gx_gdsc {
1489 parent-supply = <&pm8005_s1_level>;
1490 status = "ok";
1491};
1492
Deepak Katragadda7b16dba2016-08-05 18:06:30 -07001493&vcodec0_gdsc {
1494 status = "ok";
1495};
1496
1497&vcodec1_gdsc {
1498 status = "ok";
1499};
1500
1501&venus_gdsc {
1502 status = "ok";
1503};
David Collins5ab42b92016-07-07 17:38:51 -07001504
1505#include "msmskunk-regulator.dtsi"
Satyajit Desai84bde122016-09-13 14:36:11 -07001506#include "msmskunk-coresight.dtsi"
Patrick Daly7faf13f2016-10-04 14:48:40 -07001507#include "msm-arm-smmu-skunk.dtsi"
Patrick Dalye8290432016-10-14 22:26:14 -07001508#include "msmskunk-ion.dtsi"
Karthikeyan Ramasubramanian2ebcc5b2016-09-19 15:39:51 -06001509#include "msmskunk-smp2p.dtsi"