blob: 4ef214f9c10bb1f28f1522c9568f0fb5ce253ab8 [file] [log] [blame]
Rohit Vaswani2aec37c2013-12-20 11:09:15 -08001/dts-v1/;
2
Andy Grossd44cbb12016-06-09 22:45:11 -05003#include <dt-bindings/interrupt-controller/arm-gic.h>
Stephen Boyd3933d262014-01-16 17:25:03 -08004#include <dt-bindings/clock/qcom,gcc-msm8974.h>
Georgi Djakov9db95592017-03-16 14:55:09 +02005#include <dt-bindings/clock/qcom,rpmcc.h>
Bhushan Shah73bae192016-07-29 11:39:07 +05306#include <dt-bindings/gpio/gpio.h>
Bjorn Andersson769907a2016-03-28 18:32:36 -07007#include <dt-bindings/reset/qcom,gcc-msm8974.h>
kiran.padwal@smartplayin.combf7f6b02014-09-16 17:15:38 +05308#include "skeleton.dtsi"
Stephen Boyd3933d262014-01-16 17:25:03 -08009
Rohit Vaswani2aec37c2013-12-20 11:09:15 -080010/ {
11 model = "Qualcomm MSM8974";
12 compatible = "qcom,msm8974";
13 interrupt-parent = <&intc>;
14
Bjorn Andersson6297c4b2015-06-26 14:50:17 -070015 reserved-memory {
16 #address-cells = <1>;
17 #size-cells = <1>;
18 ranges;
19
Bjorn Anderssonca3971c2015-12-27 17:17:40 -080020 mpss@08000000 {
21 reg = <0x08000000 0x5100000>;
22 no-map;
23 };
24
25 mba@00d100000 {
26 reg = <0x0d100000 0x100000>;
27 no-map;
28 };
29
30 reserved@0d200000 {
31 reg = <0x0d200000 0xa00000>;
32 no-map;
33 };
34
Bjorn Andersson6f04d7c2016-08-22 22:57:46 -070035 adsp_region: adsp@0dc00000 {
Bjorn Anderssonca3971c2015-12-27 17:17:40 -080036 reg = <0x0dc00000 0x1900000>;
37 no-map;
38 };
39
40 venus@0f500000 {
41 reg = <0x0f500000 0x500000>;
42 no-map;
43 };
44
Bjorn Andersson6297c4b2015-06-26 14:50:17 -070045 smem_region: smem@fa00000 {
46 reg = <0xfa00000 0x200000>;
47 no-map;
48 };
Bjorn Anderssonca3971c2015-12-27 17:17:40 -080049
50 tz@0fc00000 {
51 reg = <0x0fc00000 0x160000>;
52 no-map;
53 };
54
Bjorn Andersson97311192016-03-28 18:32:37 -070055 rfsa@0fd60000 {
56 reg = <0x0fd60000 0x20000>;
57 no-map;
58 };
59
60 rmtfs@0fd80000 {
61 reg = <0x0fd80000 0x180000>;
Bjorn Anderssonca3971c2015-12-27 17:17:40 -080062 no-map;
63 };
Bjorn Andersson6297c4b2015-06-26 14:50:17 -070064 };
65
Rohit Vaswani2ab27992013-11-01 10:10:40 -070066 cpus {
67 #address-cells = <1>;
68 #size-cells = <0>;
69 interrupts = <1 9 0xf04>;
Rohit Vaswani2ab27992013-11-01 10:10:40 -070070
Ivan T. Ivanov1e202232017-02-03 20:36:28 +020071 CPU0: cpu@0 {
Kumar Galaba082202014-05-28 12:01:29 -050072 compatible = "qcom,krait";
73 enable-method = "qcom,kpss-acc-v2";
Rohit Vaswani2ab27992013-11-01 10:10:40 -070074 device_type = "cpu";
75 reg = <0>;
76 next-level-cache = <&L2>;
77 qcom,acc = <&acc0>;
Lina Iyer8c76a632015-03-25 14:25:30 -060078 qcom,saw = <&saw0>;
Lina Iyerd596d622015-03-25 14:25:33 -060079 cpu-idle-states = <&CPU_SPC>;
Rohit Vaswani2ab27992013-11-01 10:10:40 -070080 };
81
Ivan T. Ivanov1e202232017-02-03 20:36:28 +020082 CPU1: cpu@1 {
Kumar Galaba082202014-05-28 12:01:29 -050083 compatible = "qcom,krait";
84 enable-method = "qcom,kpss-acc-v2";
Rohit Vaswani2ab27992013-11-01 10:10:40 -070085 device_type = "cpu";
86 reg = <1>;
87 next-level-cache = <&L2>;
88 qcom,acc = <&acc1>;
Lina Iyer8c76a632015-03-25 14:25:30 -060089 qcom,saw = <&saw1>;
Lina Iyerd596d622015-03-25 14:25:33 -060090 cpu-idle-states = <&CPU_SPC>;
Rohit Vaswani2ab27992013-11-01 10:10:40 -070091 };
92
Ivan T. Ivanov1e202232017-02-03 20:36:28 +020093 CPU2: cpu@2 {
Kumar Galaba082202014-05-28 12:01:29 -050094 compatible = "qcom,krait";
95 enable-method = "qcom,kpss-acc-v2";
Rohit Vaswani2ab27992013-11-01 10:10:40 -070096 device_type = "cpu";
97 reg = <2>;
98 next-level-cache = <&L2>;
99 qcom,acc = <&acc2>;
Lina Iyer8c76a632015-03-25 14:25:30 -0600100 qcom,saw = <&saw2>;
Lina Iyerd596d622015-03-25 14:25:33 -0600101 cpu-idle-states = <&CPU_SPC>;
Rohit Vaswani2ab27992013-11-01 10:10:40 -0700102 };
103
Ivan T. Ivanov1e202232017-02-03 20:36:28 +0200104 CPU3: cpu@3 {
Kumar Galaba082202014-05-28 12:01:29 -0500105 compatible = "qcom,krait";
106 enable-method = "qcom,kpss-acc-v2";
Rohit Vaswani2ab27992013-11-01 10:10:40 -0700107 device_type = "cpu";
108 reg = <3>;
109 next-level-cache = <&L2>;
110 qcom,acc = <&acc3>;
Lina Iyer8c76a632015-03-25 14:25:30 -0600111 qcom,saw = <&saw3>;
Lina Iyerd596d622015-03-25 14:25:33 -0600112 cpu-idle-states = <&CPU_SPC>;
Rohit Vaswani2ab27992013-11-01 10:10:40 -0700113 };
114
115 L2: l2-cache {
116 compatible = "cache";
117 cache-level = <2>;
Rohit Vaswani2ab27992013-11-01 10:10:40 -0700118 qcom,saw = <&saw_l2>;
119 };
Lina Iyerd596d622015-03-25 14:25:33 -0600120
121 idle-states {
122 CPU_SPC: spc {
123 compatible = "qcom,idle-state-spc",
124 "arm,idle-state";
125 entry-latency-us = <150>;
126 exit-latency-us = <200>;
127 min-residency-us = <2000>;
128 };
129 };
Rohit Vaswani2ab27992013-11-01 10:10:40 -0700130 };
131
Rajendra Nayakc59ffb52016-08-17 10:48:44 +0530132 thermal-zones {
133 cpu-thermal0 {
134 polling-delay-passive = <250>;
135 polling-delay = <1000>;
136
137 thermal-sensors = <&tsens 5>;
138
139 trips {
140 cpu_alert0: trip0 {
141 temperature = <75000>;
142 hysteresis = <2000>;
143 type = "passive";
144 };
145 cpu_crit0: trip1 {
146 temperature = <110000>;
147 hysteresis = <2000>;
148 type = "critical";
149 };
150 };
151 };
152
153 cpu-thermal1 {
154 polling-delay-passive = <250>;
155 polling-delay = <1000>;
156
157 thermal-sensors = <&tsens 6>;
158
159 trips {
160 cpu_alert1: trip0 {
161 temperature = <75000>;
162 hysteresis = <2000>;
163 type = "passive";
164 };
165 cpu_crit1: trip1 {
166 temperature = <110000>;
167 hysteresis = <2000>;
168 type = "critical";
169 };
170 };
171 };
172
173 cpu-thermal2 {
174 polling-delay-passive = <250>;
175 polling-delay = <1000>;
176
177 thermal-sensors = <&tsens 7>;
178
179 trips {
180 cpu_alert2: trip0 {
181 temperature = <75000>;
182 hysteresis = <2000>;
183 type = "passive";
184 };
185 cpu_crit2: trip1 {
186 temperature = <110000>;
187 hysteresis = <2000>;
188 type = "critical";
189 };
190 };
191 };
192
193 cpu-thermal3 {
194 polling-delay-passive = <250>;
195 polling-delay = <1000>;
196
197 thermal-sensors = <&tsens 8>;
198
199 trips {
200 cpu_alert3: trip0 {
201 temperature = <75000>;
202 hysteresis = <2000>;
203 type = "passive";
204 };
205 cpu_crit3: trip1 {
206 temperature = <110000>;
207 hysteresis = <2000>;
208 type = "critical";
209 };
210 };
211 };
212 };
213
Stephen Boyd3bff5472014-02-21 11:09:50 +0000214 cpu-pmu {
215 compatible = "qcom,krait-pmu";
216 interrupts = <1 7 0xf04>;
217 };
218
Stephen Boyd30fc4212016-01-06 17:41:51 -0800219 clocks {
Ritesh Harjania91b2e62016-11-21 12:07:14 +0530220 xo_board: xo_board {
Stephen Boyd30fc4212016-01-06 17:41:51 -0800221 compatible = "fixed-clock";
222 #clock-cells = <0>;
223 clock-frequency = <19200000>;
224 };
225
Ritesh Harjania91b2e62016-11-21 12:07:14 +0530226 sleep_clk: sleep_clk {
Stephen Boyd30fc4212016-01-06 17:41:51 -0800227 compatible = "fixed-clock";
228 #clock-cells = <0>;
229 clock-frequency = <32768>;
230 };
231 };
232
Kumar Galaba082202014-05-28 12:01:29 -0500233 timer {
234 compatible = "arm,armv7-timer";
235 interrupts = <1 2 0xf08>,
236 <1 3 0xf08>,
237 <1 4 0xf08>,
238 <1 1 0xf08>;
239 clock-frequency = <19200000>;
240 };
241
Bjorn Andersson6f04d7c2016-08-22 22:57:46 -0700242 adsp-pil {
243 compatible = "qcom,msm8974-adsp-pil";
244
245 interrupts-extended = <&intc 0 162 IRQ_TYPE_EDGE_RISING>,
246 <&adsp_smp2p_in 0 IRQ_TYPE_EDGE_RISING>,
247 <&adsp_smp2p_in 1 IRQ_TYPE_EDGE_RISING>,
248 <&adsp_smp2p_in 2 IRQ_TYPE_EDGE_RISING>,
249 <&adsp_smp2p_in 3 IRQ_TYPE_EDGE_RISING>;
250 interrupt-names = "wdog", "fatal", "ready", "handover", "stop-ack";
251
252 cx-supply = <&pm8841_s2>;
253
Jonathan Neuschäfer4d931752017-03-07 03:22:00 +0100254 clocks = <&xo_board>;
255 clock-names = "xo";
256
Bjorn Andersson6f04d7c2016-08-22 22:57:46 -0700257 memory-region = <&adsp_region>;
258
259 qcom,smem-states = <&adsp_smp2p_out 0>;
260 qcom,smem-state-names = "stop";
261 };
262
Stephen Boydd0bfd7c2015-10-08 13:34:09 -0500263 smem {
264 compatible = "qcom,smem";
265
266 memory-region = <&smem_region>;
267 qcom,rpm-msg-ram = <&rpm_msg_ram>;
268
269 hwlocks = <&tcsr_mutex 3>;
270 };
271
Bjorn Andersson3028cba2016-08-22 22:57:45 -0700272 smp2p-adsp {
273 compatible = "qcom,smp2p";
274 qcom,smem = <443>, <429>;
275
276 interrupt-parent = <&intc>;
277 interrupts = <0 158 IRQ_TYPE_EDGE_RISING>;
278
279 qcom,ipc = <&apcs 8 10>;
280
281 qcom,local-pid = <0>;
282 qcom,remote-pid = <2>;
283
284 adsp_smp2p_out: master-kernel {
285 qcom,entry-name = "master-kernel";
286 #qcom,smem-state-cells = <1>;
287 };
288
289 adsp_smp2p_in: slave-kernel {
290 qcom,entry-name = "slave-kernel";
291
292 interrupt-controller;
293 #interrupt-cells = <2>;
294 };
295 };
296
Bjorn Andersson5d3178c2016-03-28 18:32:39 -0700297 smp2p-modem {
298 compatible = "qcom,smp2p";
299 qcom,smem = <435>, <428>;
300
301 interrupt-parent = <&intc>;
302 interrupts = <0 27 IRQ_TYPE_EDGE_RISING>;
303
304 qcom,ipc = <&apcs 8 14>;
305
306 qcom,local-pid = <0>;
307 qcom,remote-pid = <1>;
308
309 modem_smp2p_out: master-kernel {
310 qcom,entry-name = "master-kernel";
Andy Gross30f1e2d2016-06-12 01:20:11 -0500311 #qcom,smem-state-cells = <1>;
Bjorn Andersson5d3178c2016-03-28 18:32:39 -0700312 };
313
314 modem_smp2p_in: slave-kernel {
315 qcom,entry-name = "slave-kernel";
316
317 interrupt-controller;
318 #interrupt-cells = <2>;
319 };
320 };
321
Bjorn Andersson7ccb11e2015-12-27 17:51:13 -0800322 smp2p-wcnss {
323 compatible = "qcom,smp2p";
324 qcom,smem = <451>, <431>;
325
326 interrupt-parent = <&intc>;
327 interrupts = <0 143 IRQ_TYPE_EDGE_RISING>;
328
329 qcom,ipc = <&apcs 8 18>;
330
331 qcom,local-pid = <0>;
332 qcom,remote-pid = <4>;
333
334 wcnss_smp2p_out: master-kernel {
335 qcom,entry-name = "master-kernel";
336
Andy Gross30f1e2d2016-06-12 01:20:11 -0500337 #qcom,smem-state-cells = <1>;
Bjorn Andersson7ccb11e2015-12-27 17:51:13 -0800338 };
339
340 wcnss_smp2p_in: slave-kernel {
341 qcom,entry-name = "slave-kernel";
342
343 interrupt-controller;
344 #interrupt-cells = <2>;
345 };
346 };
347
Bjorn Andersson9af88b22015-12-27 17:47:08 -0800348 smsm {
349 compatible = "qcom,smsm";
350
351 #address-cells = <1>;
352 #size-cells = <0>;
353
354 qcom,ipc-1 = <&apcs 8 13>;
355 qcom,ipc-2 = <&apcs 8 9>;
356 qcom,ipc-3 = <&apcs 8 19>;
357
358 apps_smsm: apps@0 {
359 reg = <0>;
360
Andy Gross30f1e2d2016-06-12 01:20:11 -0500361 #qcom,smem-state-cells = <1>;
Bjorn Andersson9af88b22015-12-27 17:47:08 -0800362 };
363
364 modem_smsm: modem@1 {
365 reg = <1>;
366 interrupts = <0 26 IRQ_TYPE_EDGE_RISING>;
367
368 interrupt-controller;
369 #interrupt-cells = <2>;
370 };
371
372 adsp_smsm: adsp@2 {
373 reg = <2>;
374 interrupts = <0 157 IRQ_TYPE_EDGE_RISING>;
375
376 interrupt-controller;
377 #interrupt-cells = <2>;
378 };
379
380 wcnss_smsm: wcnss@7 {
381 reg = <7>;
382 interrupts = <0 144 IRQ_TYPE_EDGE_RISING>;
383
384 interrupt-controller;
385 #interrupt-cells = <2>;
386 };
387 };
388
Andy Grosse0e7da52016-06-03 18:25:29 -0500389 firmware {
390 scm {
391 compatible = "qcom,scm";
392 clocks = <&gcc GCC_CE1_CLK>, <&gcc GCC_CE1_AXI_CLK>, <&gcc GCC_CE1_AHB_CLK>;
393 clock-names = "core", "bus", "iface";
394 };
395 };
396
Rohit Vaswani2aec37c2013-12-20 11:09:15 -0800397 soc: soc {
398 #address-cells = <1>;
399 #size-cells = <1>;
400 ranges;
401 compatible = "simple-bus";
402
403 intc: interrupt-controller@f9000000 {
404 compatible = "qcom,msm-qgic2";
405 interrupt-controller;
406 #interrupt-cells = <3>;
407 reg = <0xf9000000 0x1000>,
408 <0xf9002000 0x1000>;
409 };
410
Bjorn Andersson45b0ef02015-06-26 14:50:18 -0700411 apcs: syscon@f9011000 {
412 compatible = "syscon";
413 reg = <0xf9011000 0x1000>;
414 };
415
Rajendra Nayakc59ffb52016-08-17 10:48:44 +0530416 qfprom: qfprom@fc4bc000 {
417 #address-cells = <1>;
418 #size-cells = <1>;
419 compatible = "qcom,qfprom";
420 reg = <0xfc4bc000 0x1000>;
421 tsens_calib: calib@d0 {
422 reg = <0xd0 0x18>;
423 };
424 tsens_backup: backup@440 {
425 reg = <0x440 0x10>;
426 };
427 };
428
429 tsens: thermal-sensor@fc4a8000 {
430 compatible = "qcom,msm8974-tsens";
431 reg = <0xfc4a8000 0x2000>;
432 nvmem-cells = <&tsens_calib>, <&tsens_backup>;
433 nvmem-cell-names = "calib", "calib_backup";
434 #thermal-sensor-cells = <1>;
435 };
436
Stephen Boyd47c5a5d2013-12-20 11:09:19 -0800437 timer@f9020000 {
438 #address-cells = <1>;
439 #size-cells = <1>;
440 ranges;
441 compatible = "arm,armv7-timer-mem";
442 reg = <0xf9020000 0x1000>;
443 clock-frequency = <19200000>;
444
445 frame@f9021000 {
446 frame-number = <0>;
447 interrupts = <0 8 0x4>,
448 <0 7 0x4>;
449 reg = <0xf9021000 0x1000>,
450 <0xf9022000 0x1000>;
451 };
452
453 frame@f9023000 {
454 frame-number = <1>;
455 interrupts = <0 9 0x4>;
456 reg = <0xf9023000 0x1000>;
457 status = "disabled";
458 };
459
460 frame@f9024000 {
461 frame-number = <2>;
462 interrupts = <0 10 0x4>;
463 reg = <0xf9024000 0x1000>;
464 status = "disabled";
465 };
466
467 frame@f9025000 {
468 frame-number = <3>;
469 interrupts = <0 11 0x4>;
470 reg = <0xf9025000 0x1000>;
471 status = "disabled";
472 };
473
474 frame@f9026000 {
475 frame-number = <4>;
476 interrupts = <0 12 0x4>;
477 reg = <0xf9026000 0x1000>;
478 status = "disabled";
479 };
480
481 frame@f9027000 {
482 frame-number = <5>;
483 interrupts = <0 13 0x4>;
484 reg = <0xf9027000 0x1000>;
485 status = "disabled";
486 };
487
488 frame@f9028000 {
489 frame-number = <6>;
490 interrupts = <0 14 0x4>;
491 reg = <0xf9028000 0x1000>;
492 status = "disabled";
493 };
494 };
495
Lina Iyer8c76a632015-03-25 14:25:30 -0600496 saw0: power-controller@f9089000 {
497 compatible = "qcom,msm8974-saw2-v2.1-cpu", "qcom,saw2";
498 reg = <0xf9089000 0x1000>, <0xf9009000 0x1000>;
499 };
500
501 saw1: power-controller@f9099000 {
502 compatible = "qcom,msm8974-saw2-v2.1-cpu", "qcom,saw2";
503 reg = <0xf9099000 0x1000>, <0xf9009000 0x1000>;
504 };
505
506 saw2: power-controller@f90a9000 {
507 compatible = "qcom,msm8974-saw2-v2.1-cpu", "qcom,saw2";
508 reg = <0xf90a9000 0x1000>, <0xf9009000 0x1000>;
509 };
510
511 saw3: power-controller@f90b9000 {
512 compatible = "qcom,msm8974-saw2-v2.1-cpu", "qcom,saw2";
513 reg = <0xf90b9000 0x1000>, <0xf9009000 0x1000>;
514 };
515
516 saw_l2: power-controller@f9012000 {
Rohit Vaswani2ab27992013-11-01 10:10:40 -0700517 compatible = "qcom,saw2";
518 reg = <0xf9012000 0x1000>;
519 regulator;
520 };
521
522 acc0: clock-controller@f9088000 {
523 compatible = "qcom,kpss-acc-v2";
524 reg = <0xf9088000 0x1000>, <0xf9008000 0x1000>;
525 };
526
527 acc1: clock-controller@f9098000 {
528 compatible = "qcom,kpss-acc-v2";
529 reg = <0xf9098000 0x1000>, <0xf9008000 0x1000>;
530 };
531
532 acc2: clock-controller@f90a8000 {
533 compatible = "qcom,kpss-acc-v2";
534 reg = <0xf90a8000 0x1000>, <0xf9008000 0x1000>;
535 };
536
537 acc3: clock-controller@f90b8000 {
538 compatible = "qcom,kpss-acc-v2";
539 reg = <0xf90b8000 0x1000>, <0xf9008000 0x1000>;
540 };
541
Stephen Boyd74e848f2013-12-20 11:09:18 -0800542 restart@fc4ab000 {
543 compatible = "qcom,pshold";
544 reg = <0xfc4ab000 0x4>;
545 };
Stephen Boyd3933d262014-01-16 17:25:03 -0800546
547 gcc: clock-controller@fc400000 {
548 compatible = "qcom,gcc-msm8974";
549 #clock-cells = <1>;
550 #reset-cells = <1>;
Rajendra Nayak89c7e672015-10-01 14:56:02 +0530551 #power-domain-cells = <1>;
Stephen Boyd3933d262014-01-16 17:25:03 -0800552 reg = <0xfc400000 0x4000>;
553 };
554
Bjorn Anderssonb4e745e2015-06-26 14:50:16 -0700555 tcsr_mutex_block: syscon@fd484000 {
556 compatible = "syscon";
557 reg = <0xfd484000 0x2000>;
558 };
559
Stephen Boyd3933d262014-01-16 17:25:03 -0800560 mmcc: clock-controller@fd8c0000 {
561 compatible = "qcom,mmcc-msm8974";
562 #clock-cells = <1>;
563 #reset-cells = <1>;
Rajendra Nayak89c7e672015-10-01 14:56:02 +0530564 #power-domain-cells = <1>;
Stephen Boyd3933d262014-01-16 17:25:03 -0800565 reg = <0xfd8c0000 0x6000>;
566 };
567
Bjorn Anderssonb4e745e2015-06-26 14:50:16 -0700568 tcsr_mutex: tcsr-mutex {
569 compatible = "qcom,tcsr-mutex";
570 syscon = <&tcsr_mutex_block 0 0x80>;
571
572 #hwlock-cells = <1>;
573 };
574
Stephen Boydd0bfd7c2015-10-08 13:34:09 -0500575 rpm_msg_ram: memory@fc428000 {
576 compatible = "qcom,rpm-msg-ram";
Bjorn Andersson6297c4b2015-06-26 14:50:17 -0700577 reg = <0xfc428000 0x4000>;
Bjorn Andersson6297c4b2015-06-26 14:50:17 -0700578 };
579
Bhushan Shah5cae8a92016-07-13 13:04:26 +0530580 blsp1_uart1: serial@f991d000 {
581 compatible = "qcom,msm-uartdm-v1.4", "qcom,msm-uartdm";
582 reg = <0xf991d000 0x1000>;
583 interrupts = <0 107 0x0>;
584 clocks = <&gcc GCC_BLSP1_UART1_APPS_CLK>, <&gcc GCC_BLSP1_AHB_CLK>;
585 clock-names = "core", "iface";
586 status = "disabled";
587 };
588
Stephen Boyd10bfcfe2015-06-16 14:31:44 -0700589 blsp1_uart2: serial@f991e000 {
Stephen Boyd3933d262014-01-16 17:25:03 -0800590 compatible = "qcom,msm-uartdm-v1.4", "qcom,msm-uartdm";
591 reg = <0xf991e000 0x1000>;
592 interrupts = <0 108 0x0>;
593 clocks = <&gcc GCC_BLSP1_UART2_APPS_CLK>, <&gcc GCC_BLSP1_AHB_CLK>;
594 clock-names = "core", "iface";
Kumar Galaba082202014-05-28 12:01:29 -0500595 status = "disabled";
Stephen Boyd3933d262014-01-16 17:25:03 -0800596 };
Stanimir Varbanov19f4f8c2014-02-07 11:23:07 +0200597
Georgi Djakov3e944c72014-01-31 16:21:56 +0200598 sdhci@f9824900 {
599 compatible = "qcom,sdhci-msm-v4";
600 reg = <0xf9824900 0x11c>, <0xf9824000 0x800>;
601 reg-names = "hc_mem", "core_mem";
602 interrupts = <0 123 0>, <0 138 0>;
603 interrupt-names = "hc_irq", "pwr_irq";
Ritesh Harjania91b2e62016-11-21 12:07:14 +0530604 clocks = <&gcc GCC_SDCC1_APPS_CLK>,
605 <&gcc GCC_SDCC1_AHB_CLK>,
606 <&xo_board>;
607 clock-names = "core", "iface", "xo";
Georgi Djakov3e944c72014-01-31 16:21:56 +0200608 status = "disabled";
609 };
610
611 sdhci@f98a4900 {
612 compatible = "qcom,sdhci-msm-v4";
613 reg = <0xf98a4900 0x11c>, <0xf98a4000 0x800>;
614 reg-names = "hc_mem", "core_mem";
615 interrupts = <0 125 0>, <0 221 0>;
616 interrupt-names = "hc_irq", "pwr_irq";
Ritesh Harjania91b2e62016-11-21 12:07:14 +0530617 clocks = <&gcc GCC_SDCC2_APPS_CLK>,
618 <&gcc GCC_SDCC2_AHB_CLK>,
619 <&xo_board>;
620 clock-names = "core", "iface", "xo";
Georgi Djakov3e944c72014-01-31 16:21:56 +0200621 status = "disabled";
622 };
623
Stanimir Varbanov19f4f8c2014-02-07 11:23:07 +0200624 rng@f9bff000 {
625 compatible = "qcom,prng";
626 reg = <0xf9bff000 0x200>;
627 clocks = <&gcc GCC_PRNG_AHB_CLK>;
628 clock-names = "core";
629 };
Ivan T. Ivanov7d7db8d2014-02-06 17:28:49 +0200630
631 msmgpio: pinctrl@fd510000 {
632 compatible = "qcom,msm8974-pinctrl";
633 reg = <0xfd510000 0x4000>;
634 gpio-controller;
635 #gpio-cells = <2>;
636 interrupt-controller;
637 #interrupt-cells = <2>;
638 interrupts = <0 208 0>;
Ivan T. Ivanov7d7db8d2014-02-06 17:28:49 +0200639 };
kiran.padwal@smartplayin.combf7f6b02014-09-16 17:15:38 +0530640
Bjorn Andersson89af1c22016-03-28 18:32:38 -0700641 i2c@f9924000 {
642 status = "disabled";
643 compatible = "qcom,i2c-qup-v2.1.1";
644 reg = <0xf9924000 0x1000>;
645 interrupts = <0 96 IRQ_TYPE_NONE>;
646 clocks = <&gcc GCC_BLSP1_QUP2_I2C_APPS_CLK>, <&gcc GCC_BLSP1_AHB_CLK>;
647 clock-names = "core", "iface";
648 #address-cells = <1>;
649 #size-cells = <0>;
650 };
651
Bjorn Andersson580df592015-11-23 21:54:34 -0800652 blsp_i2c8: i2c@f9964000 {
653 status = "disabled";
654 compatible = "qcom,i2c-qup-v2.1.1";
655 reg = <0xf9964000 0x1000>;
656 interrupts = <0 102 IRQ_TYPE_NONE>;
657 clocks = <&gcc GCC_BLSP2_QUP2_I2C_APPS_CLK>, <&gcc GCC_BLSP2_AHB_CLK>;
658 clock-names = "core", "iface";
659 #address-cells = <1>;
660 #size-cells = <0>;
661 };
662
kiran.padwal@smartplayin.combf7f6b02014-09-16 17:15:38 +0530663 blsp_i2c11: i2c@f9967000 {
Michael Opdenacker04edde22015-10-13 14:02:00 +0200664 status = "disabled";
kiran.padwal@smartplayin.combf7f6b02014-09-16 17:15:38 +0530665 compatible = "qcom,i2c-qup-v2.1.1";
666 reg = <0xf9967000 0x1000>;
667 interrupts = <0 105 IRQ_TYPE_NONE>;
668 clocks = <&gcc GCC_BLSP2_QUP5_I2C_APPS_CLK>, <&gcc GCC_BLSP2_AHB_CLK>;
669 clock-names = "core", "iface";
670 #address-cells = <1>;
671 #size-cells = <0>;
Andy Gross938b4d42016-06-09 22:45:27 -0500672 dmas = <&blsp2_dma 20>, <&blsp2_dma 21>;
673 dma-names = "tx", "rx";
kiran.padwal@smartplayin.combf7f6b02014-09-16 17:15:38 +0530674 };
Ivan T. Ivanovaf22e462015-02-03 14:17:58 +0200675
676 spmi_bus: spmi@fc4cf000 {
677 compatible = "qcom,spmi-pmic-arb";
678 reg-names = "core", "intr", "cnfg";
679 reg = <0xfc4cf000 0x1000>,
680 <0xfc4cb000 0x1000>,
681 <0xfc4ca000 0x1000>;
682 interrupt-names = "periph_irq";
683 interrupts = <0 190 0>;
684 qcom,ee = <0>;
685 qcom,channel = <0>;
686 #address-cells = <2>;
687 #size-cells = <0>;
688 interrupt-controller;
689 #interrupt-cells = <4>;
690 };
Andy Grossd44cbb12016-06-09 22:45:11 -0500691
692 blsp2_dma: dma-controller@f9944000 {
693 compatible = "qcom,bam-v1.4.0";
694 reg = <0xf9944000 0x19000>;
695 interrupts = <GIC_SPI 239 IRQ_TYPE_LEVEL_HIGH>;
696 clocks = <&gcc GCC_BLSP2_AHB_CLK>;
697 clock-names = "bam_clk";
698 #dma-cells = <1>;
699 qcom,ee = <0>;
700 };
Bjorn Andersson769907a2016-03-28 18:32:36 -0700701
702 usb1_phy: usb-phy@f9a55000 {
703 compatible = "qcom,usb-otg-snps";
704
705 reg = <0xf9a55000 0x400>;
706 interrupts-extended = <&intc 0 134 0>, <&intc 0 140 0>,
707 <&spmi_bus 0 0x9 0 0>;
708 interrupt-names = "core_irq", "async_irq", "pmic_id_irq";
709
710 vddcx-supply = <&pm8841_s2>;
711 v3p3-supply = <&pm8941_l24>;
712 v1p8-supply = <&pm8941_l6>;
713
714 dr_mode = "otg";
715 qcom,phy-init-sequence = <0x63 0x81 0xfffffff>;
716 qcom,otg-control = <1>;
717 qcom,phy-num = <0>;
718
719 resets = <&gcc GCC_USB2A_PHY_BCR>, <&gcc GCC_USB_HS_BCR>;
720 reset-names = "phy", "link";
721
722 clocks = <&gcc GCC_XO_CLK>, <&gcc GCC_USB_HS_SYSTEM_CLK>,
723 <&gcc GCC_USB_HS_AHB_CLK>;
724 clock-names = "phy", "core", "iface";
725
726 status = "disabled";
727 };
728
729 usb@f9a55000 {
730 compatible = "qcom,ci-hdrc";
731 reg = <0xf9a55000 0x400>;
732 dr_mode = "otg";
733 interrupts = <0 134 0>, <0 140 0>;
734 interrupt-names = "core_irq", "async_irq";
735 usb-phy = <&usb1_phy>;
736
737 status = "disabled";
738 };
Ivan T. Ivanov1e202232017-02-03 20:36:28 +0200739
740 etr@fc322000 {
741 compatible = "arm,coresight-tmc", "arm,primecell";
742 reg = <0xfc322000 0x1000>;
743
744 clocks = <&rpmcc RPM_SMD_QDSS_CLK>, <&rpmcc RPM_SMD_QDSS_A_CLK>;
745 clock-names = "apb_pclk", "atclk";
746
747 port {
748 etr_in: endpoint {
749 slave-mode;
750 remote-endpoint = <&replicator_out0>;
751 };
752 };
753 };
754
755 tpiu@fc318000 {
756 compatible = "arm,coresight-tpiu", "arm,primecell";
757 reg = <0xfc318000 0x1000>;
758
759 clocks = <&rpmcc RPM_SMD_QDSS_CLK>, <&rpmcc RPM_SMD_QDSS_A_CLK>;
760 clock-names = "apb_pclk", "atclk";
761
762 port {
763 tpiu_in: endpoint {
764 slave-mode;
765 remote-endpoint = <&replicator_out1>;
766 };
767 };
768 };
769
770 replicator@fc31c000 {
771 compatible = "qcom,coresight-replicator1x", "arm,primecell";
772 reg = <0xfc31c000 0x1000>;
773
774 clocks = <&rpmcc RPM_SMD_QDSS_CLK>, <&rpmcc RPM_SMD_QDSS_A_CLK>;
775 clock-names = "apb_pclk", "atclk";
776
777 ports {
778 #address-cells = <1>;
779 #size-cells = <0>;
780
781 port@0 {
782 reg = <0>;
783 replicator_out0: endpoint {
784 remote-endpoint = <&etr_in>;
785 };
786 };
787 port@1 {
788 reg = <1>;
789 replicator_out1: endpoint {
790 remote-endpoint = <&tpiu_in>;
791 };
792 };
793 port@2 {
794 reg = <0>;
795 replicator_in: endpoint {
796 slave-mode;
797 remote-endpoint = <&etf_out>;
798 };
799 };
800 };
801 };
802
803 etf@fc307000 {
804 compatible = "arm,coresight-tmc", "arm,primecell";
805 reg = <0xfc307000 0x1000>;
806
807 clocks = <&rpmcc RPM_SMD_QDSS_CLK>, <&rpmcc RPM_SMD_QDSS_A_CLK>;
808 clock-names = "apb_pclk", "atclk";
809
810 ports {
811 #address-cells = <1>;
812 #size-cells = <0>;
813
814 port@0 {
815 reg = <0>;
816 etf_out: endpoint {
817 remote-endpoint = <&replicator_in>;
818 };
819 };
820 port@1 {
821 reg = <0>;
822 etf_in: endpoint {
823 slave-mode;
824 remote-endpoint = <&merger_out>;
825 };
826 };
827 };
828 };
829
830 funnel@fc31b000 {
831 compatible = "arm,coresight-funnel", "arm,primecell";
832 reg = <0xfc31b000 0x1000>;
833
834 clocks = <&rpmcc RPM_SMD_QDSS_CLK>, <&rpmcc RPM_SMD_QDSS_A_CLK>;
835 clock-names = "apb_pclk", "atclk";
836
837 ports {
838 #address-cells = <1>;
839 #size-cells = <0>;
840
841 /*
842 * Not described input ports:
843 * 0 - connected trought funnel to Audio, Modem and
844 * Resource and Power Manager CPU's
845 * 2...7 - not-connected
846 */
847 port@1 {
848 reg = <1>;
849 merger_in1: endpoint {
850 slave-mode;
851 remote-endpoint = <&funnel1_out>;
852 };
853 };
854 port@8 {
855 reg = <0>;
856 merger_out: endpoint {
857 remote-endpoint = <&etf_in>;
858 };
859 };
860 };
861 };
862
863 funnel@fc31a000 {
864 compatible = "arm,coresight-funnel", "arm,primecell";
865 reg = <0xfc31a000 0x1000>;
866
867 clocks = <&rpmcc RPM_SMD_QDSS_CLK>, <&rpmcc RPM_SMD_QDSS_A_CLK>;
868 clock-names = "apb_pclk", "atclk";
869
870 ports {
871 #address-cells = <1>;
872 #size-cells = <0>;
873
874 /*
875 * Not described input ports:
876 * 0 - not-connected
877 * 1 - connected trought funnel to Multimedia CPU
878 * 2 - connected to Wireless CPU
879 * 3 - not-connected
880 * 4 - not-connected
881 * 6 - not-connected
882 * 7 - connected to STM
883 */
884 port@5 {
885 reg = <5>;
886 funnel1_in5: endpoint {
887 slave-mode;
888 remote-endpoint = <&kpss_out>;
889 };
890 };
891 port@8 {
892 reg = <0>;
893 funnel1_out: endpoint {
894 remote-endpoint = <&merger_in1>;
895 };
896 };
897 };
898 };
899
900 funnel@fc345000 { /* KPSS funnel only 4 inputs are used */
901 compatible = "arm,coresight-funnel", "arm,primecell";
902 reg = <0xfc345000 0x1000>;
903
904 clocks = <&rpmcc RPM_SMD_QDSS_CLK>, <&rpmcc RPM_SMD_QDSS_A_CLK>;
905 clock-names = "apb_pclk", "atclk";
906
907 ports {
908 #address-cells = <1>;
909 #size-cells = <0>;
910
911 port@0 {
912 reg = <0>;
913 kpss_in0: endpoint {
914 slave-mode;
915 remote-endpoint = <&etm0_out>;
916 };
917 };
918 port@1 {
919 reg = <1>;
920 kpss_in1: endpoint {
921 slave-mode;
922 remote-endpoint = <&etm1_out>;
923 };
924 };
925 port@2 {
926 reg = <2>;
927 kpss_in2: endpoint {
928 slave-mode;
929 remote-endpoint = <&etm2_out>;
930 };
931 };
932 port@3 {
933 reg = <3>;
934 kpss_in3: endpoint {
935 slave-mode;
936 remote-endpoint = <&etm3_out>;
937 };
938 };
939 port@8 {
940 reg = <0>;
941 kpss_out: endpoint {
942 remote-endpoint = <&funnel1_in5>;
943 };
944 };
945 };
946 };
947
948 etm@fc33c000 {
949 compatible = "arm,coresight-etm4x", "arm,primecell";
950 reg = <0xfc33c000 0x1000>;
951
952 clocks = <&rpmcc RPM_SMD_QDSS_CLK>, <&rpmcc RPM_SMD_QDSS_A_CLK>;
953 clock-names = "apb_pclk", "atclk";
954
955 cpu = <&CPU0>;
956
957 port {
958 etm0_out: endpoint {
959 remote-endpoint = <&kpss_in0>;
960 };
961 };
962 };
963
964 etm@fc33d000 {
965 compatible = "arm,coresight-etm4x", "arm,primecell";
966 reg = <0xfc33d000 0x1000>;
967
968 clocks = <&rpmcc RPM_SMD_QDSS_CLK>, <&rpmcc RPM_SMD_QDSS_A_CLK>;
969 clock-names = "apb_pclk", "atclk";
970
971 cpu = <&CPU1>;
972
973 port {
974 etm1_out: endpoint {
975 remote-endpoint = <&kpss_in1>;
976 };
977 };
978 };
979
980 etm@fc33e000 {
981 compatible = "arm,coresight-etm4x", "arm,primecell";
982 reg = <0xfc33e000 0x1000>;
983
984 clocks = <&rpmcc RPM_SMD_QDSS_CLK>, <&rpmcc RPM_SMD_QDSS_A_CLK>;
985 clock-names = "apb_pclk", "atclk";
986
987 cpu = <&CPU2>;
988
989 port {
990 etm2_out: endpoint {
991 remote-endpoint = <&kpss_in2>;
992 };
993 };
994 };
995
996 etm@fc33f000 {
997 compatible = "arm,coresight-etm4x", "arm,primecell";
998 reg = <0xfc33f000 0x1000>;
999
1000 clocks = <&rpmcc RPM_SMD_QDSS_CLK>, <&rpmcc RPM_SMD_QDSS_A_CLK>;
1001 clock-names = "apb_pclk", "atclk";
1002
1003 cpu = <&CPU3>;
1004
1005 port {
1006 etm3_out: endpoint {
1007 remote-endpoint = <&kpss_in3>;
1008 };
1009 };
1010 };
Rohit Vaswani2aec37c2013-12-20 11:09:15 -08001011 };
Bjorn Andersson45b0ef02015-06-26 14:50:18 -07001012
1013 smd {
1014 compatible = "qcom,smd";
1015
Bjorn Andersson3028cba2016-08-22 22:57:45 -07001016 adsp {
1017 interrupts = <0 156 IRQ_TYPE_EDGE_RISING>;
1018
1019 qcom,ipc = <&apcs 8 8>;
1020 qcom,smd-edge = <1>;
1021 };
1022
Bjorn Andersson5d3178c2016-03-28 18:32:39 -07001023 modem {
1024 interrupts = <0 25 IRQ_TYPE_EDGE_RISING>;
1025
1026 qcom,ipc = <&apcs 8 12>;
1027 qcom,smd-edge = <0>;
1028 };
1029
Bjorn Andersson45b0ef02015-06-26 14:50:18 -07001030 rpm {
1031 interrupts = <0 168 1>;
1032 qcom,ipc = <&apcs 8 0>;
1033 qcom,smd-edge = <15>;
1034
1035 rpm_requests {
1036 compatible = "qcom,rpm-msm8974";
1037 qcom,smd-channels = "rpm_requests";
1038
Georgi Djakov9db95592017-03-16 14:55:09 +02001039 rpmcc: clock-controller {
1040 compatible = "qcom,rpmcc-msm8974", "qcom,rpmcc";
1041 #clock-cells = <1>;
1042 };
1043
Bjorn Andersson45b0ef02015-06-26 14:50:18 -07001044 pm8841-regulators {
1045 compatible = "qcom,rpm-pm8841-regulators";
1046
1047 pm8841_s1: s1 {};
1048 pm8841_s2: s2 {};
1049 pm8841_s3: s3 {};
1050 pm8841_s4: s4 {};
1051 pm8841_s5: s5 {};
1052 pm8841_s6: s6 {};
1053 pm8841_s7: s7 {};
1054 pm8841_s8: s8 {};
1055 };
1056
1057 pm8941-regulators {
1058 compatible = "qcom,rpm-pm8941-regulators";
1059
1060 pm8941_s1: s1 {};
1061 pm8941_s2: s2 {};
1062 pm8941_s3: s3 {};
1063 pm8941_5v: s4 {};
1064
1065 pm8941_l1: l1 {};
1066 pm8941_l2: l2 {};
1067 pm8941_l3: l3 {};
1068 pm8941_l4: l4 {};
1069 pm8941_l5: l5 {};
1070 pm8941_l6: l6 {};
1071 pm8941_l7: l7 {};
1072 pm8941_l8: l8 {};
1073 pm8941_l9: l9 {};
1074 pm8941_l10: l10 {};
1075 pm8941_l11: l11 {};
1076 pm8941_l12: l12 {};
1077 pm8941_l13: l13 {};
1078 pm8941_l14: l14 {};
1079 pm8941_l15: l15 {};
1080 pm8941_l16: l16 {};
1081 pm8941_l17: l17 {};
1082 pm8941_l18: l18 {};
1083 pm8941_l19: l19 {};
1084 pm8941_l20: l20 {};
1085 pm8941_l21: l21 {};
1086 pm8941_l22: l22 {};
1087 pm8941_l23: l23 {};
1088 pm8941_l24: l24 {};
1089
1090 pm8941_lvs1: lvs1 {};
1091 pm8941_lvs2: lvs2 {};
1092 pm8941_lvs3: lvs3 {};
1093
1094 pm8941_5vs1: 5vs1 {};
1095 pm8941_5vs2: 5vs2 {};
1096 };
1097 };
1098 };
1099 };
Bhushan Shah0485ef82016-07-29 11:39:08 +05301100
Bhushan Shah73bae192016-07-29 11:39:07 +05301101 vreg_boost: vreg-boost {
1102 compatible = "regulator-fixed";
1103
1104 regulator-name = "vreg-boost";
1105 regulator-min-microvolt = <3150000>;
1106 regulator-max-microvolt = <3150000>;
1107
1108 regulator-always-on;
1109 regulator-boot-on;
1110
1111 gpio = <&pm8941_gpios 21 GPIO_ACTIVE_HIGH>;
1112 enable-active-high;
1113
1114 pinctrl-names = "default";
1115 pinctrl-0 = <&boost_bypass_n_pin>;
1116 };
Bhushan Shah0485ef82016-07-29 11:39:08 +05301117 vreg_vph_pwr: vreg-vph-pwr {
1118 compatible = "regulator-fixed";
1119 regulator-name = "vph-pwr";
1120
1121 regulator-min-microvolt = <3600000>;
1122 regulator-max-microvolt = <3600000>;
1123
1124 regulator-always-on;
1125 };
Rohit Vaswani2aec37c2013-12-20 11:09:15 -08001126};