Commit | Line | Data |
---|---|---|
2aec37c6 RV |
1 | /dts-v1/; |
2 | ||
bf7f6b04 | 3 | #include <dt-bindings/interrupt-controller/irq.h> |
3933d267 | 4 | #include <dt-bindings/clock/qcom,gcc-msm8974.h> |
bf7f6b04 | 5 | #include "skeleton.dtsi" |
3933d267 | 6 | |
2aec37c6 RV |
7 | / { |
8 | model = "Qualcomm MSM8974"; | |
9 | compatible = "qcom,msm8974"; | |
10 | interrupt-parent = <&intc>; | |
11 | ||
6297c4b2 BA |
12 | reserved-memory { |
13 | #address-cells = <1>; | |
14 | #size-cells = <1>; | |
15 | ranges; | |
16 | ||
ca3971cf BA |
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 | ||
6297c4b2 BA |
42 | smem_region: smem@fa00000 { |
43 | reg = <0xfa00000 0x200000>; | |
44 | no-map; | |
45 | }; | |
ca3971cf BA |
46 | |
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 | }; | |
6297c4b2 BA |
61 | }; |
62 | ||
2ab27991 RV |
63 | cpus { |
64 | #address-cells = <1>; | |
65 | #size-cells = <0>; | |
66 | interrupts = <1 9 0xf04>; | |
2ab27991 RV |
67 | |
68 | cpu@0 { | |
ba08220a KG |
69 | compatible = "qcom,krait"; |
70 | enable-method = "qcom,kpss-acc-v2"; | |
2ab27991 RV |
71 | device_type = "cpu"; |
72 | reg = <0>; | |
73 | next-level-cache = <&L2>; | |
74 | qcom,acc = <&acc0>; | |
8c76a638 | 75 | qcom,saw = <&saw0>; |
d596d620 | 76 | cpu-idle-states = <&CPU_SPC>; |
2ab27991 RV |
77 | }; |
78 | ||
79 | cpu@1 { | |
ba08220a KG |
80 | compatible = "qcom,krait"; |
81 | enable-method = "qcom,kpss-acc-v2"; | |
2ab27991 RV |
82 | device_type = "cpu"; |
83 | reg = <1>; | |
84 | next-level-cache = <&L2>; | |
85 | qcom,acc = <&acc1>; | |
8c76a638 | 86 | qcom,saw = <&saw1>; |
d596d620 | 87 | cpu-idle-states = <&CPU_SPC>; |
2ab27991 RV |
88 | }; |
89 | ||
90 | cpu@2 { | |
ba08220a KG |
91 | compatible = "qcom,krait"; |
92 | enable-method = "qcom,kpss-acc-v2"; | |
2ab27991 RV |
93 | device_type = "cpu"; |
94 | reg = <2>; | |
95 | next-level-cache = <&L2>; | |
96 | qcom,acc = <&acc2>; | |
8c76a638 | 97 | qcom,saw = <&saw2>; |
d596d620 | 98 | cpu-idle-states = <&CPU_SPC>; |
2ab27991 RV |
99 | }; |
100 | ||
101 | cpu@3 { | |
ba08220a KG |
102 | compatible = "qcom,krait"; |
103 | enable-method = "qcom,kpss-acc-v2"; | |
2ab27991 RV |
104 | device_type = "cpu"; |
105 | reg = <3>; | |
106 | next-level-cache = <&L2>; | |
107 | qcom,acc = <&acc3>; | |
8c76a638 | 108 | qcom,saw = <&saw3>; |
d596d620 | 109 | cpu-idle-states = <&CPU_SPC>; |
2ab27991 RV |
110 | }; |
111 | ||
112 | L2: l2-cache { | |
113 | compatible = "cache"; | |
114 | cache-level = <2>; | |
2ab27991 RV |
115 | qcom,saw = <&saw_l2>; |
116 | }; | |
d596d620 LI |
117 | |
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 | }; | |
2ab27991 RV |
127 | }; |
128 | ||
3bff5474 SB |
129 | cpu-pmu { |
130 | compatible = "qcom,krait-pmu"; | |
131 | interrupts = <1 7 0xf04>; | |
132 | }; | |
133 | ||
ba08220a KG |
134 | 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 | ||
d0bfd7c9 SB |
143 | 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 | ||
7ccb11e7 BA |
152 | 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 | ||
9af88b2d BA |
178 | 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 | ||
2aec37c6 RV |
219 | 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 | ||
45b0ef05 BA |
233 | apcs: syscon@f9011000 { |
234 | compatible = "syscon"; | |
235 | reg = <0xf9011000 0x1000>; | |
236 | }; | |
237 | ||
47c5a5d6 SB |
238 | 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 | ||
8c76a638 LI |
297 | 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 { | |
2ab27991 RV |
318 | 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 | ||
74e848f6 SB |
343 | restart@fc4ab000 { |
344 | compatible = "qcom,pshold"; | |
345 | reg = <0xfc4ab000 0x4>; | |
346 | }; | |
3933d267 SB |
347 | |
348 | gcc: clock-controller@fc400000 { | |
349 | compatible = "qcom,gcc-msm8974"; | |
350 | #clock-cells = <1>; | |
351 | #reset-cells = <1>; | |
89c7e671 | 352 | #power-domain-cells = <1>; |
3933d267 SB |
353 | reg = <0xfc400000 0x4000>; |
354 | }; | |
355 | ||
b4e745e1 BA |
356 | tcsr_mutex_block: syscon@fd484000 { |
357 | compatible = "syscon"; | |
358 | reg = <0xfd484000 0x2000>; | |
359 | }; | |
360 | ||
3933d267 SB |
361 | mmcc: clock-controller@fd8c0000 { |
362 | compatible = "qcom,mmcc-msm8974"; | |
363 | #clock-cells = <1>; | |
364 | #reset-cells = <1>; | |
89c7e671 | 365 | #power-domain-cells = <1>; |
3933d267 SB |
366 | reg = <0xfd8c0000 0x6000>; |
367 | }; | |
368 | ||
b4e745e1 BA |
369 | tcsr_mutex: tcsr-mutex { |
370 | compatible = "qcom,tcsr-mutex"; | |
371 | syscon = <&tcsr_mutex_block 0 0x80>; | |
372 | ||
373 | #hwlock-cells = <1>; | |
374 | }; | |
375 | ||
d0bfd7c9 SB |
376 | rpm_msg_ram: memory@fc428000 { |
377 | compatible = "qcom,rpm-msg-ram"; | |
6297c4b2 | 378 | reg = <0xfc428000 0x4000>; |
6297c4b2 BA |
379 | }; |
380 | ||
10bfcfea | 381 | blsp1_uart2: serial@f991e000 { |
3933d267 SB |
382 | 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"; | |
ba08220a | 387 | status = "disabled"; |
3933d267 | 388 | }; |
19f4f8c1 | 389 | |
3e944c76 GD |
390 | 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 | ||
19f4f8c1 SV |
412 | rng@f9bff000 { |
413 | compatible = "qcom,prng"; | |
414 | reg = <0xf9bff000 0x200>; | |
415 | clocks = <&gcc GCC_PRNG_AHB_CLK>; | |
416 | clock-names = "core"; | |
417 | }; | |
7d7db8db II |
418 | |
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>; | |
7d7db8db | 427 | }; |
bf7f6b04 | 428 | |
580df59f BA |
429 | 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 | ||
bf7f6b04 | 440 | blsp_i2c11: i2c@f9967000 { |
04edde25 | 441 | status = "disabled"; |
bf7f6b04 | 442 | 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 | }; | |
af22e46d II |
450 | |
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 | }; | |
2aec37c6 | 466 | }; |
45b0ef05 BA |
467 | |
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 | }; | |
2aec37c6 | 536 | }; |