blob: 9344af07b6c7232c3da6725cea384dac80a64532 [file] [log] [blame]
Runmin Wang4f5985b2017-04-19 15:55:12 -07001// SPDX-License-Identifier: GPL-2.0
2/*
3 * Copyright (c) 2018, The Linux Foundation. All rights reserved.
4 */
5
6#include "skeleton64.dtsi"
Deepak Katragadda5bbf8142018-06-20 16:12:13 -07007
8#include <dt-bindings/clock/qcom,aop-qmp.h>
9#include <dt-bindings/clock/qcom,camcc-kona.h>
10#include <dt-bindings/clock/qcom,cpucc-kona.h>
11#include <dt-bindings/clock/qcom,dispcc-kona.h>
12#include <dt-bindings/clock/qcom,gcc-kona.h>
13#include <dt-bindings/clock/qcom,gpucc-kona.h>
14#include <dt-bindings/clock/qcom,npucc-kona.h>
15#include <dt-bindings/clock/qcom,rpmh.h>
16#include <dt-bindings/clock/qcom,videocc-kona.h>
Runmin Wang4f5985b2017-04-19 15:55:12 -070017#include <dt-bindings/interrupt-controller/arm-gic.h>
Raghavendra Rao Ananta02957962018-08-06 15:28:34 -070018#include <dt-bindings/soc/qcom,ipcc.h>
Lina Iyerea91c722018-06-20 14:58:05 -060019#include <dt-bindings/soc/qcom,rpmh-rsc.h>
Deepak Katragadda5bbf8142018-06-20 16:12:13 -070020
David Collins54e45302018-06-29 18:46:53 -070021#include "kona-regulators.dtsi"
22
Runmin Wang4f5985b2017-04-19 15:55:12 -070023/ {
24 model = "Qualcomm Technologies, Inc. kona";
25 compatible = "qcom,kona";
26 qcom,msm-id = <356 0x10000>;
27 interrupt-parent = <&intc>;
28
Can Guob04bed52018-07-10 19:27:32 -070029 aliases {
30 ufshc1 = &ufshc_mem; /* Embedded UFS slot */
31 };
32
Runmin Wang4f5985b2017-04-19 15:55:12 -070033 cpus {
34 #address-cells = <2>;
35 #size-cells = <0>;
36
37 CPU0: cpu@0 {
38 device_type = "cpu";
39 compatible = "qcom,kryo";
40 reg = <0x0 0x0>;
41 enable-method = "spin-table";
42 cache-size = <0x8000>;
43 cpu-release-addr = <0x0 0x90000000>;
44 next-level-cache = <&L2_0>;
45 L2_0: l2-cache {
46 compatible = "arm,arch-cache";
47 cache-size = <0x20000>;
48 cache-level = <2>;
49 next-level-cache = <&L3_0>;
50
51 L3_0: l3-cache {
52 compatible = "arm,arch-cache";
53 cache-size = <0x400000>;
54 cache-level = <3>;
55 };
56 };
57 };
58
59 CPU1: cpu@100 {
60 device_type = "cpu";
61 compatible = "qcom,kryo";
62 reg = <0x0 0x100>;
63 enable-method = "spin-table";
64 cache-size = <0x8000>;
65 cpu-release-addr = <0x0 0x90000000>;
66 next-level-cache = <&L2_1>;
67 L2_1: l2-cache {
68 compatible = "arm,arch-cache";
69 cache-size = <0x20000>;
70 cache-level = <2>;
71 next-level-cache = <&L3_0>;
72 };
73 };
74
75 CPU2: cpu@200 {
76 device_type = "cpu";
77 compatible = "qcom,kryo";
78 reg = <0x0 0x200>;
79 enable-method = "spin-table";
80 cache-size = <0x8000>;
81 cpu-release-addr = <0x0 0x90000000>;
82 next-level-cache = <&L2_2>;
83 L2_2: l2-cache {
84 compatible = "arm,arch-cache";
85 cache-size = <0x20000>;
86 cache-level = <2>;
87 next-level-cache = <&L3_0>;
88 };
89 };
90
91 CPU3: cpu@300 {
92 device_type = "cpu";
93 compatible = "qcom,kryo";
94 reg = <0x0 0x300>;
95 enable-method = "spin-table";
96 cache-size = <0x8000>;
97 cpu-release-addr = <0x0 0x90000000>;
98 next-level-cache = <&L2_3>;
99 L2_3: l2-cache {
100 compatible = "arm,arch-cache";
101 cache-size = <0x20000>;
102 cache-level = <2>;
103 next-level-cache = <&L3_0>;
104 };
105 };
106
107 CPU4: cpu@400 {
108 device_type = "cpu";
109 compatible = "qcom,kryo";
110 reg = <0x0 0x400>;
111 enable-method = "spin-table";
112 cache-size = <0x10000>;
113 cpu-release-addr = <0x0 0x90000000>;
114 next-level-cache = <&L2_4>;
115 L2_4: l2-cache {
116 compatible = "arm,arch-cache";
117 cache-size = <0x20000>;
118 cache-level = <2>;
119 next-level-cache = <&L3_0>;
120 };
121 };
122
123 CPU5: cpu@500 {
124 device_type = "cpu";
125 compatible = "qcom,kryo";
126 reg = <0x0 0x500>;
127 enable-method = "spin-table";
128 cache-size = <0x10000>;
129 cpu-release-addr = <0x0 0x90000000>;
130 next-level-cache = <&L2_5>;
131 L2_5: l2-cache {
132 compatible = "arm,arch-cache";
133 cache-size = <0x20000>;
134 cache-level = <2>;
135 next-level-cache = <&L3_0>;
136 };
137 };
138
139 CPU6: cpu@600 {
140 device_type = "cpu";
141 compatible = "qcom,kryo";
142 reg = <0x0 0x600>;
143 enable-method = "spin-table";
144 cache-size = <0x10000>;
145 cpu-release-addr = <0x0 0x90000000>;
146 next-level-cache = <&L2_6>;
147 L2_6: l2-cache {
148 compatible = "arm,arch-cache";
149 cache-size = <0x20000>;
150 cache-level = <2>;
151 next-level-cache = <&L3_0>;
152 };
153 };
154
155 CPU7: cpu@700 {
156 device_type = "cpu";
157 compatible = "qcom,kryo";
158 reg = <0x0 0x700>;
159 enable-method = "spin-table";
160 cache-size = <0x10000>;
161 cpu-release-addr = <0x0 0x90000000>;
162 next-level-cache = <&L2_7>;
163 L2_7: l2-cache {
164 compatible = "arm,arch-cache";
165 cache-size = <0x80000>;
166 cache-level = <2>;
167 next-level-cache = <&L3_0>;
168 };
169 };
170
171 cpu-map {
172 cluster0 {
173 core0 {
174 cpu = <&CPU0>;
175 };
176
177 core1 {
178 cpu = <&CPU1>;
179 };
180
181 core2 {
182 cpu = <&CPU2>;
183 };
184
185 core3 {
186 cpu = <&CPU3>;
187 };
188 };
189
190 cluster1 {
191 core0 {
192 cpu = <&CPU4>;
193 };
194
195 core1 {
196 cpu = <&CPU5>;
197 };
198
199 core2 {
200 cpu = <&CPU6>;
201 };
202
203 core3 {
204 cpu = <&CPU7>;
205 };
206 };
207 };
208 };
209
Channagoud Kadabicdd72a02018-09-21 14:46:21 -0700210 cpu_pmu: cpu-pmu {
211 compatible = "arm,armv8-pmuv3";
212 qcom,irq-is-percpu;
213 interrupts = <GIC_PPI 7 IRQ_TYPE_LEVEL_HIGH>;
214 };
215
Runmin Wang4f5985b2017-04-19 15:55:12 -0700216 soc: soc { };
Swathi Sridhara79a9542018-06-21 11:40:44 -0700217
218 reserved-memory {
219 #address-cells = <2>;
220 #size-cells = <2>;
221 ranges;
222
223 hyp_mem: hyp_region@80000000 {
224 no-map;
225 reg = <0x0 0x80000000 0x0 0x600000>;
226 };
227
228 xbl_aop_mem: xbl_aop_region@80700000 {
229 no-map;
230 reg = <0x0 0x80700000 0x0 0x140000>;
231 };
232
233 smem_mem: smem_region@80900000 {
234 no-map;
235 reg = <0x0 0x80900000 0x0 0x200000>;
236 };
237
238 removed_mem: removed_region@80b00000 {
239 no-map;
240 reg = <0x0 0x80b00000 0x0 0xc00000>;
241 };
242
243 qtee_apps_mem: qtee_apps_region@81e00000 {
244 no-map;
245 reg = <0x0 0x81e00000 0x0 0x2600000>;
246 };
247
Lina Iyer32296892018-06-20 17:03:44 -0600248 cmd_db: reserved-memory@85fe0000 {
249 reg = <0x0 0x85fe0000 0x0 0x20000>;
250 compatible = "qcom,cmd-db";
251 no-map;
252 };
253
Swathi Sridhara79a9542018-06-21 11:40:44 -0700254 pil_camera_mem: pil_camera_region@86000000 {
255 no-map;
256 reg = <0x0 0x86000000 0x0 0x500000>;
257 };
258
259 pil_wlan_fw_mem: pil_wlan_fw_region@86500000 {
260 no-map;
261 reg = <0x0 0x86500000 0x0 0x100000>;
262 };
263
264 pil_ipa_fw_mem: pil_ipa_fw_region@86600000 {
265 no-map;
266 reg = <0x0 0x86600000 0x0 0x10000>;
267 };
268
269 pil_ipa_gsi_mem: pil_ipa_gsi_region@86610000 {
270 no-map;
271 reg = <0x0 0x86610000 0x0 0x5000>;
272 };
273
274 pil_gpu_mem: pil_gpu_region@86615000 {
275 no-map;
276 reg = <0x0 0x86615000 0x0 0x2000>;
277 };
278
279 pil_npu_mem: pil_npu_region@86680000 {
280 no-map;
281 reg = <0x0 0x86680000 0x0 0x80000>;
282 };
283
284 pil_video_mem: pil_video_region@86700000 {
285 no-map;
286 reg = <0x0 0x86700000 0x0 0x500000>;
287 };
288
289 pil_cvp_mem: pil_cvp_region@86c00000 {
290 no-map;
291 reg = <0x0 0x86c00000 0x0 0x500000>;
292 };
293
294 pil_cdsp_mem: pil_cdsp_region@87100000 {
295 no-map;
296 reg = <0x0 0x87100000 0x0 0x800000>;
297 };
298
299 pil_slpi_mem: pil_slpi_region@87900000 {
300 no-map;
301 reg = <0x0 0x87900000 0x0 0x1400000>;
302 };
303
304 pil_adsp_mem: pil_adsp_region@88d00000 {
305 no-map;
306 reg = <0x0 0x88d00000 0x0 0x1a00000>;
307 };
308
309 pil_spss_mem: pil_spss_region@8a700000 {
310 no-map;
311 reg = <0x0 0x8a700000 0x0 0x100000>;
312 };
313
314 /* global autoconfigured region for contiguous allocations */
315 linux,cma {
316 compatible = "shared-dma-pool";
317 alloc-ranges = <0x0 0x00000000 0x0 0xffffffff>;
318 reusable;
319 alignment = <0x0 0x400000>;
320 size = <0x0 0x2000000>;
321 linux,cma-default;
322 };
323 };
Runmin Wang4f5985b2017-04-19 15:55:12 -0700324};
325
326&soc {
327 #address-cells = <1>;
328 #size-cells = <1>;
329 ranges = <0 0 0 0xffffffff>;
330 compatible = "simple-bus";
331
332 intc: interrupt-controller@17a00000 {
333 compatible = "arm,gic-v3";
334 #interrupt-cells = <3>;
335 interrupt-controller;
336 #redistributor-regions = <1>;
337 redistributor-stride = <0x0 0x20000>;
338 reg = <0x17a00000 0x10000>, /* GICD */
339 <0x17a60000 0x100000>; /* GICR * 8 */
340 interrupts = <GIC_PPI 9 IRQ_TYPE_LEVEL_HIGH>;
341 };
342
Rishabh Bhatnagarfd73eb12018-09-04 15:00:46 -0700343 qcom,chd_silver {
344 compatible = "qcom,core-hang-detect";
345 label = "silver";
346 qcom,threshold-arr = <0x18000058 0x18010058
347 0x18020058 0x18030058>;
348 qcom,config-arr = <0x18000060 0x18010060
349 0x18020060 0x18030060>;
350 };
351
352 qcom,chd_gold {
353 compatible = "qcom,core-hang-detect";
354 label = "gold";
355 qcom,threshold-arr = <0x18040058 0x18050058
356 0x18060058 0x18070058>;
357 qcom,config-arr = <0x18040060 0x18050060
358 0x18060060 0x18070060>;
359 };
360
Rishabh Bhatnagar8f0dd4b2018-08-07 11:07:40 -0700361 cache-controller@9200000 {
362 compatible = "qcom,kona-llcc";
363 reg = <0x9200000 0x1d0000> , <0x9600000 0x50000>;
364 reg-names = "llcc_base", "llcc_broadcast_base";
365 };
366
Runmin Wang4f5985b2017-04-19 15:55:12 -0700367 timer {
368 compatible = "arm,armv8-timer";
369 interrupts = <GIC_PPI 13 (GIC_CPU_MASK_SIMPLE(8) | IRQ_TYPE_LEVEL_LOW)>,
370 <GIC_PPI 14 (GIC_CPU_MASK_SIMPLE(8) | IRQ_TYPE_LEVEL_LOW)>,
371 <GIC_PPI 11 (GIC_CPU_MASK_SIMPLE(8) | IRQ_TYPE_LEVEL_LOW)>,
372 <GIC_PPI 12 (GIC_CPU_MASK_SIMPLE(8) | IRQ_TYPE_LEVEL_LOW)>;
373 clock-frequency = <19200000>;
374 };
375
Rishabh Bhatnagar5c1c1762018-05-29 17:04:46 -0700376 timer@0x17c20000{
Runmin Wang4f5985b2017-04-19 15:55:12 -0700377 #address-cells = <1>;
378 #size-cells = <1>;
379 ranges;
380 compatible = "arm,armv7-timer-mem";
Rishabh Bhatnagar5c1c1762018-05-29 17:04:46 -0700381 reg = <0x17c20000 0x1000>;
Runmin Wang4f5985b2017-04-19 15:55:12 -0700382 clock-frequency = <19200000>;
383
Rishabh Bhatnagar5c1c1762018-05-29 17:04:46 -0700384 frame@0x17c21000 {
Runmin Wang4f5985b2017-04-19 15:55:12 -0700385 frame-number = <0>;
Rishabh Bhatnagar5c1c1762018-05-29 17:04:46 -0700386 interrupts = <GIC_SPI 8 IRQ_TYPE_LEVEL_HIGH>,
Runmin Wang4f5985b2017-04-19 15:55:12 -0700387 <GIC_SPI 6 IRQ_TYPE_LEVEL_HIGH>;
Rishabh Bhatnagar5c1c1762018-05-29 17:04:46 -0700388 reg = <0x17c21000 0x1000>,
389 <0x17c22000 0x1000>;
Runmin Wang4f5985b2017-04-19 15:55:12 -0700390 };
391
Rishabh Bhatnagar5c1c1762018-05-29 17:04:46 -0700392 frame@17c23000 {
Runmin Wang4f5985b2017-04-19 15:55:12 -0700393 frame-number = <1>;
Rishabh Bhatnagar5c1c1762018-05-29 17:04:46 -0700394 interrupts = <GIC_SPI 9 IRQ_TYPE_LEVEL_HIGH>;
395 reg = <0x17c23000 0x1000>;
Runmin Wang4f5985b2017-04-19 15:55:12 -0700396 status = "disabled";
397 };
398
Rishabh Bhatnagar5c1c1762018-05-29 17:04:46 -0700399 frame@17c25000 {
Runmin Wang4f5985b2017-04-19 15:55:12 -0700400 frame-number = <2>;
Rishabh Bhatnagar5c1c1762018-05-29 17:04:46 -0700401 interrupts = <GIC_SPI 10 IRQ_TYPE_LEVEL_HIGH>;
402 reg = <0x17c25000 0x1000>;
Runmin Wang4f5985b2017-04-19 15:55:12 -0700403 status = "disabled";
404 };
405
Rishabh Bhatnagar5c1c1762018-05-29 17:04:46 -0700406 frame@17c27000 {
Runmin Wang4f5985b2017-04-19 15:55:12 -0700407 frame-number = <3>;
Rishabh Bhatnagar5c1c1762018-05-29 17:04:46 -0700408 interrupts = <GIC_SPI 11 IRQ_TYPE_LEVEL_HIGH>;
409 reg = <0x17c27000 0x1000>;
Runmin Wang4f5985b2017-04-19 15:55:12 -0700410 status = "disabled";
411 };
412
Rishabh Bhatnagar5c1c1762018-05-29 17:04:46 -0700413 frame@17c29000 {
Runmin Wang4f5985b2017-04-19 15:55:12 -0700414 frame-number = <4>;
Rishabh Bhatnagar5c1c1762018-05-29 17:04:46 -0700415 interrupts = <GIC_SPI 12 IRQ_TYPE_LEVEL_HIGH>;
416 reg = <0x17c29000 0x1000>;
Runmin Wang4f5985b2017-04-19 15:55:12 -0700417 status = "disabled";
418 };
419
Rishabh Bhatnagar5c1c1762018-05-29 17:04:46 -0700420 frame@17c2b0000 {
Runmin Wang4f5985b2017-04-19 15:55:12 -0700421 frame-number = <5>;
Rishabh Bhatnagar5c1c1762018-05-29 17:04:46 -0700422 interrupts = <GIC_SPI 13 IRQ_TYPE_LEVEL_HIGH>;
423 reg = <0x17c2b000 0x1000>;
Runmin Wang4f5985b2017-04-19 15:55:12 -0700424 status = "disabled";
425 };
426
Rishabh Bhatnagar5c1c1762018-05-29 17:04:46 -0700427 frame@17c2d000 {
Runmin Wang4f5985b2017-04-19 15:55:12 -0700428 frame-number = <6>;
Rishabh Bhatnagar5c1c1762018-05-29 17:04:46 -0700429 interrupts = <GIC_SPI 14 IRQ_TYPE_LEVEL_HIGH>;
430 reg = <0x17c2d000 0x1000>;
Runmin Wang4f5985b2017-04-19 15:55:12 -0700431 status = "disabled";
432 };
433 };
Deepak Katragadda5bbf8142018-06-20 16:12:13 -0700434
Rishabh Bhatnagar2b6a59c2018-09-06 11:06:16 -0700435qcom,msm-imem@146bf000 {
436 compatible = "qcom,msm-imem";
437 reg = <0x146bf000 0x1000>;
438 ranges = <0x0 0x146bf000 0x1000>;
439 #address-cells = <1>;
440 #size-cells = <1>;
441
442 restart_reason@65c {
443 compatible = "qcom,msm-imem-restart_reason";
444 reg = <0x65c 4>;
445 };
446
447 dload_type@1c {
448 compatible = "qcom,msm-imem-dload-type";
449 reg = <0x1c 0x4>;
450 };
451
452 boot_stats@6b0 {
453 compatible = "qcom,msm-imem-boot_stats";
454 reg = <0x6b0 32>;
455 };
456
457 kaslr_offset@6d0 {
458 compatible = "qcom,msm-imem-kaslr_offset";
459 reg = <0x6d0 12>;
460 };
461
462 pil@94c {
463 compatible = "qcom,msm-imem-pil";
464 reg = <0x94c 200>;
465 };
466 };
467
Rishabh Bhatnagar19ddb35e2018-09-18 15:53:03 -0700468 mdm0: qcom,mdm0 {
469 compatible = "qcom,ext-sdx50m";
470 cell-index = <0>;
471 #address-cells = <0>;
472 interrupt-parent = <&mdm0>;
473 #interrupt-cells = <1>;
474 interrupt-map-mask = <0xffffffff>;
475 interrupt-names =
476 "err_fatal_irq",
477 "status_irq",
478 "mdm2ap_vddmin_irq";
479 /* modem attributes */
480 qcom,ramdump-delay-ms = <3000>;
481 qcom,ramdump-timeout-ms = <120000>;
482 qcom,vddmin-modes = "normal";
483 qcom,vddmin-drive-strength = <8>;
484 qcom,sfr-query;
485 qcom,sysmon-id = <20>;
486 qcom,ssctl-instance-id = <0x10>;
487 qcom,support-shutdown;
488 qcom,pil-force-shutdown;
489 qcom,esoc-skip-restart-for-mdm-crash;
490 pinctrl-names = "default", "mdm_active", "mdm_suspend";
491 pinctrl-0 = <&ap2mdm_pon_reset_default>;
492 pinctrl-1 = <&ap2mdm_active &mdm2ap_active>;
493 pinctrl-2 = <&ap2mdm_sleep &mdm2ap_sleep>;
494 interrupt-map = <0 &tlmm 1 0x3
495 1 &tlmm 3 0x3>;
496 qcom,mdm2ap-errfatal-gpio = <&tlmm 1 0x00>;
497 qcom,ap2mdm-errfatal-gpio = <&tlmm 57 0x00>;
498 qcom,mdm2ap-status-gpio = <&tlmm 3 0x00>;
499 qcom,ap2mdm-status-gpio = <&tlmm 56 0x00>;
500 qcom,ap2mdm-soft-reset-gpio = <&tlmm 145 0x00>;
501 qcom,mdm-link-info = "0306_02.01.00";
502 status = "ok";
503 };
504
Lina Iyer8551c792018-06-21 16:06:53 -0600505 pdc: interrupt-controller@b220000 {
506 compatible = "qcom,kona-pdc";
507 reg = <0xb220000 0x30000>;
508 qcom,pdc-ranges = <0 480 29>, <42 522 52>, <94 609 30>;
509 #interrupt-cells = <2>;
510 interrupt-parent = <&intc>;
511 interrupt-controller;
512 };
513
Deepak Katragadda5bbf8142018-06-20 16:12:13 -0700514 clock_rpmh: qcom,rpmhclk {
515 compatible = "qcom,dummycc";
516 clock-output-names = "rpmh_clocks";
517 #clock-cells = <1>;
518 };
519
520 clock_aop: qcom,aopclk {
521 compatible = "qcom,dummycc";
522 clock-output-names = "qdss_clocks";
523 #clock-cells = <1>;
524 };
525
526 clock_gcc: qcom,gcc {
527 compatible = "qcom,dummycc";
528 clock-output-names = "gcc_clocks";
529 #clock-cells = <1>;
530 #reset-cells = <1>;
531 };
532
533 clock_npucc: qcom,npucc {
534 compatible = "qcom,dummycc";
535 clock-output-names = "npucc_clocks";
536 #clock-cells = <1>;
537 #reset-cells = <1>;
538 };
539
540 clock_videocc: qcom,videocc {
541 compatible = "qcom,dummycc";
542 clock-output-names = "videocc_clocks";
543 #clock-cells = <1>;
544 #reset-cells = <1>;
545 };
546
547 clock_camcc: qcom,camcc {
548 compatible = "qcom,dummycc";
549 clock-output-names = "camcc_clocks";
550 #clock-cells = <1>;
551 #reset-cells = <1>;
552 };
553
554 clock_dispcc: qcom,dispcc {
555 compatible = "qcom,dummycc";
556 clock-output-names = "dispcc_clocks";
557 #clock-cells = <1>;
558 #reset-cells = <1>;
559 };
560
561 clock_gpucc: qcom,gpucc {
562 compatible = "qcom,dummycc";
563 clock-output-names = "gpucc_clocks";
564 #clock-cells = <1>;
565 #reset-cells = <1>;
566 };
567
568 clock_cpucc: qcom,cpucc {
569 compatible = "qcom,dummycc";
570 clock-output-names = "cpucc_clocks";
571 #clock-cells = <1>;
572 };
Raghavendra Rao Ananta02957962018-08-06 15:28:34 -0700573
Can Guob04bed52018-07-10 19:27:32 -0700574 ufsphy_mem: ufsphy_mem@1d87000 {
575 reg = <0x1d87000 0xe00>; /* PHY regs */
576 reg-names = "phy_mem";
577 #phy-cells = <0>;
578
579 lanes-per-direction = <2>;
580
581 clock-names = "ref_clk_src",
582 "ref_clk",
583 "ref_aux_clk";
584 clocks = <&clock_rpmh RPMH_CXO_CLK>,
585 <&clock_gcc GCC_UFS_MEM_CLKREF_CLK>,
586 <&clock_gcc GCC_UFS_PHY_PHY_AUX_CLK>;
587
588 status = "disabled";
589 };
590
591 ufshc_mem: ufshc@1d84000 {
592 compatible = "qcom,ufshc";
593 reg = <0x1d84000 0x3000>;
594 interrupts = <GIC_SPI 265 IRQ_TYPE_LEVEL_HIGH>;
595 phys = <&ufsphy_mem>;
596 phy-names = "ufsphy";
597
598 lanes-per-direction = <2>;
599 dev-ref-clk-freq = <0>; /* 19.2 MHz */
600
601 clock-names =
602 "core_clk",
603 "bus_aggr_clk",
604 "iface_clk",
605 "core_clk_unipro",
606 "core_clk_ice",
607 "ref_clk",
608 "tx_lane0_sync_clk",
609 "rx_lane0_sync_clk",
610 "rx_lane1_sync_clk";
611 clocks =
612 <&clock_gcc GCC_UFS_PHY_AXI_CLK>,
613 <&clock_gcc GCC_AGGRE_UFS_PHY_AXI_CLK>,
614 <&clock_gcc GCC_UFS_PHY_AHB_CLK>,
615 <&clock_gcc GCC_UFS_PHY_UNIPRO_CORE_CLK>,
616 <&clock_gcc GCC_UFS_PHY_ICE_CORE_CLK>,
617 <&clock_rpmh RPMH_CXO_CLK>,
618 <&clock_gcc GCC_UFS_PHY_TX_SYMBOL_0_CLK>,
619 <&clock_gcc GCC_UFS_PHY_RX_SYMBOL_0_CLK>,
620 <&clock_gcc GCC_UFS_PHY_RX_SYMBOL_1_CLK>;
621 freq-table-hz =
622 <37500000 300000000>,
623 <0 0>,
624 <0 0>,
625 <37500000 300000000>,
626 <75000000 300000000>,
627 <0 0>,
628 <0 0>,
629 <0 0>,
630 <0 0>;
631
632 qcom,msm-bus,name = "ufshc_mem";
633 qcom,msm-bus,num-cases = <22>;
634 qcom,msm-bus,num-paths = <2>;
635 qcom,msm-bus,vectors-KBps =
636 /*
637 * During HS G3 UFS runs at nominal voltage corner, vote
638 * higher bandwidth to push other buses in the data path
639 * to run at nominal to achieve max throughput.
640 * 4GBps pushes BIMC to run at nominal.
641 * 200MBps pushes CNOC to run at nominal.
642 * Vote for half of this bandwidth for HS G3 1-lane.
643 * For max bandwidth, vote high enough to push the buses
644 * to run in turbo voltage corner.
645 */
646 <123 512 0 0>, <1 757 0 0>, /* No vote */
647 <123 512 922 0>, <1 757 1000 0>, /* PWM G1 */
648 <123 512 1844 0>, <1 757 1000 0>, /* PWM G2 */
649 <123 512 3688 0>, <1 757 1000 0>, /* PWM G3 */
650 <123 512 7376 0>, <1 757 1000 0>, /* PWM G4 */
651 <123 512 1844 0>, <1 757 1000 0>, /* PWM G1 L2 */
652 <123 512 3688 0>, <1 757 1000 0>, /* PWM G2 L2 */
653 <123 512 7376 0>, <1 757 1000 0>, /* PWM G3 L2 */
654 <123 512 14752 0>, <1 757 1000 0>, /* PWM G4 L2 */
655 <123 512 127796 0>, <1 757 1000 0>, /* HS G1 RA */
656 <123 512 255591 0>, <1 757 1000 0>, /* HS G2 RA */
657 <123 512 2097152 0>, <1 757 102400 0>, /* HS G3 RA */
658 <123 512 255591 0>, <1 757 1000 0>, /* HS G1 RA L2 */
659 <123 512 511181 0>, <1 757 1000 0>, /* HS G2 RA L2 */
660 <123 512 4194304 0>, <1 757 204800 0>, /* HS G3 RA L2 */
661 <123 512 149422 0>, <1 757 1000 0>, /* HS G1 RB */
662 <123 512 298189 0>, <1 757 1000 0>, /* HS G2 RB */
663 <123 512 2097152 0>, <1 757 102400 0>, /* HS G3 RB */
664 <123 512 298189 0>, <1 757 1000 0>, /* HS G1 RB L2 */
665 <123 512 596378 0>, <1 757 1000 0>, /* HS G2 RB L2 */
666 /* As UFS working in HS G3 RB L2 mode, aggregated
667 * bandwidth (AB) should take care of providing
668 * optimum throughput requested. However, as tested,
669 * in order to scale up CNOC clock, instantaneous
670 * bindwidth (IB) needs to be given a proper value too.
671 */
672 <123 512 4194304 0>, <1 757 204800 409600>, /* HS G3 RB L2 */
673 <123 512 7643136 0>, <1 757 307200 0>; /* Max. bandwidth */
674
675 qcom,bus-vector-names = "MIN",
676 "PWM_G1_L1", "PWM_G2_L1", "PWM_G3_L1", "PWM_G4_L1",
677 "PWM_G1_L2", "PWM_G2_L2", "PWM_G3_L2", "PWM_G4_L2",
678 "HS_RA_G1_L1", "HS_RA_G2_L1", "HS_RA_G3_L1",
679 "HS_RA_G1_L2", "HS_RA_G2_L2", "HS_RA_G3_L2",
680 "HS_RB_G1_L1", "HS_RB_G2_L1", "HS_RB_G3_L1",
681 "HS_RB_G1_L2", "HS_RB_G2_L2", "HS_RB_G3_L2",
682 "MAX";
683
684 /* PM QoS */
685 qcom,pm-qos-cpu-groups = <0x0f 0xf0>;
686 qcom,pm-qos-cpu-group-latency-us = <44 44>;
687 qcom,pm-qos-default-cpu = <0>;
688
689 pinctrl-names = "dev-reset-assert", "dev-reset-deassert";
690 pinctrl-0 = <&ufs_dev_reset_assert>;
691 pinctrl-1 = <&ufs_dev_reset_deassert>;
692
693 resets = <&clock_gcc GCC_UFS_PHY_BCR>;
694 reset-names = "core_reset";
695
696 status = "disabled";
697 };
698
Raghavendra Rao Ananta02957962018-08-06 15:28:34 -0700699 ipcc_mproc: qcom,ipcc@408000 {
700 compatible = "qcom,kona-ipcc";
701 reg = <0x408000 0x1000>;
702 interrupts = <GIC_SPI 229 IRQ_TYPE_LEVEL_HIGH>;
703 interrupt-controller;
704 #interrupt-cells = <3>;
705 #mbox-cells = <2>;
706 };
Lina Iyerea91c722018-06-20 14:58:05 -0600707
Raghavendra Rao Ananta5da54b32018-08-09 10:04:50 -0700708 ipcc_self_ping: ipcc-self-ping {
709 compatible = "qcom,ipcc-self-ping";
710 interrupts-extended = <&ipcc_mproc IPCC_CLIENT_APSS
711 IPCC_MPROC_SIGNAL_SMP2P IRQ_TYPE_LEVEL_HIGH>;
712 mboxes = <&ipcc_mproc IPCC_CLIENT_APSS IPCC_MPROC_SIGNAL_SMP2P>;
713 };
714
Lina Iyerea91c722018-06-20 14:58:05 -0600715 apps_rsc: rsc@0x18200000 {
716 label = "apps_rsc";
717 compatible = "qcom,rpmh-rsc";
718 reg = <0x18200000 0x10000>,
719 <0x18210000 0x10000>,
720 <0x18220000 0x10000>;
721 reg-names = "drv-0", "drv-1", "drv-2";
722 interrupts = <GIC_SPI 3 IRQ_TYPE_LEVEL_HIGH>,
723 <GIC_SPI 4 IRQ_TYPE_LEVEL_HIGH>,
724 <GIC_SPI 5 IRQ_TYPE_LEVEL_HIGH>;
725 qcom,tcs-offset = <0xd00>;
726 qcom,drv-id = <2>;
727 qcom,tcs-config = <ACTIVE_TCS 2>,
728 <SLEEP_TCS 3>,
729 <WAKE_TCS 3>,
730 <CONTROL_TCS 1>;
731 status = "disabled";
732 };
733
734 disp_rsc: rsc@af20000 {
735 label = "disp_rsc";
736 compatible = "qcom,rpmh-rsc";
737 reg = <0xaf20000 0x10000>;
738 reg-names = "drv-0";
739 interrupts = <GIC_SPI 129 IRQ_TYPE_LEVEL_HIGH>;
740 qcom,tcs-offset = <0x1c00>;
741 qcom,drv-id = <0>;
742 qcom,tcs-config = <ACTIVE_TCS 0>,
743 <SLEEP_TCS 1>,
744 <WAKE_TCS 1>,
745 <CONTROL_TCS 0>;
746 status = "disabled";
747 };
Chris Lew86f6bde2018-09-06 16:40:39 -0700748
749 tcsr_mutex_block: syscon@1f40000 {
750 compatible = "syscon";
751 reg = <0x1f40000 0x20000>;
752 };
753
754 tcsr_mutex: hwlock {
755 compatible = "qcom,tcsr-mutex";
756 syscon = <&tcsr_mutex_block 0 0x1000>;
757 #hwlock-cells = <1>;
758 };
759
760 smem: qcom,smem {
761 compatible = "qcom,smem";
762 memory-region = <&smem_mem>;
763 hwlocks = <&tcsr_mutex 3>;
764 };
Runmin Wang4f5985b2017-04-19 15:55:12 -0700765};
Swathi Sridhar4008eb42018-07-17 15:34:46 -0700766
Swathi Sridharbbbc80b2018-07-13 10:02:08 -0700767#include "kona-ion.dtsi"
Swathi Sridhar4008eb42018-07-17 15:34:46 -0700768#include "msm-arm-smmu-kona.dtsi"
Rishabh Bhatnagara740b0e2018-07-20 15:08:35 -0700769#include "kona-pinctrl.dtsi"
Chris Lew86f6bde2018-09-06 16:40:39 -0700770#include "kona-smp2p.dtsi"