blob: 1aca61069fcf53d1f32c26ac87867492d5ed2490 [file] [log] [blame]
Rohit Vaswani2aec37c2013-12-20 11:09:15 -08001/dts-v1/;
2
kiran.padwal@smartplayin.combf7f6b02014-09-16 17:15:38 +05303#include <dt-bindings/interrupt-controller/irq.h>
Stephen Boyd3933d262014-01-16 17:25:03 -08004#include <dt-bindings/clock/qcom,gcc-msm8974.h>
kiran.padwal@smartplayin.combf7f6b02014-09-16 17:15:38 +05305#include "skeleton.dtsi"
Stephen Boyd3933d262014-01-16 17:25:03 -08006
Rohit Vaswani2aec37c2013-12-20 11:09:15 -08007/ {
8 model = "Qualcomm MSM8974";
9 compatible = "qcom,msm8974";
10 interrupt-parent = <&intc>;
11
Bjorn Andersson6297c4b2015-06-26 14:50:17 -070012 reserved-memory {
13 #address-cells = <1>;
14 #size-cells = <1>;
15 ranges;
16
Bjorn Anderssonca3971c2015-12-27 17:17:40 -080017 mpss@08000000 {
18 reg = <0x08000000 0x5100000>;
19 no-map;
20 };
21
22 mba@00d100000 {
23 reg = <0x0d100000 0x100000>;
24 no-map;
25 };
26
27 reserved@0d200000 {
28 reg = <0x0d200000 0xa00000>;
29 no-map;
30 };
31
32 adsp@0dc00000 {
33 reg = <0x0dc00000 0x1900000>;
34 no-map;
35 };
36
37 venus@0f500000 {
38 reg = <0x0f500000 0x500000>;
39 no-map;
40 };
41
Bjorn Andersson6297c4b2015-06-26 14:50:17 -070042 smem_region: smem@fa00000 {
43 reg = <0xfa00000 0x200000>;
44 no-map;
45 };
Bjorn Anderssonca3971c2015-12-27 17:17:40 -080046
47 tz@0fc00000 {
48 reg = <0x0fc00000 0x160000>;
49 no-map;
50 };
51
52 efs@0fd600000 {
53 reg = <0x0fd60000 0x1a0000>;
54 no-map;
55 };
56
57 unused@0ff00000 {
58 reg = <0x0ff00000 0x10100000>;
59 no-map;
60 };
Bjorn Andersson6297c4b2015-06-26 14:50:17 -070061 };
62
Rohit Vaswani2ab27992013-11-01 10:10:40 -070063 cpus {
64 #address-cells = <1>;
65 #size-cells = <0>;
66 interrupts = <1 9 0xf04>;
Rohit Vaswani2ab27992013-11-01 10:10:40 -070067
68 cpu@0 {
Kumar Galaba082202014-05-28 12:01:29 -050069 compatible = "qcom,krait";
70 enable-method = "qcom,kpss-acc-v2";
Rohit Vaswani2ab27992013-11-01 10:10:40 -070071 device_type = "cpu";
72 reg = <0>;
73 next-level-cache = <&L2>;
74 qcom,acc = <&acc0>;
Lina Iyer8c76a632015-03-25 14:25:30 -060075 qcom,saw = <&saw0>;
Lina Iyerd596d622015-03-25 14:25:33 -060076 cpu-idle-states = <&CPU_SPC>;
Rohit Vaswani2ab27992013-11-01 10:10:40 -070077 };
78
79 cpu@1 {
Kumar Galaba082202014-05-28 12:01:29 -050080 compatible = "qcom,krait";
81 enable-method = "qcom,kpss-acc-v2";
Rohit Vaswani2ab27992013-11-01 10:10:40 -070082 device_type = "cpu";
83 reg = <1>;
84 next-level-cache = <&L2>;
85 qcom,acc = <&acc1>;
Lina Iyer8c76a632015-03-25 14:25:30 -060086 qcom,saw = <&saw1>;
Lina Iyerd596d622015-03-25 14:25:33 -060087 cpu-idle-states = <&CPU_SPC>;
Rohit Vaswani2ab27992013-11-01 10:10:40 -070088 };
89
90 cpu@2 {
Kumar Galaba082202014-05-28 12:01:29 -050091 compatible = "qcom,krait";
92 enable-method = "qcom,kpss-acc-v2";
Rohit Vaswani2ab27992013-11-01 10:10:40 -070093 device_type = "cpu";
94 reg = <2>;
95 next-level-cache = <&L2>;
96 qcom,acc = <&acc2>;
Lina Iyer8c76a632015-03-25 14:25:30 -060097 qcom,saw = <&saw2>;
Lina Iyerd596d622015-03-25 14:25:33 -060098 cpu-idle-states = <&CPU_SPC>;
Rohit Vaswani2ab27992013-11-01 10:10:40 -070099 };
100
101 cpu@3 {
Kumar Galaba082202014-05-28 12:01:29 -0500102 compatible = "qcom,krait";
103 enable-method = "qcom,kpss-acc-v2";
Rohit Vaswani2ab27992013-11-01 10:10:40 -0700104 device_type = "cpu";
105 reg = <3>;
106 next-level-cache = <&L2>;
107 qcom,acc = <&acc3>;
Lina Iyer8c76a632015-03-25 14:25:30 -0600108 qcom,saw = <&saw3>;
Lina Iyerd596d622015-03-25 14:25:33 -0600109 cpu-idle-states = <&CPU_SPC>;
Rohit Vaswani2ab27992013-11-01 10:10:40 -0700110 };
111
112 L2: l2-cache {
113 compatible = "cache";
114 cache-level = <2>;
Rohit Vaswani2ab27992013-11-01 10:10:40 -0700115 qcom,saw = <&saw_l2>;
116 };
Lina Iyerd596d622015-03-25 14:25:33 -0600117
118 idle-states {
119 CPU_SPC: spc {
120 compatible = "qcom,idle-state-spc",
121 "arm,idle-state";
122 entry-latency-us = <150>;
123 exit-latency-us = <200>;
124 min-residency-us = <2000>;
125 };
126 };
Rohit Vaswani2ab27992013-11-01 10:10:40 -0700127 };
128
Stephen Boyd3bff5472014-02-21 11:09:50 +0000129 cpu-pmu {
130 compatible = "qcom,krait-pmu";
131 interrupts = <1 7 0xf04>;
132 };
133
Kumar Galaba082202014-05-28 12:01:29 -0500134 timer {
135 compatible = "arm,armv7-timer";
136 interrupts = <1 2 0xf08>,
137 <1 3 0xf08>,
138 <1 4 0xf08>,
139 <1 1 0xf08>;
140 clock-frequency = <19200000>;
141 };
142
Stephen Boydd0bfd7c2015-10-08 13:34:09 -0500143 smem {
144 compatible = "qcom,smem";
145
146 memory-region = <&smem_region>;
147 qcom,rpm-msg-ram = <&rpm_msg_ram>;
148
149 hwlocks = <&tcsr_mutex 3>;
150 };
151
Bjorn Andersson7ccb11e2015-12-27 17:51:13 -0800152 smp2p-wcnss {
153 compatible = "qcom,smp2p";
154 qcom,smem = <451>, <431>;
155
156 interrupt-parent = <&intc>;
157 interrupts = <0 143 IRQ_TYPE_EDGE_RISING>;
158
159 qcom,ipc = <&apcs 8 18>;
160
161 qcom,local-pid = <0>;
162 qcom,remote-pid = <4>;
163
164 wcnss_smp2p_out: master-kernel {
165 qcom,entry-name = "master-kernel";
166
167 #qcom,state-cells = <1>;
168 };
169
170 wcnss_smp2p_in: slave-kernel {
171 qcom,entry-name = "slave-kernel";
172
173 interrupt-controller;
174 #interrupt-cells = <2>;
175 };
176 };
177
Bjorn Andersson9af88b22015-12-27 17:47:08 -0800178 smsm {
179 compatible = "qcom,smsm";
180
181 #address-cells = <1>;
182 #size-cells = <0>;
183
184 qcom,ipc-1 = <&apcs 8 13>;
185 qcom,ipc-2 = <&apcs 8 9>;
186 qcom,ipc-3 = <&apcs 8 19>;
187
188 apps_smsm: apps@0 {
189 reg = <0>;
190
191 #qcom,state-cells = <1>;
192 };
193
194 modem_smsm: modem@1 {
195 reg = <1>;
196 interrupts = <0 26 IRQ_TYPE_EDGE_RISING>;
197
198 interrupt-controller;
199 #interrupt-cells = <2>;
200 };
201
202 adsp_smsm: adsp@2 {
203 reg = <2>;
204 interrupts = <0 157 IRQ_TYPE_EDGE_RISING>;
205
206 interrupt-controller;
207 #interrupt-cells = <2>;
208 };
209
210 wcnss_smsm: wcnss@7 {
211 reg = <7>;
212 interrupts = <0 144 IRQ_TYPE_EDGE_RISING>;
213
214 interrupt-controller;
215 #interrupt-cells = <2>;
216 };
217 };
218
Rohit Vaswani2aec37c2013-12-20 11:09:15 -0800219 soc: soc {
220 #address-cells = <1>;
221 #size-cells = <1>;
222 ranges;
223 compatible = "simple-bus";
224
225 intc: interrupt-controller@f9000000 {
226 compatible = "qcom,msm-qgic2";
227 interrupt-controller;
228 #interrupt-cells = <3>;
229 reg = <0xf9000000 0x1000>,
230 <0xf9002000 0x1000>;
231 };
232
Bjorn Andersson45b0ef02015-06-26 14:50:18 -0700233 apcs: syscon@f9011000 {
234 compatible = "syscon";
235 reg = <0xf9011000 0x1000>;
236 };
237
Stephen Boyd47c5a5d2013-12-20 11:09:19 -0800238 timer@f9020000 {
239 #address-cells = <1>;
240 #size-cells = <1>;
241 ranges;
242 compatible = "arm,armv7-timer-mem";
243 reg = <0xf9020000 0x1000>;
244 clock-frequency = <19200000>;
245
246 frame@f9021000 {
247 frame-number = <0>;
248 interrupts = <0 8 0x4>,
249 <0 7 0x4>;
250 reg = <0xf9021000 0x1000>,
251 <0xf9022000 0x1000>;
252 };
253
254 frame@f9023000 {
255 frame-number = <1>;
256 interrupts = <0 9 0x4>;
257 reg = <0xf9023000 0x1000>;
258 status = "disabled";
259 };
260
261 frame@f9024000 {
262 frame-number = <2>;
263 interrupts = <0 10 0x4>;
264 reg = <0xf9024000 0x1000>;
265 status = "disabled";
266 };
267
268 frame@f9025000 {
269 frame-number = <3>;
270 interrupts = <0 11 0x4>;
271 reg = <0xf9025000 0x1000>;
272 status = "disabled";
273 };
274
275 frame@f9026000 {
276 frame-number = <4>;
277 interrupts = <0 12 0x4>;
278 reg = <0xf9026000 0x1000>;
279 status = "disabled";
280 };
281
282 frame@f9027000 {
283 frame-number = <5>;
284 interrupts = <0 13 0x4>;
285 reg = <0xf9027000 0x1000>;
286 status = "disabled";
287 };
288
289 frame@f9028000 {
290 frame-number = <6>;
291 interrupts = <0 14 0x4>;
292 reg = <0xf9028000 0x1000>;
293 status = "disabled";
294 };
295 };
296
Lina Iyer8c76a632015-03-25 14:25:30 -0600297 saw0: power-controller@f9089000 {
298 compatible = "qcom,msm8974-saw2-v2.1-cpu", "qcom,saw2";
299 reg = <0xf9089000 0x1000>, <0xf9009000 0x1000>;
300 };
301
302 saw1: power-controller@f9099000 {
303 compatible = "qcom,msm8974-saw2-v2.1-cpu", "qcom,saw2";
304 reg = <0xf9099000 0x1000>, <0xf9009000 0x1000>;
305 };
306
307 saw2: power-controller@f90a9000 {
308 compatible = "qcom,msm8974-saw2-v2.1-cpu", "qcom,saw2";
309 reg = <0xf90a9000 0x1000>, <0xf9009000 0x1000>;
310 };
311
312 saw3: power-controller@f90b9000 {
313 compatible = "qcom,msm8974-saw2-v2.1-cpu", "qcom,saw2";
314 reg = <0xf90b9000 0x1000>, <0xf9009000 0x1000>;
315 };
316
317 saw_l2: power-controller@f9012000 {
Rohit Vaswani2ab27992013-11-01 10:10:40 -0700318 compatible = "qcom,saw2";
319 reg = <0xf9012000 0x1000>;
320 regulator;
321 };
322
323 acc0: clock-controller@f9088000 {
324 compatible = "qcom,kpss-acc-v2";
325 reg = <0xf9088000 0x1000>, <0xf9008000 0x1000>;
326 };
327
328 acc1: clock-controller@f9098000 {
329 compatible = "qcom,kpss-acc-v2";
330 reg = <0xf9098000 0x1000>, <0xf9008000 0x1000>;
331 };
332
333 acc2: clock-controller@f90a8000 {
334 compatible = "qcom,kpss-acc-v2";
335 reg = <0xf90a8000 0x1000>, <0xf9008000 0x1000>;
336 };
337
338 acc3: clock-controller@f90b8000 {
339 compatible = "qcom,kpss-acc-v2";
340 reg = <0xf90b8000 0x1000>, <0xf9008000 0x1000>;
341 };
342
Stephen Boyd74e848f2013-12-20 11:09:18 -0800343 restart@fc4ab000 {
344 compatible = "qcom,pshold";
345 reg = <0xfc4ab000 0x4>;
346 };
Stephen Boyd3933d262014-01-16 17:25:03 -0800347
348 gcc: clock-controller@fc400000 {
349 compatible = "qcom,gcc-msm8974";
350 #clock-cells = <1>;
351 #reset-cells = <1>;
Rajendra Nayak89c7e672015-10-01 14:56:02 +0530352 #power-domain-cells = <1>;
Stephen Boyd3933d262014-01-16 17:25:03 -0800353 reg = <0xfc400000 0x4000>;
354 };
355
Bjorn Anderssonb4e745e2015-06-26 14:50:16 -0700356 tcsr_mutex_block: syscon@fd484000 {
357 compatible = "syscon";
358 reg = <0xfd484000 0x2000>;
359 };
360
Stephen Boyd3933d262014-01-16 17:25:03 -0800361 mmcc: clock-controller@fd8c0000 {
362 compatible = "qcom,mmcc-msm8974";
363 #clock-cells = <1>;
364 #reset-cells = <1>;
Rajendra Nayak89c7e672015-10-01 14:56:02 +0530365 #power-domain-cells = <1>;
Stephen Boyd3933d262014-01-16 17:25:03 -0800366 reg = <0xfd8c0000 0x6000>;
367 };
368
Bjorn Anderssonb4e745e2015-06-26 14:50:16 -0700369 tcsr_mutex: tcsr-mutex {
370 compatible = "qcom,tcsr-mutex";
371 syscon = <&tcsr_mutex_block 0 0x80>;
372
373 #hwlock-cells = <1>;
374 };
375
Stephen Boydd0bfd7c2015-10-08 13:34:09 -0500376 rpm_msg_ram: memory@fc428000 {
377 compatible = "qcom,rpm-msg-ram";
Bjorn Andersson6297c4b2015-06-26 14:50:17 -0700378 reg = <0xfc428000 0x4000>;
Bjorn Andersson6297c4b2015-06-26 14:50:17 -0700379 };
380
Stephen Boyd10bfcfe2015-06-16 14:31:44 -0700381 blsp1_uart2: serial@f991e000 {
Stephen Boyd3933d262014-01-16 17:25:03 -0800382 compatible = "qcom,msm-uartdm-v1.4", "qcom,msm-uartdm";
383 reg = <0xf991e000 0x1000>;
384 interrupts = <0 108 0x0>;
385 clocks = <&gcc GCC_BLSP1_UART2_APPS_CLK>, <&gcc GCC_BLSP1_AHB_CLK>;
386 clock-names = "core", "iface";
Kumar Galaba082202014-05-28 12:01:29 -0500387 status = "disabled";
Stephen Boyd3933d262014-01-16 17:25:03 -0800388 };
Stanimir Varbanov19f4f8c2014-02-07 11:23:07 +0200389
Georgi Djakov3e944c72014-01-31 16:21:56 +0200390 sdhci@f9824900 {
391 compatible = "qcom,sdhci-msm-v4";
392 reg = <0xf9824900 0x11c>, <0xf9824000 0x800>;
393 reg-names = "hc_mem", "core_mem";
394 interrupts = <0 123 0>, <0 138 0>;
395 interrupt-names = "hc_irq", "pwr_irq";
396 clocks = <&gcc GCC_SDCC1_APPS_CLK>, <&gcc GCC_SDCC1_AHB_CLK>;
397 clock-names = "core", "iface";
398 status = "disabled";
399 };
400
401 sdhci@f98a4900 {
402 compatible = "qcom,sdhci-msm-v4";
403 reg = <0xf98a4900 0x11c>, <0xf98a4000 0x800>;
404 reg-names = "hc_mem", "core_mem";
405 interrupts = <0 125 0>, <0 221 0>;
406 interrupt-names = "hc_irq", "pwr_irq";
407 clocks = <&gcc GCC_SDCC2_APPS_CLK>, <&gcc GCC_SDCC2_AHB_CLK>;
408 clock-names = "core", "iface";
409 status = "disabled";
410 };
411
Stanimir Varbanov19f4f8c2014-02-07 11:23:07 +0200412 rng@f9bff000 {
413 compatible = "qcom,prng";
414 reg = <0xf9bff000 0x200>;
415 clocks = <&gcc GCC_PRNG_AHB_CLK>;
416 clock-names = "core";
417 };
Ivan T. Ivanov7d7db8d2014-02-06 17:28:49 +0200418
419 msmgpio: pinctrl@fd510000 {
420 compatible = "qcom,msm8974-pinctrl";
421 reg = <0xfd510000 0x4000>;
422 gpio-controller;
423 #gpio-cells = <2>;
424 interrupt-controller;
425 #interrupt-cells = <2>;
426 interrupts = <0 208 0>;
Ivan T. Ivanov7d7db8d2014-02-06 17:28:49 +0200427 };
kiran.padwal@smartplayin.combf7f6b02014-09-16 17:15:38 +0530428
Bjorn Andersson580df592015-11-23 21:54:34 -0800429 blsp_i2c8: i2c@f9964000 {
430 status = "disabled";
431 compatible = "qcom,i2c-qup-v2.1.1";
432 reg = <0xf9964000 0x1000>;
433 interrupts = <0 102 IRQ_TYPE_NONE>;
434 clocks = <&gcc GCC_BLSP2_QUP2_I2C_APPS_CLK>, <&gcc GCC_BLSP2_AHB_CLK>;
435 clock-names = "core", "iface";
436 #address-cells = <1>;
437 #size-cells = <0>;
438 };
439
kiran.padwal@smartplayin.combf7f6b02014-09-16 17:15:38 +0530440 blsp_i2c11: i2c@f9967000 {
Michael Opdenacker04edde22015-10-13 14:02:00 +0200441 status = "disabled";
kiran.padwal@smartplayin.combf7f6b02014-09-16 17:15:38 +0530442 compatible = "qcom,i2c-qup-v2.1.1";
443 reg = <0xf9967000 0x1000>;
444 interrupts = <0 105 IRQ_TYPE_NONE>;
445 clocks = <&gcc GCC_BLSP2_QUP5_I2C_APPS_CLK>, <&gcc GCC_BLSP2_AHB_CLK>;
446 clock-names = "core", "iface";
447 #address-cells = <1>;
448 #size-cells = <0>;
449 };
Ivan T. Ivanovaf22e462015-02-03 14:17:58 +0200450
451 spmi_bus: spmi@fc4cf000 {
452 compatible = "qcom,spmi-pmic-arb";
453 reg-names = "core", "intr", "cnfg";
454 reg = <0xfc4cf000 0x1000>,
455 <0xfc4cb000 0x1000>,
456 <0xfc4ca000 0x1000>;
457 interrupt-names = "periph_irq";
458 interrupts = <0 190 0>;
459 qcom,ee = <0>;
460 qcom,channel = <0>;
461 #address-cells = <2>;
462 #size-cells = <0>;
463 interrupt-controller;
464 #interrupt-cells = <4>;
465 };
Rohit Vaswani2aec37c2013-12-20 11:09:15 -0800466 };
Bjorn Andersson45b0ef02015-06-26 14:50:18 -0700467
468 smd {
469 compatible = "qcom,smd";
470
471 rpm {
472 interrupts = <0 168 1>;
473 qcom,ipc = <&apcs 8 0>;
474 qcom,smd-edge = <15>;
475
476 rpm_requests {
477 compatible = "qcom,rpm-msm8974";
478 qcom,smd-channels = "rpm_requests";
479
480 pm8841-regulators {
481 compatible = "qcom,rpm-pm8841-regulators";
482
483 pm8841_s1: s1 {};
484 pm8841_s2: s2 {};
485 pm8841_s3: s3 {};
486 pm8841_s4: s4 {};
487 pm8841_s5: s5 {};
488 pm8841_s6: s6 {};
489 pm8841_s7: s7 {};
490 pm8841_s8: s8 {};
491 };
492
493 pm8941-regulators {
494 compatible = "qcom,rpm-pm8941-regulators";
495
496 pm8941_s1: s1 {};
497 pm8941_s2: s2 {};
498 pm8941_s3: s3 {};
499 pm8941_5v: s4 {};
500
501 pm8941_l1: l1 {};
502 pm8941_l2: l2 {};
503 pm8941_l3: l3 {};
504 pm8941_l4: l4 {};
505 pm8941_l5: l5 {};
506 pm8941_l6: l6 {};
507 pm8941_l7: l7 {};
508 pm8941_l8: l8 {};
509 pm8941_l9: l9 {};
510 pm8941_l10: l10 {};
511 pm8941_l11: l11 {};
512 pm8941_l12: l12 {};
513 pm8941_l13: l13 {};
514 pm8941_l14: l14 {};
515 pm8941_l15: l15 {};
516 pm8941_l16: l16 {};
517 pm8941_l17: l17 {};
518 pm8941_l18: l18 {};
519 pm8941_l19: l19 {};
520 pm8941_l20: l20 {};
521 pm8941_l21: l21 {};
522 pm8941_l22: l22 {};
523 pm8941_l23: l23 {};
524 pm8941_l24: l24 {};
525
526 pm8941_lvs1: lvs1 {};
527 pm8941_lvs2: lvs2 {};
528 pm8941_lvs3: lvs3 {};
529
530 pm8941_5vs1: 5vs1 {};
531 pm8941_5vs2: 5vs2 {};
532 };
533 };
534 };
535 };
Rohit Vaswani2aec37c2013-12-20 11:09:15 -0800536};