blob: 8780246bd3c1ea3aac545952be4c7d770e3d425f [file] [log] [blame]
Rohit Vaswani2aec37c2013-12-20 11:09:15 -08001/dts-v1/;
2
Sricharan R62bc8172016-01-19 15:32:45 +05303#include <dt-bindings/interrupt-controller/arm-gic.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
Bjorn Andersson97311192016-03-28 18:32:37 -070052 rfsa@0fd60000 {
53 reg = <0x0fd60000 0x20000>;
54 no-map;
55 };
56
57 rmtfs@0fd80000 {
58 reg = <0x0fd80000 0x180000>;
Bjorn Anderssonca3971c2015-12-27 17:17:40 -080059 no-map;
60 };
61
62 unused@0ff00000 {
63 reg = <0x0ff00000 0x10100000>;
64 no-map;
65 };
Bjorn Andersson6297c4b2015-06-26 14:50:17 -070066 };
67
Rohit Vaswani2ab27992013-11-01 10:10:40 -070068 cpus {
69 #address-cells = <1>;
70 #size-cells = <0>;
71 interrupts = <1 9 0xf04>;
Rohit Vaswani2ab27992013-11-01 10:10:40 -070072
73 cpu@0 {
Kumar Galaba082202014-05-28 12:01:29 -050074 compatible = "qcom,krait";
75 enable-method = "qcom,kpss-acc-v2";
Rohit Vaswani2ab27992013-11-01 10:10:40 -070076 device_type = "cpu";
77 reg = <0>;
78 next-level-cache = <&L2>;
79 qcom,acc = <&acc0>;
Lina Iyer8c76a632015-03-25 14:25:30 -060080 qcom,saw = <&saw0>;
Lina Iyerd596d622015-03-25 14:25:33 -060081 cpu-idle-states = <&CPU_SPC>;
Rohit Vaswani2ab27992013-11-01 10:10:40 -070082 };
83
84 cpu@1 {
Kumar Galaba082202014-05-28 12:01:29 -050085 compatible = "qcom,krait";
86 enable-method = "qcom,kpss-acc-v2";
Rohit Vaswani2ab27992013-11-01 10:10:40 -070087 device_type = "cpu";
88 reg = <1>;
89 next-level-cache = <&L2>;
90 qcom,acc = <&acc1>;
Lina Iyer8c76a632015-03-25 14:25:30 -060091 qcom,saw = <&saw1>;
Lina Iyerd596d622015-03-25 14:25:33 -060092 cpu-idle-states = <&CPU_SPC>;
Rohit Vaswani2ab27992013-11-01 10:10:40 -070093 };
94
95 cpu@2 {
Kumar Galaba082202014-05-28 12:01:29 -050096 compatible = "qcom,krait";
97 enable-method = "qcom,kpss-acc-v2";
Rohit Vaswani2ab27992013-11-01 10:10:40 -070098 device_type = "cpu";
99 reg = <2>;
100 next-level-cache = <&L2>;
101 qcom,acc = <&acc2>;
Lina Iyer8c76a632015-03-25 14:25:30 -0600102 qcom,saw = <&saw2>;
Lina Iyerd596d622015-03-25 14:25:33 -0600103 cpu-idle-states = <&CPU_SPC>;
Rohit Vaswani2ab27992013-11-01 10:10:40 -0700104 };
105
106 cpu@3 {
Kumar Galaba082202014-05-28 12:01:29 -0500107 compatible = "qcom,krait";
108 enable-method = "qcom,kpss-acc-v2";
Rohit Vaswani2ab27992013-11-01 10:10:40 -0700109 device_type = "cpu";
110 reg = <3>;
111 next-level-cache = <&L2>;
112 qcom,acc = <&acc3>;
Lina Iyer8c76a632015-03-25 14:25:30 -0600113 qcom,saw = <&saw3>;
Lina Iyerd596d622015-03-25 14:25:33 -0600114 cpu-idle-states = <&CPU_SPC>;
Rohit Vaswani2ab27992013-11-01 10:10:40 -0700115 };
116
117 L2: l2-cache {
118 compatible = "cache";
119 cache-level = <2>;
Rohit Vaswani2ab27992013-11-01 10:10:40 -0700120 qcom,saw = <&saw_l2>;
121 };
Lina Iyerd596d622015-03-25 14:25:33 -0600122
123 idle-states {
124 CPU_SPC: spc {
125 compatible = "qcom,idle-state-spc",
126 "arm,idle-state";
127 entry-latency-us = <150>;
128 exit-latency-us = <200>;
129 min-residency-us = <2000>;
130 };
131 };
Rohit Vaswani2ab27992013-11-01 10:10:40 -0700132 };
133
Stephen Boyd3bff5472014-02-21 11:09:50 +0000134 cpu-pmu {
135 compatible = "qcom,krait-pmu";
136 interrupts = <1 7 0xf04>;
137 };
138
Stephen Boyd30fc4212016-01-06 17:41:51 -0800139 clocks {
140 xo_board {
141 compatible = "fixed-clock";
142 #clock-cells = <0>;
143 clock-frequency = <19200000>;
144 };
145
146 sleep_clk {
147 compatible = "fixed-clock";
148 #clock-cells = <0>;
149 clock-frequency = <32768>;
150 };
151 };
152
Kumar Galaba082202014-05-28 12:01:29 -0500153 timer {
154 compatible = "arm,armv7-timer";
155 interrupts = <1 2 0xf08>,
156 <1 3 0xf08>,
157 <1 4 0xf08>,
158 <1 1 0xf08>;
159 clock-frequency = <19200000>;
160 };
161
Stephen Boydd0bfd7c2015-10-08 13:34:09 -0500162 smem {
163 compatible = "qcom,smem";
164
165 memory-region = <&smem_region>;
166 qcom,rpm-msg-ram = <&rpm_msg_ram>;
167
168 hwlocks = <&tcsr_mutex 3>;
169 };
170
Bjorn Andersson7ccb11e2015-12-27 17:51:13 -0800171 smp2p-wcnss {
172 compatible = "qcom,smp2p";
173 qcom,smem = <451>, <431>;
174
175 interrupt-parent = <&intc>;
176 interrupts = <0 143 IRQ_TYPE_EDGE_RISING>;
177
178 qcom,ipc = <&apcs 8 18>;
179
180 qcom,local-pid = <0>;
181 qcom,remote-pid = <4>;
182
183 wcnss_smp2p_out: master-kernel {
184 qcom,entry-name = "master-kernel";
185
186 #qcom,state-cells = <1>;
187 };
188
189 wcnss_smp2p_in: slave-kernel {
190 qcom,entry-name = "slave-kernel";
191
192 interrupt-controller;
193 #interrupt-cells = <2>;
194 };
195 };
196
Bjorn Andersson9af88b22015-12-27 17:47:08 -0800197 smsm {
198 compatible = "qcom,smsm";
199
200 #address-cells = <1>;
201 #size-cells = <0>;
202
203 qcom,ipc-1 = <&apcs 8 13>;
204 qcom,ipc-2 = <&apcs 8 9>;
205 qcom,ipc-3 = <&apcs 8 19>;
206
207 apps_smsm: apps@0 {
208 reg = <0>;
209
210 #qcom,state-cells = <1>;
211 };
212
213 modem_smsm: modem@1 {
214 reg = <1>;
215 interrupts = <0 26 IRQ_TYPE_EDGE_RISING>;
216
217 interrupt-controller;
218 #interrupt-cells = <2>;
219 };
220
221 adsp_smsm: adsp@2 {
222 reg = <2>;
223 interrupts = <0 157 IRQ_TYPE_EDGE_RISING>;
224
225 interrupt-controller;
226 #interrupt-cells = <2>;
227 };
228
229 wcnss_smsm: wcnss@7 {
230 reg = <7>;
231 interrupts = <0 144 IRQ_TYPE_EDGE_RISING>;
232
233 interrupt-controller;
234 #interrupt-cells = <2>;
235 };
236 };
237
Rohit Vaswani2aec37c2013-12-20 11:09:15 -0800238 soc: soc {
239 #address-cells = <1>;
240 #size-cells = <1>;
241 ranges;
242 compatible = "simple-bus";
243
244 intc: interrupt-controller@f9000000 {
245 compatible = "qcom,msm-qgic2";
246 interrupt-controller;
247 #interrupt-cells = <3>;
248 reg = <0xf9000000 0x1000>,
249 <0xf9002000 0x1000>;
250 };
251
Bjorn Andersson45b0ef02015-06-26 14:50:18 -0700252 apcs: syscon@f9011000 {
253 compatible = "syscon";
254 reg = <0xf9011000 0x1000>;
255 };
256
Stephen Boyd47c5a5d2013-12-20 11:09:19 -0800257 timer@f9020000 {
258 #address-cells = <1>;
259 #size-cells = <1>;
260 ranges;
261 compatible = "arm,armv7-timer-mem";
262 reg = <0xf9020000 0x1000>;
263 clock-frequency = <19200000>;
264
265 frame@f9021000 {
266 frame-number = <0>;
267 interrupts = <0 8 0x4>,
268 <0 7 0x4>;
269 reg = <0xf9021000 0x1000>,
270 <0xf9022000 0x1000>;
271 };
272
273 frame@f9023000 {
274 frame-number = <1>;
275 interrupts = <0 9 0x4>;
276 reg = <0xf9023000 0x1000>;
277 status = "disabled";
278 };
279
280 frame@f9024000 {
281 frame-number = <2>;
282 interrupts = <0 10 0x4>;
283 reg = <0xf9024000 0x1000>;
284 status = "disabled";
285 };
286
287 frame@f9025000 {
288 frame-number = <3>;
289 interrupts = <0 11 0x4>;
290 reg = <0xf9025000 0x1000>;
291 status = "disabled";
292 };
293
294 frame@f9026000 {
295 frame-number = <4>;
296 interrupts = <0 12 0x4>;
297 reg = <0xf9026000 0x1000>;
298 status = "disabled";
299 };
300
301 frame@f9027000 {
302 frame-number = <5>;
303 interrupts = <0 13 0x4>;
304 reg = <0xf9027000 0x1000>;
305 status = "disabled";
306 };
307
308 frame@f9028000 {
309 frame-number = <6>;
310 interrupts = <0 14 0x4>;
311 reg = <0xf9028000 0x1000>;
312 status = "disabled";
313 };
314 };
315
Lina Iyer8c76a632015-03-25 14:25:30 -0600316 saw0: power-controller@f9089000 {
317 compatible = "qcom,msm8974-saw2-v2.1-cpu", "qcom,saw2";
318 reg = <0xf9089000 0x1000>, <0xf9009000 0x1000>;
319 };
320
321 saw1: power-controller@f9099000 {
322 compatible = "qcom,msm8974-saw2-v2.1-cpu", "qcom,saw2";
323 reg = <0xf9099000 0x1000>, <0xf9009000 0x1000>;
324 };
325
326 saw2: power-controller@f90a9000 {
327 compatible = "qcom,msm8974-saw2-v2.1-cpu", "qcom,saw2";
328 reg = <0xf90a9000 0x1000>, <0xf9009000 0x1000>;
329 };
330
331 saw3: power-controller@f90b9000 {
332 compatible = "qcom,msm8974-saw2-v2.1-cpu", "qcom,saw2";
333 reg = <0xf90b9000 0x1000>, <0xf9009000 0x1000>;
334 };
335
336 saw_l2: power-controller@f9012000 {
Rohit Vaswani2ab27992013-11-01 10:10:40 -0700337 compatible = "qcom,saw2";
338 reg = <0xf9012000 0x1000>;
339 regulator;
340 };
341
342 acc0: clock-controller@f9088000 {
343 compatible = "qcom,kpss-acc-v2";
344 reg = <0xf9088000 0x1000>, <0xf9008000 0x1000>;
345 };
346
347 acc1: clock-controller@f9098000 {
348 compatible = "qcom,kpss-acc-v2";
349 reg = <0xf9098000 0x1000>, <0xf9008000 0x1000>;
350 };
351
352 acc2: clock-controller@f90a8000 {
353 compatible = "qcom,kpss-acc-v2";
354 reg = <0xf90a8000 0x1000>, <0xf9008000 0x1000>;
355 };
356
357 acc3: clock-controller@f90b8000 {
358 compatible = "qcom,kpss-acc-v2";
359 reg = <0xf90b8000 0x1000>, <0xf9008000 0x1000>;
360 };
361
Stephen Boyd74e848f2013-12-20 11:09:18 -0800362 restart@fc4ab000 {
363 compatible = "qcom,pshold";
364 reg = <0xfc4ab000 0x4>;
365 };
Stephen Boyd3933d262014-01-16 17:25:03 -0800366
367 gcc: clock-controller@fc400000 {
368 compatible = "qcom,gcc-msm8974";
369 #clock-cells = <1>;
370 #reset-cells = <1>;
Rajendra Nayak89c7e672015-10-01 14:56:02 +0530371 #power-domain-cells = <1>;
Stephen Boyd3933d262014-01-16 17:25:03 -0800372 reg = <0xfc400000 0x4000>;
373 };
374
Bjorn Anderssonb4e745e2015-06-26 14:50:16 -0700375 tcsr_mutex_block: syscon@fd484000 {
376 compatible = "syscon";
377 reg = <0xfd484000 0x2000>;
378 };
379
Stephen Boyd3933d262014-01-16 17:25:03 -0800380 mmcc: clock-controller@fd8c0000 {
381 compatible = "qcom,mmcc-msm8974";
382 #clock-cells = <1>;
383 #reset-cells = <1>;
Rajendra Nayak89c7e672015-10-01 14:56:02 +0530384 #power-domain-cells = <1>;
Stephen Boyd3933d262014-01-16 17:25:03 -0800385 reg = <0xfd8c0000 0x6000>;
386 };
387
Bjorn Anderssonb4e745e2015-06-26 14:50:16 -0700388 tcsr_mutex: tcsr-mutex {
389 compatible = "qcom,tcsr-mutex";
390 syscon = <&tcsr_mutex_block 0 0x80>;
391
392 #hwlock-cells = <1>;
393 };
394
Stephen Boydd0bfd7c2015-10-08 13:34:09 -0500395 rpm_msg_ram: memory@fc428000 {
396 compatible = "qcom,rpm-msg-ram";
Bjorn Andersson6297c4b2015-06-26 14:50:17 -0700397 reg = <0xfc428000 0x4000>;
Bjorn Andersson6297c4b2015-06-26 14:50:17 -0700398 };
399
Stephen Boyd10bfcfe2015-06-16 14:31:44 -0700400 blsp1_uart2: serial@f991e000 {
Stephen Boyd3933d262014-01-16 17:25:03 -0800401 compatible = "qcom,msm-uartdm-v1.4", "qcom,msm-uartdm";
402 reg = <0xf991e000 0x1000>;
403 interrupts = <0 108 0x0>;
404 clocks = <&gcc GCC_BLSP1_UART2_APPS_CLK>, <&gcc GCC_BLSP1_AHB_CLK>;
405 clock-names = "core", "iface";
Kumar Galaba082202014-05-28 12:01:29 -0500406 status = "disabled";
Stephen Boyd3933d262014-01-16 17:25:03 -0800407 };
Stanimir Varbanov19f4f8c2014-02-07 11:23:07 +0200408
Georgi Djakov3e944c72014-01-31 16:21:56 +0200409 sdhci@f9824900 {
410 compatible = "qcom,sdhci-msm-v4";
411 reg = <0xf9824900 0x11c>, <0xf9824000 0x800>;
412 reg-names = "hc_mem", "core_mem";
413 interrupts = <0 123 0>, <0 138 0>;
414 interrupt-names = "hc_irq", "pwr_irq";
415 clocks = <&gcc GCC_SDCC1_APPS_CLK>, <&gcc GCC_SDCC1_AHB_CLK>;
416 clock-names = "core", "iface";
417 status = "disabled";
418 };
419
420 sdhci@f98a4900 {
421 compatible = "qcom,sdhci-msm-v4";
422 reg = <0xf98a4900 0x11c>, <0xf98a4000 0x800>;
423 reg-names = "hc_mem", "core_mem";
424 interrupts = <0 125 0>, <0 221 0>;
425 interrupt-names = "hc_irq", "pwr_irq";
426 clocks = <&gcc GCC_SDCC2_APPS_CLK>, <&gcc GCC_SDCC2_AHB_CLK>;
427 clock-names = "core", "iface";
428 status = "disabled";
429 };
430
Stanimir Varbanov19f4f8c2014-02-07 11:23:07 +0200431 rng@f9bff000 {
432 compatible = "qcom,prng";
433 reg = <0xf9bff000 0x200>;
434 clocks = <&gcc GCC_PRNG_AHB_CLK>;
435 clock-names = "core";
436 };
Ivan T. Ivanov7d7db8d2014-02-06 17:28:49 +0200437
438 msmgpio: pinctrl@fd510000 {
439 compatible = "qcom,msm8974-pinctrl";
440 reg = <0xfd510000 0x4000>;
441 gpio-controller;
442 #gpio-cells = <2>;
443 interrupt-controller;
444 #interrupt-cells = <2>;
445 interrupts = <0 208 0>;
Ivan T. Ivanov7d7db8d2014-02-06 17:28:49 +0200446 };
kiran.padwal@smartplayin.combf7f6b02014-09-16 17:15:38 +0530447
Bjorn Andersson580df592015-11-23 21:54:34 -0800448 blsp_i2c8: i2c@f9964000 {
449 status = "disabled";
450 compatible = "qcom,i2c-qup-v2.1.1";
451 reg = <0xf9964000 0x1000>;
452 interrupts = <0 102 IRQ_TYPE_NONE>;
453 clocks = <&gcc GCC_BLSP2_QUP2_I2C_APPS_CLK>, <&gcc GCC_BLSP2_AHB_CLK>;
454 clock-names = "core", "iface";
455 #address-cells = <1>;
456 #size-cells = <0>;
457 };
458
kiran.padwal@smartplayin.combf7f6b02014-09-16 17:15:38 +0530459 blsp_i2c11: i2c@f9967000 {
Michael Opdenacker04edde22015-10-13 14:02:00 +0200460 status = "disabled";
kiran.padwal@smartplayin.combf7f6b02014-09-16 17:15:38 +0530461 compatible = "qcom,i2c-qup-v2.1.1";
462 reg = <0xf9967000 0x1000>;
463 interrupts = <0 105 IRQ_TYPE_NONE>;
464 clocks = <&gcc GCC_BLSP2_QUP5_I2C_APPS_CLK>, <&gcc GCC_BLSP2_AHB_CLK>;
465 clock-names = "core", "iface";
466 #address-cells = <1>;
467 #size-cells = <0>;
Sricharan R0a5d0f82016-01-19 15:32:46 +0530468 dmas = <&blsp2_dma 20>, <&blsp2_dma 21>;
469 dma-names = "tx", "rx";
kiran.padwal@smartplayin.combf7f6b02014-09-16 17:15:38 +0530470 };
Ivan T. Ivanovaf22e462015-02-03 14:17:58 +0200471
472 spmi_bus: spmi@fc4cf000 {
473 compatible = "qcom,spmi-pmic-arb";
474 reg-names = "core", "intr", "cnfg";
475 reg = <0xfc4cf000 0x1000>,
476 <0xfc4cb000 0x1000>,
477 <0xfc4ca000 0x1000>;
478 interrupt-names = "periph_irq";
479 interrupts = <0 190 0>;
480 qcom,ee = <0>;
481 qcom,channel = <0>;
482 #address-cells = <2>;
483 #size-cells = <0>;
484 interrupt-controller;
485 #interrupt-cells = <4>;
486 };
Sricharan R62bc8172016-01-19 15:32:45 +0530487
488 blsp2_dma: dma-controller@f9944000 {
489 compatible = "qcom,bam-v1.4.0";
490 reg = <0xf9944000 0x19000>;
491 interrupts = <GIC_SPI 239 IRQ_TYPE_LEVEL_HIGH>;
492 clocks = <&gcc GCC_BLSP2_AHB_CLK>;
493 clock-names = "bam_clk";
494 #dma-cells = <1>;
495 qcom,ee = <0>;
496 };
Rohit Vaswani2aec37c2013-12-20 11:09:15 -0800497 };
Bjorn Andersson45b0ef02015-06-26 14:50:18 -0700498
499 smd {
500 compatible = "qcom,smd";
501
502 rpm {
503 interrupts = <0 168 1>;
504 qcom,ipc = <&apcs 8 0>;
505 qcom,smd-edge = <15>;
506
507 rpm_requests {
508 compatible = "qcom,rpm-msm8974";
509 qcom,smd-channels = "rpm_requests";
510
511 pm8841-regulators {
512 compatible = "qcom,rpm-pm8841-regulators";
513
514 pm8841_s1: s1 {};
515 pm8841_s2: s2 {};
516 pm8841_s3: s3 {};
517 pm8841_s4: s4 {};
518 pm8841_s5: s5 {};
519 pm8841_s6: s6 {};
520 pm8841_s7: s7 {};
521 pm8841_s8: s8 {};
522 };
523
524 pm8941-regulators {
525 compatible = "qcom,rpm-pm8941-regulators";
526
527 pm8941_s1: s1 {};
528 pm8941_s2: s2 {};
529 pm8941_s3: s3 {};
530 pm8941_5v: s4 {};
531
532 pm8941_l1: l1 {};
533 pm8941_l2: l2 {};
534 pm8941_l3: l3 {};
535 pm8941_l4: l4 {};
536 pm8941_l5: l5 {};
537 pm8941_l6: l6 {};
538 pm8941_l7: l7 {};
539 pm8941_l8: l8 {};
540 pm8941_l9: l9 {};
541 pm8941_l10: l10 {};
542 pm8941_l11: l11 {};
543 pm8941_l12: l12 {};
544 pm8941_l13: l13 {};
545 pm8941_l14: l14 {};
546 pm8941_l15: l15 {};
547 pm8941_l16: l16 {};
548 pm8941_l17: l17 {};
549 pm8941_l18: l18 {};
550 pm8941_l19: l19 {};
551 pm8941_l20: l20 {};
552 pm8941_l21: l21 {};
553 pm8941_l22: l22 {};
554 pm8941_l23: l23 {};
555 pm8941_l24: l24 {};
556
557 pm8941_lvs1: lvs1 {};
558 pm8941_lvs2: lvs2 {};
559 pm8941_lvs3: lvs3 {};
560
561 pm8941_5vs1: 5vs1 {};
562 pm8941_5vs2: 5vs2 {};
563 };
564 };
565 };
566 };
Rohit Vaswani2aec37c2013-12-20 11:09:15 -0800567};