Merge branch 'for-next' of git://git.kernel.org/pub/scm/linux/kernel/git/gerg/m68knommu
[deliverable/linux.git] / arch / arm / boot / dts / qcom-msm8974.dtsi
1 /dts-v1/;
2
3 #include <dt-bindings/interrupt-controller/irq.h>
4 #include <dt-bindings/clock/qcom,gcc-msm8974.h>
5 #include "skeleton.dtsi"
6
7 / {
8 model = "Qualcomm MSM8974";
9 compatible = "qcom,msm8974";
10 interrupt-parent = <&intc>;
11
12 reserved-memory {
13 #address-cells = <1>;
14 #size-cells = <1>;
15 ranges;
16
17 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
42 smem_region: smem@fa00000 {
43 reg = <0xfa00000 0x200000>;
44 no-map;
45 };
46
47 tz@0fc00000 {
48 reg = <0x0fc00000 0x160000>;
49 no-map;
50 };
51
52 rfsa@0fd60000 {
53 reg = <0x0fd60000 0x20000>;
54 no-map;
55 };
56
57 rmtfs@0fd80000 {
58 reg = <0x0fd80000 0x180000>;
59 no-map;
60 };
61
62 unused@0ff00000 {
63 reg = <0x0ff00000 0x10100000>;
64 no-map;
65 };
66 };
67
68 cpus {
69 #address-cells = <1>;
70 #size-cells = <0>;
71 interrupts = <1 9 0xf04>;
72
73 cpu@0 {
74 compatible = "qcom,krait";
75 enable-method = "qcom,kpss-acc-v2";
76 device_type = "cpu";
77 reg = <0>;
78 next-level-cache = <&L2>;
79 qcom,acc = <&acc0>;
80 qcom,saw = <&saw0>;
81 cpu-idle-states = <&CPU_SPC>;
82 };
83
84 cpu@1 {
85 compatible = "qcom,krait";
86 enable-method = "qcom,kpss-acc-v2";
87 device_type = "cpu";
88 reg = <1>;
89 next-level-cache = <&L2>;
90 qcom,acc = <&acc1>;
91 qcom,saw = <&saw1>;
92 cpu-idle-states = <&CPU_SPC>;
93 };
94
95 cpu@2 {
96 compatible = "qcom,krait";
97 enable-method = "qcom,kpss-acc-v2";
98 device_type = "cpu";
99 reg = <2>;
100 next-level-cache = <&L2>;
101 qcom,acc = <&acc2>;
102 qcom,saw = <&saw2>;
103 cpu-idle-states = <&CPU_SPC>;
104 };
105
106 cpu@3 {
107 compatible = "qcom,krait";
108 enable-method = "qcom,kpss-acc-v2";
109 device_type = "cpu";
110 reg = <3>;
111 next-level-cache = <&L2>;
112 qcom,acc = <&acc3>;
113 qcom,saw = <&saw3>;
114 cpu-idle-states = <&CPU_SPC>;
115 };
116
117 L2: l2-cache {
118 compatible = "cache";
119 cache-level = <2>;
120 qcom,saw = <&saw_l2>;
121 };
122
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 };
132 };
133
134 cpu-pmu {
135 compatible = "qcom,krait-pmu";
136 interrupts = <1 7 0xf04>;
137 };
138
139 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
153 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
162 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
171 smp2p-modem {
172 compatible = "qcom,smp2p";
173 qcom,smem = <435>, <428>;
174
175 interrupt-parent = <&intc>;
176 interrupts = <0 27 IRQ_TYPE_EDGE_RISING>;
177
178 qcom,ipc = <&apcs 8 14>;
179
180 qcom,local-pid = <0>;
181 qcom,remote-pid = <1>;
182
183 modem_smp2p_out: master-kernel {
184 qcom,entry-name = "master-kernel";
185 #qcom,state-cells = <1>;
186 };
187
188 modem_smp2p_in: slave-kernel {
189 qcom,entry-name = "slave-kernel";
190
191 interrupt-controller;
192 #interrupt-cells = <2>;
193 };
194 };
195
196 smp2p-wcnss {
197 compatible = "qcom,smp2p";
198 qcom,smem = <451>, <431>;
199
200 interrupt-parent = <&intc>;
201 interrupts = <0 143 IRQ_TYPE_EDGE_RISING>;
202
203 qcom,ipc = <&apcs 8 18>;
204
205 qcom,local-pid = <0>;
206 qcom,remote-pid = <4>;
207
208 wcnss_smp2p_out: master-kernel {
209 qcom,entry-name = "master-kernel";
210
211 #qcom,state-cells = <1>;
212 };
213
214 wcnss_smp2p_in: slave-kernel {
215 qcom,entry-name = "slave-kernel";
216
217 interrupt-controller;
218 #interrupt-cells = <2>;
219 };
220 };
221
222 smsm {
223 compatible = "qcom,smsm";
224
225 #address-cells = <1>;
226 #size-cells = <0>;
227
228 qcom,ipc-1 = <&apcs 8 13>;
229 qcom,ipc-2 = <&apcs 8 9>;
230 qcom,ipc-3 = <&apcs 8 19>;
231
232 apps_smsm: apps@0 {
233 reg = <0>;
234
235 #qcom,state-cells = <1>;
236 };
237
238 modem_smsm: modem@1 {
239 reg = <1>;
240 interrupts = <0 26 IRQ_TYPE_EDGE_RISING>;
241
242 interrupt-controller;
243 #interrupt-cells = <2>;
244 };
245
246 adsp_smsm: adsp@2 {
247 reg = <2>;
248 interrupts = <0 157 IRQ_TYPE_EDGE_RISING>;
249
250 interrupt-controller;
251 #interrupt-cells = <2>;
252 };
253
254 wcnss_smsm: wcnss@7 {
255 reg = <7>;
256 interrupts = <0 144 IRQ_TYPE_EDGE_RISING>;
257
258 interrupt-controller;
259 #interrupt-cells = <2>;
260 };
261 };
262
263 soc: soc {
264 #address-cells = <1>;
265 #size-cells = <1>;
266 ranges;
267 compatible = "simple-bus";
268
269 intc: interrupt-controller@f9000000 {
270 compatible = "qcom,msm-qgic2";
271 interrupt-controller;
272 #interrupt-cells = <3>;
273 reg = <0xf9000000 0x1000>,
274 <0xf9002000 0x1000>;
275 };
276
277 apcs: syscon@f9011000 {
278 compatible = "syscon";
279 reg = <0xf9011000 0x1000>;
280 };
281
282 timer@f9020000 {
283 #address-cells = <1>;
284 #size-cells = <1>;
285 ranges;
286 compatible = "arm,armv7-timer-mem";
287 reg = <0xf9020000 0x1000>;
288 clock-frequency = <19200000>;
289
290 frame@f9021000 {
291 frame-number = <0>;
292 interrupts = <0 8 0x4>,
293 <0 7 0x4>;
294 reg = <0xf9021000 0x1000>,
295 <0xf9022000 0x1000>;
296 };
297
298 frame@f9023000 {
299 frame-number = <1>;
300 interrupts = <0 9 0x4>;
301 reg = <0xf9023000 0x1000>;
302 status = "disabled";
303 };
304
305 frame@f9024000 {
306 frame-number = <2>;
307 interrupts = <0 10 0x4>;
308 reg = <0xf9024000 0x1000>;
309 status = "disabled";
310 };
311
312 frame@f9025000 {
313 frame-number = <3>;
314 interrupts = <0 11 0x4>;
315 reg = <0xf9025000 0x1000>;
316 status = "disabled";
317 };
318
319 frame@f9026000 {
320 frame-number = <4>;
321 interrupts = <0 12 0x4>;
322 reg = <0xf9026000 0x1000>;
323 status = "disabled";
324 };
325
326 frame@f9027000 {
327 frame-number = <5>;
328 interrupts = <0 13 0x4>;
329 reg = <0xf9027000 0x1000>;
330 status = "disabled";
331 };
332
333 frame@f9028000 {
334 frame-number = <6>;
335 interrupts = <0 14 0x4>;
336 reg = <0xf9028000 0x1000>;
337 status = "disabled";
338 };
339 };
340
341 saw0: power-controller@f9089000 {
342 compatible = "qcom,msm8974-saw2-v2.1-cpu", "qcom,saw2";
343 reg = <0xf9089000 0x1000>, <0xf9009000 0x1000>;
344 };
345
346 saw1: power-controller@f9099000 {
347 compatible = "qcom,msm8974-saw2-v2.1-cpu", "qcom,saw2";
348 reg = <0xf9099000 0x1000>, <0xf9009000 0x1000>;
349 };
350
351 saw2: power-controller@f90a9000 {
352 compatible = "qcom,msm8974-saw2-v2.1-cpu", "qcom,saw2";
353 reg = <0xf90a9000 0x1000>, <0xf9009000 0x1000>;
354 };
355
356 saw3: power-controller@f90b9000 {
357 compatible = "qcom,msm8974-saw2-v2.1-cpu", "qcom,saw2";
358 reg = <0xf90b9000 0x1000>, <0xf9009000 0x1000>;
359 };
360
361 saw_l2: power-controller@f9012000 {
362 compatible = "qcom,saw2";
363 reg = <0xf9012000 0x1000>;
364 regulator;
365 };
366
367 acc0: clock-controller@f9088000 {
368 compatible = "qcom,kpss-acc-v2";
369 reg = <0xf9088000 0x1000>, <0xf9008000 0x1000>;
370 };
371
372 acc1: clock-controller@f9098000 {
373 compatible = "qcom,kpss-acc-v2";
374 reg = <0xf9098000 0x1000>, <0xf9008000 0x1000>;
375 };
376
377 acc2: clock-controller@f90a8000 {
378 compatible = "qcom,kpss-acc-v2";
379 reg = <0xf90a8000 0x1000>, <0xf9008000 0x1000>;
380 };
381
382 acc3: clock-controller@f90b8000 {
383 compatible = "qcom,kpss-acc-v2";
384 reg = <0xf90b8000 0x1000>, <0xf9008000 0x1000>;
385 };
386
387 restart@fc4ab000 {
388 compatible = "qcom,pshold";
389 reg = <0xfc4ab000 0x4>;
390 };
391
392 gcc: clock-controller@fc400000 {
393 compatible = "qcom,gcc-msm8974";
394 #clock-cells = <1>;
395 #reset-cells = <1>;
396 #power-domain-cells = <1>;
397 reg = <0xfc400000 0x4000>;
398 };
399
400 tcsr_mutex_block: syscon@fd484000 {
401 compatible = "syscon";
402 reg = <0xfd484000 0x2000>;
403 };
404
405 mmcc: clock-controller@fd8c0000 {
406 compatible = "qcom,mmcc-msm8974";
407 #clock-cells = <1>;
408 #reset-cells = <1>;
409 #power-domain-cells = <1>;
410 reg = <0xfd8c0000 0x6000>;
411 };
412
413 tcsr_mutex: tcsr-mutex {
414 compatible = "qcom,tcsr-mutex";
415 syscon = <&tcsr_mutex_block 0 0x80>;
416
417 #hwlock-cells = <1>;
418 };
419
420 rpm_msg_ram: memory@fc428000 {
421 compatible = "qcom,rpm-msg-ram";
422 reg = <0xfc428000 0x4000>;
423 };
424
425 blsp1_uart2: serial@f991e000 {
426 compatible = "qcom,msm-uartdm-v1.4", "qcom,msm-uartdm";
427 reg = <0xf991e000 0x1000>;
428 interrupts = <0 108 0x0>;
429 clocks = <&gcc GCC_BLSP1_UART2_APPS_CLK>, <&gcc GCC_BLSP1_AHB_CLK>;
430 clock-names = "core", "iface";
431 status = "disabled";
432 };
433
434 sdhci@f9824900 {
435 compatible = "qcom,sdhci-msm-v4";
436 reg = <0xf9824900 0x11c>, <0xf9824000 0x800>;
437 reg-names = "hc_mem", "core_mem";
438 interrupts = <0 123 0>, <0 138 0>;
439 interrupt-names = "hc_irq", "pwr_irq";
440 clocks = <&gcc GCC_SDCC1_APPS_CLK>, <&gcc GCC_SDCC1_AHB_CLK>;
441 clock-names = "core", "iface";
442 status = "disabled";
443 };
444
445 sdhci@f98a4900 {
446 compatible = "qcom,sdhci-msm-v4";
447 reg = <0xf98a4900 0x11c>, <0xf98a4000 0x800>;
448 reg-names = "hc_mem", "core_mem";
449 interrupts = <0 125 0>, <0 221 0>;
450 interrupt-names = "hc_irq", "pwr_irq";
451 clocks = <&gcc GCC_SDCC2_APPS_CLK>, <&gcc GCC_SDCC2_AHB_CLK>;
452 clock-names = "core", "iface";
453 status = "disabled";
454 };
455
456 rng@f9bff000 {
457 compatible = "qcom,prng";
458 reg = <0xf9bff000 0x200>;
459 clocks = <&gcc GCC_PRNG_AHB_CLK>;
460 clock-names = "core";
461 };
462
463 msmgpio: pinctrl@fd510000 {
464 compatible = "qcom,msm8974-pinctrl";
465 reg = <0xfd510000 0x4000>;
466 gpio-controller;
467 #gpio-cells = <2>;
468 interrupt-controller;
469 #interrupt-cells = <2>;
470 interrupts = <0 208 0>;
471 };
472
473 i2c@f9924000 {
474 status = "disabled";
475 compatible = "qcom,i2c-qup-v2.1.1";
476 reg = <0xf9924000 0x1000>;
477 interrupts = <0 96 IRQ_TYPE_NONE>;
478 clocks = <&gcc GCC_BLSP1_QUP2_I2C_APPS_CLK>, <&gcc GCC_BLSP1_AHB_CLK>;
479 clock-names = "core", "iface";
480 #address-cells = <1>;
481 #size-cells = <0>;
482 };
483
484 blsp_i2c8: i2c@f9964000 {
485 status = "disabled";
486 compatible = "qcom,i2c-qup-v2.1.1";
487 reg = <0xf9964000 0x1000>;
488 interrupts = <0 102 IRQ_TYPE_NONE>;
489 clocks = <&gcc GCC_BLSP2_QUP2_I2C_APPS_CLK>, <&gcc GCC_BLSP2_AHB_CLK>;
490 clock-names = "core", "iface";
491 #address-cells = <1>;
492 #size-cells = <0>;
493 };
494
495 blsp_i2c11: i2c@f9967000 {
496 status = "disabled";
497 compatible = "qcom,i2c-qup-v2.1.1";
498 reg = <0xf9967000 0x1000>;
499 interrupts = <0 105 IRQ_TYPE_NONE>;
500 clocks = <&gcc GCC_BLSP2_QUP5_I2C_APPS_CLK>, <&gcc GCC_BLSP2_AHB_CLK>;
501 clock-names = "core", "iface";
502 #address-cells = <1>;
503 #size-cells = <0>;
504 };
505
506 spmi_bus: spmi@fc4cf000 {
507 compatible = "qcom,spmi-pmic-arb";
508 reg-names = "core", "intr", "cnfg";
509 reg = <0xfc4cf000 0x1000>,
510 <0xfc4cb000 0x1000>,
511 <0xfc4ca000 0x1000>;
512 interrupt-names = "periph_irq";
513 interrupts = <0 190 0>;
514 qcom,ee = <0>;
515 qcom,channel = <0>;
516 #address-cells = <2>;
517 #size-cells = <0>;
518 interrupt-controller;
519 #interrupt-cells = <4>;
520 };
521 };
522
523 smd {
524 compatible = "qcom,smd";
525
526 modem {
527 interrupts = <0 25 IRQ_TYPE_EDGE_RISING>;
528
529 qcom,ipc = <&apcs 8 12>;
530 qcom,smd-edge = <0>;
531 };
532
533 rpm {
534 interrupts = <0 168 1>;
535 qcom,ipc = <&apcs 8 0>;
536 qcom,smd-edge = <15>;
537
538 rpm_requests {
539 compatible = "qcom,rpm-msm8974";
540 qcom,smd-channels = "rpm_requests";
541
542 pm8841-regulators {
543 compatible = "qcom,rpm-pm8841-regulators";
544
545 pm8841_s1: s1 {};
546 pm8841_s2: s2 {};
547 pm8841_s3: s3 {};
548 pm8841_s4: s4 {};
549 pm8841_s5: s5 {};
550 pm8841_s6: s6 {};
551 pm8841_s7: s7 {};
552 pm8841_s8: s8 {};
553 };
554
555 pm8941-regulators {
556 compatible = "qcom,rpm-pm8941-regulators";
557
558 pm8941_s1: s1 {};
559 pm8941_s2: s2 {};
560 pm8941_s3: s3 {};
561 pm8941_5v: s4 {};
562
563 pm8941_l1: l1 {};
564 pm8941_l2: l2 {};
565 pm8941_l3: l3 {};
566 pm8941_l4: l4 {};
567 pm8941_l5: l5 {};
568 pm8941_l6: l6 {};
569 pm8941_l7: l7 {};
570 pm8941_l8: l8 {};
571 pm8941_l9: l9 {};
572 pm8941_l10: l10 {};
573 pm8941_l11: l11 {};
574 pm8941_l12: l12 {};
575 pm8941_l13: l13 {};
576 pm8941_l14: l14 {};
577 pm8941_l15: l15 {};
578 pm8941_l16: l16 {};
579 pm8941_l17: l17 {};
580 pm8941_l18: l18 {};
581 pm8941_l19: l19 {};
582 pm8941_l20: l20 {};
583 pm8941_l21: l21 {};
584 pm8941_l22: l22 {};
585 pm8941_l23: l23 {};
586 pm8941_l24: l24 {};
587
588 pm8941_lvs1: lvs1 {};
589 pm8941_lvs2: lvs2 {};
590 pm8941_lvs3: lvs3 {};
591
592 pm8941_5vs1: 5vs1 {};
593 pm8941_5vs2: 5vs2 {};
594 };
595 };
596 };
597 };
598 };
This page took 0.043482 seconds and 5 git commands to generate.