blob: a832f84a7295325f89ca9cf4e2d5a013f32eca1e [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>
David Daib1d68482018-10-01 19:40:35 -070018#include <dt-bindings/msm/msm-bus-ids.h>
Raghavendra Rao Ananta02957962018-08-06 15:28:34 -070019#include <dt-bindings/soc/qcom,ipcc.h>
Lina Iyerea91c722018-06-20 14:58:05 -060020#include <dt-bindings/soc/qcom,rpmh-rsc.h>
Rishabh Bhatnagar2b66dc12018-10-18 10:36:27 -070021#include <dt-bindings/gpio/gpio.h>
Deepak Katragadda5bbf8142018-06-20 16:12:13 -070022
David Collins54e45302018-06-29 18:46:53 -070023#include "kona-regulators.dtsi"
24
Runmin Wang4f5985b2017-04-19 15:55:12 -070025/ {
26 model = "Qualcomm Technologies, Inc. kona";
27 compatible = "qcom,kona";
28 qcom,msm-id = <356 0x10000>;
29 interrupt-parent = <&intc>;
30
Can Guob04bed52018-07-10 19:27:32 -070031 aliases {
32 ufshc1 = &ufshc_mem; /* Embedded UFS slot */
33 };
34
Runmin Wang4f5985b2017-04-19 15:55:12 -070035 cpus {
36 #address-cells = <2>;
37 #size-cells = <0>;
38
39 CPU0: cpu@0 {
40 device_type = "cpu";
41 compatible = "qcom,kryo";
42 reg = <0x0 0x0>;
43 enable-method = "spin-table";
44 cache-size = <0x8000>;
45 cpu-release-addr = <0x0 0x90000000>;
46 next-level-cache = <&L2_0>;
David Daia4635e62018-10-11 13:39:44 -070047 qcom,freq-domain = <&cpufreq_hw 0 4>;
Runmin Wang4f5985b2017-04-19 15:55:12 -070048 L2_0: l2-cache {
49 compatible = "arm,arch-cache";
50 cache-size = <0x20000>;
51 cache-level = <2>;
52 next-level-cache = <&L3_0>;
53
54 L3_0: l3-cache {
55 compatible = "arm,arch-cache";
56 cache-size = <0x400000>;
57 cache-level = <3>;
58 };
59 };
60 };
61
62 CPU1: cpu@100 {
63 device_type = "cpu";
64 compatible = "qcom,kryo";
65 reg = <0x0 0x100>;
66 enable-method = "spin-table";
67 cache-size = <0x8000>;
68 cpu-release-addr = <0x0 0x90000000>;
69 next-level-cache = <&L2_1>;
David Daia4635e62018-10-11 13:39:44 -070070 qcom,freq-domain = <&cpufreq_hw 0 4>;
Runmin Wang4f5985b2017-04-19 15:55:12 -070071 L2_1: l2-cache {
72 compatible = "arm,arch-cache";
73 cache-size = <0x20000>;
74 cache-level = <2>;
75 next-level-cache = <&L3_0>;
76 };
77 };
78
79 CPU2: cpu@200 {
80 device_type = "cpu";
81 compatible = "qcom,kryo";
82 reg = <0x0 0x200>;
83 enable-method = "spin-table";
84 cache-size = <0x8000>;
85 cpu-release-addr = <0x0 0x90000000>;
86 next-level-cache = <&L2_2>;
David Daia4635e62018-10-11 13:39:44 -070087 qcom,freq-domain = <&cpufreq_hw 0 4>;
Runmin Wang4f5985b2017-04-19 15:55:12 -070088 L2_2: l2-cache {
89 compatible = "arm,arch-cache";
90 cache-size = <0x20000>;
91 cache-level = <2>;
92 next-level-cache = <&L3_0>;
93 };
94 };
95
96 CPU3: cpu@300 {
97 device_type = "cpu";
98 compatible = "qcom,kryo";
99 reg = <0x0 0x300>;
100 enable-method = "spin-table";
101 cache-size = <0x8000>;
102 cpu-release-addr = <0x0 0x90000000>;
103 next-level-cache = <&L2_3>;
David Daia4635e62018-10-11 13:39:44 -0700104 qcom,freq-domain = <&cpufreq_hw 0 4>;
Runmin Wang4f5985b2017-04-19 15:55:12 -0700105 L2_3: l2-cache {
106 compatible = "arm,arch-cache";
107 cache-size = <0x20000>;
108 cache-level = <2>;
109 next-level-cache = <&L3_0>;
110 };
111 };
112
113 CPU4: cpu@400 {
114 device_type = "cpu";
115 compatible = "qcom,kryo";
116 reg = <0x0 0x400>;
117 enable-method = "spin-table";
118 cache-size = <0x10000>;
119 cpu-release-addr = <0x0 0x90000000>;
120 next-level-cache = <&L2_4>;
David Daia4635e62018-10-11 13:39:44 -0700121 qcom,freq-domain = <&cpufreq_hw 1 4>;
Runmin Wang4f5985b2017-04-19 15:55:12 -0700122 L2_4: l2-cache {
123 compatible = "arm,arch-cache";
124 cache-size = <0x20000>;
125 cache-level = <2>;
126 next-level-cache = <&L3_0>;
127 };
128 };
129
130 CPU5: cpu@500 {
131 device_type = "cpu";
132 compatible = "qcom,kryo";
133 reg = <0x0 0x500>;
134 enable-method = "spin-table";
135 cache-size = <0x10000>;
136 cpu-release-addr = <0x0 0x90000000>;
137 next-level-cache = <&L2_5>;
David Daia4635e62018-10-11 13:39:44 -0700138 qcom,freq-domain = <&cpufreq_hw 1 4>;
Runmin Wang4f5985b2017-04-19 15:55:12 -0700139 L2_5: l2-cache {
140 compatible = "arm,arch-cache";
141 cache-size = <0x20000>;
142 cache-level = <2>;
143 next-level-cache = <&L3_0>;
144 };
145 };
146
147 CPU6: cpu@600 {
148 device_type = "cpu";
149 compatible = "qcom,kryo";
150 reg = <0x0 0x600>;
151 enable-method = "spin-table";
152 cache-size = <0x10000>;
153 cpu-release-addr = <0x0 0x90000000>;
154 next-level-cache = <&L2_6>;
David Daia4635e62018-10-11 13:39:44 -0700155 qcom,freq-domain = <&cpufreq_hw 1 4>;
Runmin Wang4f5985b2017-04-19 15:55:12 -0700156 L2_6: l2-cache {
157 compatible = "arm,arch-cache";
158 cache-size = <0x20000>;
159 cache-level = <2>;
160 next-level-cache = <&L3_0>;
161 };
162 };
163
164 CPU7: cpu@700 {
165 device_type = "cpu";
166 compatible = "qcom,kryo";
167 reg = <0x0 0x700>;
168 enable-method = "spin-table";
169 cache-size = <0x10000>;
170 cpu-release-addr = <0x0 0x90000000>;
171 next-level-cache = <&L2_7>;
David Daia4635e62018-10-11 13:39:44 -0700172 qcom,freq-domain = <&cpufreq_hw 2 4>;
Runmin Wang4f5985b2017-04-19 15:55:12 -0700173 L2_7: l2-cache {
174 compatible = "arm,arch-cache";
175 cache-size = <0x80000>;
176 cache-level = <2>;
177 next-level-cache = <&L3_0>;
178 };
179 };
180
181 cpu-map {
182 cluster0 {
183 core0 {
184 cpu = <&CPU0>;
185 };
186
187 core1 {
188 cpu = <&CPU1>;
189 };
190
191 core2 {
192 cpu = <&CPU2>;
193 };
194
195 core3 {
196 cpu = <&CPU3>;
197 };
198 };
199
200 cluster1 {
201 core0 {
202 cpu = <&CPU4>;
203 };
204
205 core1 {
206 cpu = <&CPU5>;
207 };
208
209 core2 {
210 cpu = <&CPU6>;
211 };
212
213 core3 {
214 cpu = <&CPU7>;
215 };
216 };
217 };
218 };
219
David Daia4635e62018-10-11 13:39:44 -0700220
Channagoud Kadabicdd72a02018-09-21 14:46:21 -0700221 cpu_pmu: cpu-pmu {
222 compatible = "arm,armv8-pmuv3";
223 qcom,irq-is-percpu;
224 interrupts = <GIC_PPI 7 IRQ_TYPE_LEVEL_HIGH>;
225 };
226
David Daia4635e62018-10-11 13:39:44 -0700227 soc: soc {
228 cpufreq_hw: qcom,cpufreq-hw {
229 compatible = "qcom,cpufreq-hw";
230 reg = <0x18591000 0x1000>, <0x18592000 0x1000>,
231 <0x18593000 0x1000>;
232 reg-names = "freq-domain0", "freq-domain1",
233 "freq-domain2";
234
235 clocks = <&clock_xo>, <&clock_gcc GPLL0>;
236 clock-names = "xo", "cpu_clk";
237
238 #freq-domain-cells = <2>;
239 };
240 };
241
Bruce Levy3bd8d1b2018-09-11 11:31:13 -0700242 firmware: firmware {
243 android {
244 compatible = "android,firmware";
245 fstab {
246 compatible = "android,fstab";
247 vendor {
248 compatible = "android,vendor";
249 dev = "/dev/block/platform/soc/1d84000.ufshc/by-name/vendor";
250 type = "ext4";
251 mnt_flags = "ro,barrier=1,discard";
252 fsmgr_flags = "wait,slotselect,avb";
253 status = "ok";
254 };
255 };
256 };
257 };
258
Swathi Sridhara79a9542018-06-21 11:40:44 -0700259 reserved-memory {
260 #address-cells = <2>;
261 #size-cells = <2>;
262 ranges;
263
264 hyp_mem: hyp_region@80000000 {
265 no-map;
266 reg = <0x0 0x80000000 0x0 0x600000>;
267 };
268
269 xbl_aop_mem: xbl_aop_region@80700000 {
270 no-map;
Swathi Sridhar072b0ad2018-10-16 22:52:57 -0700271 reg = <0x0 0x80700000 0x0 0x120000>;
Swathi Sridhara79a9542018-06-21 11:40:44 -0700272 };
273
Lina Iyer5d609fa2018-10-03 14:26:55 -0600274 cmd_db: reserved-memory@80820000 {
275 reg = <0x0 0x80820000 0x0 0x20000>;
276 compatible = "qcom,cmd-db";
277 no-map;
278 };
279
Swathi Sridhara79a9542018-06-21 11:40:44 -0700280 smem_mem: smem_region@80900000 {
281 no-map;
282 reg = <0x0 0x80900000 0x0 0x200000>;
283 };
284
285 removed_mem: removed_region@80b00000 {
286 no-map;
287 reg = <0x0 0x80b00000 0x0 0xc00000>;
288 };
289
290 qtee_apps_mem: qtee_apps_region@81e00000 {
291 no-map;
292 reg = <0x0 0x81e00000 0x0 0x2600000>;
293 };
294
295 pil_camera_mem: pil_camera_region@86000000 {
Swathi Sridhar2f971562018-10-02 15:43:09 -0700296 compatible = "removed-dma-pool";
Swathi Sridhara79a9542018-06-21 11:40:44 -0700297 no-map;
298 reg = <0x0 0x86000000 0x0 0x500000>;
299 };
300
301 pil_wlan_fw_mem: pil_wlan_fw_region@86500000 {
Swathi Sridhar2f971562018-10-02 15:43:09 -0700302 compatible = "removed-dma-pool";
Swathi Sridhara79a9542018-06-21 11:40:44 -0700303 no-map;
304 reg = <0x0 0x86500000 0x0 0x100000>;
305 };
306
307 pil_ipa_fw_mem: pil_ipa_fw_region@86600000 {
Swathi Sridhar2f971562018-10-02 15:43:09 -0700308 compatible = "removed-dma-pool";
Swathi Sridhara79a9542018-06-21 11:40:44 -0700309 no-map;
310 reg = <0x0 0x86600000 0x0 0x10000>;
311 };
312
313 pil_ipa_gsi_mem: pil_ipa_gsi_region@86610000 {
Swathi Sridhar2f971562018-10-02 15:43:09 -0700314 compatible = "removed-dma-pool";
Swathi Sridhara79a9542018-06-21 11:40:44 -0700315 no-map;
316 reg = <0x0 0x86610000 0x0 0x5000>;
317 };
318
319 pil_gpu_mem: pil_gpu_region@86615000 {
Swathi Sridhar2f971562018-10-02 15:43:09 -0700320 compatible = "removed-dma-pool";
Swathi Sridhara79a9542018-06-21 11:40:44 -0700321 no-map;
322 reg = <0x0 0x86615000 0x0 0x2000>;
323 };
324
Swathi Sridhar072b0ad2018-10-16 22:52:57 -0700325 pil_npu_mem: pil_npu_region@86700000 {
Swathi Sridhar2f971562018-10-02 15:43:09 -0700326 compatible = "removed-dma-pool";
Swathi Sridhara79a9542018-06-21 11:40:44 -0700327 no-map;
328 reg = <0x0 0x86700000 0x0 0x500000>;
329 };
330
Swathi Sridhar072b0ad2018-10-16 22:52:57 -0700331 pil_video_mem: pil_video_region@86c00000 {
Swathi Sridhar2f971562018-10-02 15:43:09 -0700332 compatible = "removed-dma-pool";
Swathi Sridhara79a9542018-06-21 11:40:44 -0700333 no-map;
334 reg = <0x0 0x86c00000 0x0 0x500000>;
335 };
336
Swathi Sridhar072b0ad2018-10-16 22:52:57 -0700337 pil_cvp_mem: pil_cvp_region@87100000 {
Swathi Sridhar2f971562018-10-02 15:43:09 -0700338 compatible = "removed-dma-pool";
Swathi Sridhara79a9542018-06-21 11:40:44 -0700339 no-map;
Swathi Sridhar072b0ad2018-10-16 22:52:57 -0700340 reg = <0x0 0x87100000 0x0 0x500000>;
Swathi Sridhara79a9542018-06-21 11:40:44 -0700341 };
342
Swathi Sridhar072b0ad2018-10-16 22:52:57 -0700343 pil_cdsp_mem: pil_cdsp_region@87600000 {
Swathi Sridhar2f971562018-10-02 15:43:09 -0700344 compatible = "removed-dma-pool";
Swathi Sridhara79a9542018-06-21 11:40:44 -0700345 no-map;
Swathi Sridhar072b0ad2018-10-16 22:52:57 -0700346 reg = <0x0 0x87600000 0x0 0x800000>;
Swathi Sridhara79a9542018-06-21 11:40:44 -0700347 };
348
Swathi Sridhar072b0ad2018-10-16 22:52:57 -0700349 pil_slpi_mem: pil_slpi_region@87e00000 {
Swathi Sridhar2f971562018-10-02 15:43:09 -0700350 compatible = "removed-dma-pool";
Swathi Sridhara79a9542018-06-21 11:40:44 -0700351 no-map;
Swathi Sridhar072b0ad2018-10-16 22:52:57 -0700352 reg = <0x0 0x87e00000 0x0 0x1500000>;
Swathi Sridhara79a9542018-06-21 11:40:44 -0700353 };
354
Swathi Sridhar072b0ad2018-10-16 22:52:57 -0700355 pil_adsp_mem: pil_adsp_region@89300000 {
Swathi Sridhar2f971562018-10-02 15:43:09 -0700356 compatible = "removed-dma-pool";
Swathi Sridhara79a9542018-06-21 11:40:44 -0700357 no-map;
Swathi Sridhar072b0ad2018-10-16 22:52:57 -0700358 reg = <0x0 0x89300000 0x0 0x1900000>;
359 };
360
361 pil_spss_mem: pil_spss_region@8ac00000 {
362 compatible = "removed-dma-pool";
363 no-map;
364 reg = <0x0 0x8ac00000 0x0 0x100000>;
Swathi Sridhara79a9542018-06-21 11:40:44 -0700365 };
366
367 /* global autoconfigured region for contiguous allocations */
368 linux,cma {
369 compatible = "shared-dma-pool";
370 alloc-ranges = <0x0 0x00000000 0x0 0xffffffff>;
371 reusable;
372 alignment = <0x0 0x400000>;
373 size = <0x0 0x2000000>;
374 linux,cma-default;
375 };
376 };
Runmin Wang4f5985b2017-04-19 15:55:12 -0700377};
378
379&soc {
380 #address-cells = <1>;
381 #size-cells = <1>;
382 ranges = <0 0 0 0xffffffff>;
383 compatible = "simple-bus";
384
385 intc: interrupt-controller@17a00000 {
386 compatible = "arm,gic-v3";
387 #interrupt-cells = <3>;
388 interrupt-controller;
389 #redistributor-regions = <1>;
390 redistributor-stride = <0x0 0x20000>;
391 reg = <0x17a00000 0x10000>, /* GICD */
392 <0x17a60000 0x100000>; /* GICR * 8 */
393 interrupts = <GIC_PPI 9 IRQ_TYPE_LEVEL_HIGH>;
394 };
395
Rishabh Bhatnagarfd73eb12018-09-04 15:00:46 -0700396 qcom,chd_silver {
397 compatible = "qcom,core-hang-detect";
398 label = "silver";
399 qcom,threshold-arr = <0x18000058 0x18010058
400 0x18020058 0x18030058>;
401 qcom,config-arr = <0x18000060 0x18010060
402 0x18020060 0x18030060>;
403 };
404
405 qcom,chd_gold {
406 compatible = "qcom,core-hang-detect";
407 label = "gold";
408 qcom,threshold-arr = <0x18040058 0x18050058
409 0x18060058 0x18070058>;
410 qcom,config-arr = <0x18040060 0x18050060
411 0x18060060 0x18070060>;
412 };
413
Rishabh Bhatnagar8f0dd4b2018-08-07 11:07:40 -0700414 cache-controller@9200000 {
415 compatible = "qcom,kona-llcc";
416 reg = <0x9200000 0x1d0000> , <0x9600000 0x50000>;
417 reg-names = "llcc_base", "llcc_broadcast_base";
Channagoud Kadabia13ed0a2018-09-26 16:10:35 -0700418 interrupts = <GIC_SPI 582 IRQ_TYPE_LEVEL_HIGH>;
Rishabh Bhatnagar8f0dd4b2018-08-07 11:07:40 -0700419 };
420
Maria Neptune5a1428b2018-08-29 13:25:19 -0700421 arch_timer: timer {
Runmin Wang4f5985b2017-04-19 15:55:12 -0700422 compatible = "arm,armv8-timer";
423 interrupts = <GIC_PPI 13 (GIC_CPU_MASK_SIMPLE(8) | IRQ_TYPE_LEVEL_LOW)>,
424 <GIC_PPI 14 (GIC_CPU_MASK_SIMPLE(8) | IRQ_TYPE_LEVEL_LOW)>,
425 <GIC_PPI 11 (GIC_CPU_MASK_SIMPLE(8) | IRQ_TYPE_LEVEL_LOW)>,
426 <GIC_PPI 12 (GIC_CPU_MASK_SIMPLE(8) | IRQ_TYPE_LEVEL_LOW)>;
427 clock-frequency = <19200000>;
428 };
429
Maria Neptune5a1428b2018-08-29 13:25:19 -0700430 memtimer: timer@17c20000 {
Runmin Wang4f5985b2017-04-19 15:55:12 -0700431 #address-cells = <1>;
432 #size-cells = <1>;
433 ranges;
434 compatible = "arm,armv7-timer-mem";
Rishabh Bhatnagar5c1c1762018-05-29 17:04:46 -0700435 reg = <0x17c20000 0x1000>;
Runmin Wang4f5985b2017-04-19 15:55:12 -0700436 clock-frequency = <19200000>;
437
Maria Neptune5a1428b2018-08-29 13:25:19 -0700438 frame@17c21000 {
Runmin Wang4f5985b2017-04-19 15:55:12 -0700439 frame-number = <0>;
Rishabh Bhatnagar5c1c1762018-05-29 17:04:46 -0700440 interrupts = <GIC_SPI 8 IRQ_TYPE_LEVEL_HIGH>,
Runmin Wang4f5985b2017-04-19 15:55:12 -0700441 <GIC_SPI 6 IRQ_TYPE_LEVEL_HIGH>;
Rishabh Bhatnagar5c1c1762018-05-29 17:04:46 -0700442 reg = <0x17c21000 0x1000>,
443 <0x17c22000 0x1000>;
Runmin Wang4f5985b2017-04-19 15:55:12 -0700444 };
445
Rishabh Bhatnagar5c1c1762018-05-29 17:04:46 -0700446 frame@17c23000 {
Runmin Wang4f5985b2017-04-19 15:55:12 -0700447 frame-number = <1>;
Rishabh Bhatnagar5c1c1762018-05-29 17:04:46 -0700448 interrupts = <GIC_SPI 9 IRQ_TYPE_LEVEL_HIGH>;
449 reg = <0x17c23000 0x1000>;
Runmin Wang4f5985b2017-04-19 15:55:12 -0700450 status = "disabled";
451 };
452
Rishabh Bhatnagar5c1c1762018-05-29 17:04:46 -0700453 frame@17c25000 {
Runmin Wang4f5985b2017-04-19 15:55:12 -0700454 frame-number = <2>;
Rishabh Bhatnagar5c1c1762018-05-29 17:04:46 -0700455 interrupts = <GIC_SPI 10 IRQ_TYPE_LEVEL_HIGH>;
456 reg = <0x17c25000 0x1000>;
Runmin Wang4f5985b2017-04-19 15:55:12 -0700457 status = "disabled";
458 };
459
Rishabh Bhatnagar5c1c1762018-05-29 17:04:46 -0700460 frame@17c27000 {
Runmin Wang4f5985b2017-04-19 15:55:12 -0700461 frame-number = <3>;
Rishabh Bhatnagar5c1c1762018-05-29 17:04:46 -0700462 interrupts = <GIC_SPI 11 IRQ_TYPE_LEVEL_HIGH>;
463 reg = <0x17c27000 0x1000>;
Runmin Wang4f5985b2017-04-19 15:55:12 -0700464 status = "disabled";
465 };
466
Rishabh Bhatnagar5c1c1762018-05-29 17:04:46 -0700467 frame@17c29000 {
Runmin Wang4f5985b2017-04-19 15:55:12 -0700468 frame-number = <4>;
Rishabh Bhatnagar5c1c1762018-05-29 17:04:46 -0700469 interrupts = <GIC_SPI 12 IRQ_TYPE_LEVEL_HIGH>;
470 reg = <0x17c29000 0x1000>;
Runmin Wang4f5985b2017-04-19 15:55:12 -0700471 status = "disabled";
472 };
473
Maria Neptune5a1428b2018-08-29 13:25:19 -0700474 frame@17c2b000 {
Runmin Wang4f5985b2017-04-19 15:55:12 -0700475 frame-number = <5>;
Rishabh Bhatnagar5c1c1762018-05-29 17:04:46 -0700476 interrupts = <GIC_SPI 13 IRQ_TYPE_LEVEL_HIGH>;
477 reg = <0x17c2b000 0x1000>;
Runmin Wang4f5985b2017-04-19 15:55:12 -0700478 status = "disabled";
479 };
480
Rishabh Bhatnagar5c1c1762018-05-29 17:04:46 -0700481 frame@17c2d000 {
Runmin Wang4f5985b2017-04-19 15:55:12 -0700482 frame-number = <6>;
Rishabh Bhatnagar5c1c1762018-05-29 17:04:46 -0700483 interrupts = <GIC_SPI 14 IRQ_TYPE_LEVEL_HIGH>;
484 reg = <0x17c2d000 0x1000>;
Runmin Wang4f5985b2017-04-19 15:55:12 -0700485 status = "disabled";
486 };
487 };
Deepak Katragadda5bbf8142018-06-20 16:12:13 -0700488
David Dai3c427802018-10-17 14:40:08 -0700489 qcom,devfreq-l3 {
490 compatible = "qcom,devfreq-fw";
491 reg = <0x18590000 0x4>, <0x18590100 0xa0>, <0x18590320 0x4>;
492 reg-names = "en-base", "ftbl-base", "perf-base";
493
494 qcom,cpu0-l3 {
495 compatible = "qcom,devfreq-fw-voter";
496 };
497
498 qcom,cpu4-l3 {
499 compatible = "qcom,devfreq-fw-voter";
500 };
501 };
502
Rishabh Bhatnagarf35ba022018-09-18 15:17:22 -0700503 qcom,msm-imem@146bf000 {
Rishabh Bhatnagar2b6a59c2018-09-06 11:06:16 -0700504 compatible = "qcom,msm-imem";
505 reg = <0x146bf000 0x1000>;
506 ranges = <0x0 0x146bf000 0x1000>;
507 #address-cells = <1>;
508 #size-cells = <1>;
509
510 restart_reason@65c {
511 compatible = "qcom,msm-imem-restart_reason";
Maria Neptune5a1428b2018-08-29 13:25:19 -0700512 reg = <0x65c 0x4>;
Rishabh Bhatnagar2b6a59c2018-09-06 11:06:16 -0700513 };
514
515 dload_type@1c {
516 compatible = "qcom,msm-imem-dload-type";
517 reg = <0x1c 0x4>;
518 };
519
520 boot_stats@6b0 {
521 compatible = "qcom,msm-imem-boot_stats";
Maria Neptune5a1428b2018-08-29 13:25:19 -0700522 reg = <0x6b0 0x20>;
Rishabh Bhatnagar2b6a59c2018-09-06 11:06:16 -0700523 };
524
525 kaslr_offset@6d0 {
526 compatible = "qcom,msm-imem-kaslr_offset";
Maria Neptune5a1428b2018-08-29 13:25:19 -0700527 reg = <0x6d0 0xc>;
Rishabh Bhatnagar2b6a59c2018-09-06 11:06:16 -0700528 };
529
530 pil@94c {
531 compatible = "qcom,msm-imem-pil";
Maria Neptune5a1428b2018-08-29 13:25:19 -0700532 reg = <0x94c 0xc8>;
Rishabh Bhatnagar2b6a59c2018-09-06 11:06:16 -0700533 };
534 };
535
Rishabh Bhatnagar19ddb35e2018-09-18 15:53:03 -0700536 mdm0: qcom,mdm0 {
537 compatible = "qcom,ext-sdx50m";
538 cell-index = <0>;
539 #address-cells = <0>;
540 interrupt-parent = <&mdm0>;
541 #interrupt-cells = <1>;
542 interrupt-map-mask = <0xffffffff>;
543 interrupt-names =
544 "err_fatal_irq",
545 "status_irq",
546 "mdm2ap_vddmin_irq";
547 /* modem attributes */
548 qcom,ramdump-delay-ms = <3000>;
549 qcom,ramdump-timeout-ms = <120000>;
550 qcom,vddmin-modes = "normal";
551 qcom,vddmin-drive-strength = <8>;
552 qcom,sfr-query;
553 qcom,sysmon-id = <20>;
554 qcom,ssctl-instance-id = <0x10>;
555 qcom,support-shutdown;
556 qcom,pil-force-shutdown;
557 qcom,esoc-skip-restart-for-mdm-crash;
558 pinctrl-names = "default", "mdm_active", "mdm_suspend";
559 pinctrl-0 = <&ap2mdm_pon_reset_default>;
560 pinctrl-1 = <&ap2mdm_active &mdm2ap_active>;
561 pinctrl-2 = <&ap2mdm_sleep &mdm2ap_sleep>;
562 interrupt-map = <0 &tlmm 1 0x3
563 1 &tlmm 3 0x3>;
564 qcom,mdm2ap-errfatal-gpio = <&tlmm 1 0x00>;
565 qcom,ap2mdm-errfatal-gpio = <&tlmm 57 0x00>;
566 qcom,mdm2ap-status-gpio = <&tlmm 3 0x00>;
567 qcom,ap2mdm-status-gpio = <&tlmm 56 0x00>;
Rishabh Bhatnagar2b66dc12018-10-18 10:36:27 -0700568 qcom,ap2mdm-soft-reset-gpio = <&tlmm 145 GPIO_ACTIVE_LOW>;
Rishabh Bhatnagar19ddb35e2018-09-18 15:53:03 -0700569 qcom,mdm-link-info = "0306_02.01.00";
570 status = "ok";
571 };
572
Lina Iyer8551c792018-06-21 16:06:53 -0600573 pdc: interrupt-controller@b220000 {
574 compatible = "qcom,kona-pdc";
575 reg = <0xb220000 0x30000>;
576 qcom,pdc-ranges = <0 480 29>, <42 522 52>, <94 609 30>;
577 #interrupt-cells = <2>;
578 interrupt-parent = <&intc>;
579 interrupt-controller;
580 };
581
David Collinsa6d833b2018-09-25 14:44:32 -0700582 clock_xo: bi_tcxo {
583 compatible = "fixed-clock";
584 #clock-cells = <0>;
585 clock-frequency = <19200000>;
586 clock-output-names = "bi_tcxo";
587 };
588
Vivek Aknurwar65bafd92018-11-01 17:27:53 -0700589 clocks {
590 sleep_clk: sleep-clk {
591 compatible = "fixed-clock";
592 clock-frequency = <32000>;
593 clock-output-names = "chip_sleep_clk";
594 #clock-cells = <1>;
595 };
596 };
597
Deepak Katragadda5bbf8142018-06-20 16:12:13 -0700598 clock_rpmh: qcom,rpmhclk {
599 compatible = "qcom,dummycc";
600 clock-output-names = "rpmh_clocks";
601 #clock-cells = <1>;
602 };
603
604 clock_aop: qcom,aopclk {
605 compatible = "qcom,dummycc";
606 clock-output-names = "qdss_clocks";
607 #clock-cells = <1>;
608 };
609
Vivek Aknurwar7e9ecb92018-09-07 14:27:58 -0700610 clock_gcc: qcom,gcc@100000 {
611 compatible = "qcom,gcc-kona";
612 reg = <0x100000 0x1f0000>;
613 reg-names = "cc_base";
614 vdd_cx-supply = <&VDD_CX_LEVEL>;
615 vdd_cx_ao-supply = <&VDD_CX_LEVEL_AO>;
616 vdd_mm-supply = <&VDD_MMCX_LEVEL>;
Deepak Katragadda5bbf8142018-06-20 16:12:13 -0700617 #clock-cells = <1>;
618 #reset-cells = <1>;
619 };
620
621 clock_npucc: qcom,npucc {
622 compatible = "qcom,dummycc";
623 clock-output-names = "npucc_clocks";
624 #clock-cells = <1>;
625 #reset-cells = <1>;
626 };
627
Vivek Aknurwar65bafd92018-11-01 17:27:53 -0700628 clock_videocc: qcom,videocc@abf0000 {
629 compatible = "qcom,videocc-kona", "syscon";
630 reg = <0xabf0000 0x10000>;
631 reg-names = "cc_base";
632 vdd_mx-supply = <&VDD_MX_LEVEL>;
633 vdd_mm-supply = <&VDD_MMCX_LEVEL>;
634 clock-names = "cfg_ahb_clk";
635 clocks = <&clock_gcc GCC_VIDEO_AHB_CLK>;
Deepak Katragadda5bbf8142018-06-20 16:12:13 -0700636 #clock-cells = <1>;
637 #reset-cells = <1>;
638 };
639
640 clock_camcc: qcom,camcc {
641 compatible = "qcom,dummycc";
642 clock-output-names = "camcc_clocks";
643 #clock-cells = <1>;
644 #reset-cells = <1>;
645 };
646
647 clock_dispcc: qcom,dispcc {
648 compatible = "qcom,dummycc";
649 clock-output-names = "dispcc_clocks";
650 #clock-cells = <1>;
651 #reset-cells = <1>;
652 };
653
654 clock_gpucc: qcom,gpucc {
655 compatible = "qcom,dummycc";
656 clock-output-names = "gpucc_clocks";
657 #clock-cells = <1>;
658 #reset-cells = <1>;
659 };
660
661 clock_cpucc: qcom,cpucc {
662 compatible = "qcom,dummycc";
663 clock-output-names = "cpucc_clocks";
664 #clock-cells = <1>;
665 };
Raghavendra Rao Ananta02957962018-08-06 15:28:34 -0700666
David Collinsa86302c2018-09-17 14:16:50 -0700667 /* GCC GDSCs */
668 pcie_0_gdsc: qcom,gdsc@16b004 {
669 compatible = "qcom,gdsc";
670 reg = <0x16b004 0x4>;
671 regulator-name = "pcie_0_gdsc";
672 };
673
674 pcie_1_gdsc: qcom,gdsc@18d004 {
675 compatible = "qcom,gdsc";
676 reg = <0x18d004 0x4>;
677 regulator-name = "pcie_1_gdsc";
678 };
679
680 pcie_2_gdsc: qcom,gdsc@106004 {
681 compatible = "qcom,gdsc";
682 reg = <0x106004 0x4>;
683 regulator-name = "pcie_2_gdsc";
684 };
685
686 ufs_card_gdsc: qcom,gdsc@175004 {
687 compatible = "qcom,gdsc";
688 reg = <0x175004 0x4>;
689 regulator-name = "ufs_card_gdsc";
690 };
691
692 ufs_phy_gdsc: qcom,gdsc@177004 {
693 compatible = "qcom,gdsc";
694 reg = <0x177004 0x4>;
695 regulator-name = "ufs_phy_gdsc";
696 };
697
698 usb30_prim_gdsc: qcom,gdsc@10f004 {
699 compatible = "qcom,gdsc";
700 reg = <0x10f004 0x4>;
701 regulator-name = "usb30_prim_gdsc";
702 };
703
704 usb30_sec_gdsc: qcom,gdsc@110004 {
705 compatible = "qcom,gdsc";
706 reg = <0x110004 0x4>;
707 regulator-name = "usb30_sec_gdsc";
708 };
709
710 hlos1_vote_mmnoc_mmu_tbu_hf0_gdsc: qcom,gdsc@17d050 {
711 compatible = "qcom,gdsc";
712 reg = <0x17d050 0x4>;
713 regulator-name = "hlos1_vote_mmnoc_mmu_tbu_hf0_gdsc";
714 qcom,no-status-check-on-disable;
715 qcom,gds-timeout = <500>;
716 };
717
718 hlos1_vote_mmnoc_mmu_tbu_hf1_gdsc: qcom,gdsc@17d058 {
719 compatible = "qcom,gdsc";
720 reg = <0x17d058 0x4>;
721 regulator-name = "hlos1_vote_mmnoc_mmu_tbu_hf1_gdsc";
722 qcom,no-status-check-on-disable;
723 qcom,gds-timeout = <500>;
724 };
725
726 hlos1_vote_mmnoc_mmu_tbu_sf0_gdsc: qcom,gdsc@17d054 {
727 compatible = "qcom,gdsc";
728 reg = <0x17d054 0x4>;
729 regulator-name = "hlos1_vote_mmnoc_mmu_tbu_sf0_gdsc";
730 qcom,no-status-check-on-disable;
731 qcom,gds-timeout = <500>;
732 };
733
734 hlos1_vote_mmnoc_mmu_tbu_sf1_gdsc: qcom,gdsc@17d06c {
735 compatible = "qcom,gdsc";
736 reg = <0x17d06c 0x4>;
737 regulator-name = "hlos1_vote_mmnoc_mmu_tbu_sf1_gdsc";
738 qcom,no-status-check-on-disable;
739 qcom,gds-timeout = <500>;
740 };
741
742 /* CAM_CC GDSCs */
743 bps_gdsc: qcom,gdsc@ad07004 {
744 compatible = "qcom,gdsc";
745 reg = <0xad07004 0x4>;
746 regulator-name = "bps_gdsc";
747 clock-names = "ahb_clk";
748 clocks = <&clock_gcc GCC_CAMERA_AHB_CLK>;
749 parent-supply = <&VDD_MMCX_LEVEL>;
750 vdd_parent-supply = <&VDD_MMCX_LEVEL>;
751 qcom,support-hw-trigger;
752 };
753
754 ife_0_gdsc: qcom,gdsc@ad0a004 {
755 compatible = "qcom,gdsc";
756 reg = <0xad0a004 0x4>;
757 regulator-name = "ife_0_gdsc";
758 clock-names = "ahb_clk";
759 clocks = <&clock_gcc GCC_CAMERA_AHB_CLK>;
760 parent-supply = <&VDD_MMCX_LEVEL>;
761 vdd_parent-supply = <&VDD_MMCX_LEVEL>;
762 };
763
764 ife_1_gdsc: qcom,gdsc@ad0b004 {
765 compatible = "qcom,gdsc";
766 reg = <0xad0b004 0x4>;
767 regulator-name = "ife_1_gdsc";
768 clock-names = "ahb_clk";
769 clocks = <&clock_gcc GCC_CAMERA_AHB_CLK>;
770 parent-supply = <&VDD_MMCX_LEVEL>;
771 vdd_parent-supply = <&VDD_MMCX_LEVEL>;
772 };
773
774 ipe_0_gdsc: qcom,gdsc@ad08004 {
775 compatible = "qcom,gdsc";
776 reg = <0xad08004 0x4>;
777 regulator-name = "ipe_0_gdsc";
778 clock-names = "ahb_clk";
779 clocks = <&clock_gcc GCC_CAMERA_AHB_CLK>;
780 parent-supply = <&VDD_MMCX_LEVEL>;
781 vdd_parent-supply = <&VDD_MMCX_LEVEL>;
782 qcom,support-hw-trigger;
783 };
784
785 sbi_gdsc: qcom,gdsc@ad09004 {
786 compatible = "qcom,gdsc";
787 reg = <0xad09004 0x4>;
788 regulator-name = "sbi_gdsc";
789 clock-names = "ahb_clk";
790 clocks = <&clock_gcc GCC_CAMERA_AHB_CLK>;
791 parent-supply = <&VDD_MMCX_LEVEL>;
792 vdd_parent-supply = <&VDD_MMCX_LEVEL>;
793 };
794
795 titan_top_gdsc: qcom,gdsc@ad0c144 {
796 compatible = "qcom,gdsc";
797 reg = <0xad0c144 0x4>;
798 regulator-name = "titan_top_gdsc";
799 clock-names = "ahb_clk";
800 clocks = <&clock_gcc GCC_CAMERA_AHB_CLK>;
801 parent-supply = <&VDD_MMCX_LEVEL>;
802 vdd_parent-supply = <&VDD_MMCX_LEVEL>;
803 };
804
805 /* DISP_CC GDSC */
806 mdss_core_gdsc: qcom,gdsc@af03000 {
807 compatible = "qcom,gdsc";
808 reg = <0xaf03000 0x4>;
809 regulator-name = "mdss_core_gdsc";
810 clock-names = "ahb_clk";
811 clocks = <&clock_gcc GCC_DISP_AHB_CLK>;
812 parent-supply = <&VDD_MMCX_LEVEL>;
813 vdd_parent-supply = <&VDD_MMCX_LEVEL>;
814 qcom,support-hw-trigger;
815 };
816
817 /* GPU_CC GDSCs */
818 gpu_cx_hw_ctrl: syscon@3d91540 {
819 compatible = "syscon";
820 reg = <0x3d91540 0x4>;
821 };
822
823 gpu_cx_gdsc: qcom,gdsc@3d9106c {
824 compatible = "qcom,gdsc";
825 reg = <0x3d9106c 0x4>;
826 regulator-name = "gpu_cx_gdsc";
827 hw-ctrl-addr = <&gpu_cx_hw_ctrl>;
828 parent-supply = <&VDD_CX_LEVEL>;
829 qcom,no-status-check-on-disable;
830 qcom,clk-dis-wait-val = <8>;
831 qcom,gds-timeout = <500>;
832 };
833
David Collinsd7eea142018-10-08 17:32:48 -0700834 gpu_gx_domain_addr: syscon@3d91508 {
David Collinsa86302c2018-09-17 14:16:50 -0700835 compatible = "syscon";
836 reg = <0x3d91508 0x4>;
837 };
838
David Collinsd7eea142018-10-08 17:32:48 -0700839 gpu_gx_sw_reset: syscon@3d91008 {
David Collinsa86302c2018-09-17 14:16:50 -0700840 compatible = "syscon";
841 reg = <0x3d91008 0x4>;
842 };
843
844 gpu_gx_gdsc: qcom,gdsc@3d9100c {
845 compatible = "qcom,gdsc";
846 reg = <0x3d9100c 0x4>;
847 regulator-name = "gpu_gx_gdsc";
848 domain-addr = <&gpu_gx_domain_addr>;
849 sw-reset = <&gpu_gx_sw_reset>;
850 parent-supply = <&VDD_GFX_LEVEL>;
851 vdd_parent-supply = <&VDD_GFX_LEVEL>;
852 qcom,reset-aon-logic;
853 };
854
855 /* NPU GDSC */
856 npu_core_gdsc: qcom,gdsc@9981004 {
857 compatible = "qcom,gdsc";
858 reg = <0x9981004 0x4>;
859 regulator-name = "npu_core_gdsc";
860 clock-names = "ahb_clk";
861 clocks = <&clock_gcc GCC_NPU_CFG_AHB_CLK>;
862 };
863
864 /* VIDEO_CC GDSCs */
865 mvs0_gdsc: qcom,gdsc@abf0d18 {
866 compatible = "qcom,gdsc";
867 reg = <0xabf0d18 0x4>;
868 regulator-name = "mvs0_gdsc";
869 clock-names = "ahb_clk";
870 clocks = <&clock_gcc GCC_VIDEO_AHB_CLK>;
871 parent-supply = <&VDD_MMCX_LEVEL>;
872 vdd_parent-supply = <&VDD_MMCX_LEVEL>;
873 };
874
875 mvs0c_gdsc: qcom,gdsc@abf0bf8 {
876 compatible = "qcom,gdsc";
877 reg = <0xabf0bf8 0x4>;
878 regulator-name = "mvs0c_gdsc";
879 clock-names = "ahb_clk";
880 clocks = <&clock_gcc GCC_VIDEO_AHB_CLK>;
881 parent-supply = <&VDD_MMCX_LEVEL>;
882 vdd_parent-supply = <&VDD_MMCX_LEVEL>;
883 };
884
885 mvs1_gdsc: qcom,gdsc@abf0d98 {
886 compatible = "qcom,gdsc";
887 reg = <0xabf0d98 0x4>;
888 regulator-name = "mvs1_gdsc";
889 clock-names = "ahb_clk";
890 clocks = <&clock_gcc GCC_VIDEO_AHB_CLK>;
891 parent-supply = <&VDD_MMCX_LEVEL>;
892 vdd_parent-supply = <&VDD_MMCX_LEVEL>;
893 };
894
895 mvs1c_gdsc: qcom,gdsc@abf0c98 {
896 compatible = "qcom,gdsc";
897 reg = <0xabf0c98 0x4>;
898 regulator-name = "mvs1c_gdsc";
899 clock-names = "ahb_clk";
900 clocks = <&clock_gcc GCC_VIDEO_AHB_CLK>;
901 parent-supply = <&VDD_MMCX_LEVEL>;
902 vdd_parent-supply = <&VDD_MMCX_LEVEL>;
903 };
904
Can Guob04bed52018-07-10 19:27:32 -0700905 ufsphy_mem: ufsphy_mem@1d87000 {
906 reg = <0x1d87000 0xe00>; /* PHY regs */
907 reg-names = "phy_mem";
908 #phy-cells = <0>;
909
910 lanes-per-direction = <2>;
911
912 clock-names = "ref_clk_src",
913 "ref_clk",
914 "ref_aux_clk";
915 clocks = <&clock_rpmh RPMH_CXO_CLK>,
Vivek Aknurwarec5c93d2018-08-28 14:52:33 -0700916 <&clock_gcc GCC_UFS_1X_CLKREF_EN>,
Can Guob04bed52018-07-10 19:27:32 -0700917 <&clock_gcc GCC_UFS_PHY_PHY_AUX_CLK>;
918
919 status = "disabled";
920 };
921
922 ufshc_mem: ufshc@1d84000 {
923 compatible = "qcom,ufshc";
924 reg = <0x1d84000 0x3000>;
925 interrupts = <GIC_SPI 265 IRQ_TYPE_LEVEL_HIGH>;
926 phys = <&ufsphy_mem>;
927 phy-names = "ufsphy";
928
929 lanes-per-direction = <2>;
930 dev-ref-clk-freq = <0>; /* 19.2 MHz */
931
932 clock-names =
933 "core_clk",
934 "bus_aggr_clk",
935 "iface_clk",
936 "core_clk_unipro",
937 "core_clk_ice",
938 "ref_clk",
939 "tx_lane0_sync_clk",
940 "rx_lane0_sync_clk",
941 "rx_lane1_sync_clk";
942 clocks =
943 <&clock_gcc GCC_UFS_PHY_AXI_CLK>,
944 <&clock_gcc GCC_AGGRE_UFS_PHY_AXI_CLK>,
945 <&clock_gcc GCC_UFS_PHY_AHB_CLK>,
946 <&clock_gcc GCC_UFS_PHY_UNIPRO_CORE_CLK>,
947 <&clock_gcc GCC_UFS_PHY_ICE_CORE_CLK>,
948 <&clock_rpmh RPMH_CXO_CLK>,
949 <&clock_gcc GCC_UFS_PHY_TX_SYMBOL_0_CLK>,
950 <&clock_gcc GCC_UFS_PHY_RX_SYMBOL_0_CLK>,
951 <&clock_gcc GCC_UFS_PHY_RX_SYMBOL_1_CLK>;
952 freq-table-hz =
953 <37500000 300000000>,
954 <0 0>,
955 <0 0>,
956 <37500000 300000000>,
957 <75000000 300000000>,
958 <0 0>,
959 <0 0>,
960 <0 0>,
961 <0 0>;
962
963 qcom,msm-bus,name = "ufshc_mem";
964 qcom,msm-bus,num-cases = <22>;
965 qcom,msm-bus,num-paths = <2>;
966 qcom,msm-bus,vectors-KBps =
967 /*
968 * During HS G3 UFS runs at nominal voltage corner, vote
969 * higher bandwidth to push other buses in the data path
970 * to run at nominal to achieve max throughput.
971 * 4GBps pushes BIMC to run at nominal.
972 * 200MBps pushes CNOC to run at nominal.
973 * Vote for half of this bandwidth for HS G3 1-lane.
974 * For max bandwidth, vote high enough to push the buses
975 * to run in turbo voltage corner.
976 */
977 <123 512 0 0>, <1 757 0 0>, /* No vote */
978 <123 512 922 0>, <1 757 1000 0>, /* PWM G1 */
979 <123 512 1844 0>, <1 757 1000 0>, /* PWM G2 */
980 <123 512 3688 0>, <1 757 1000 0>, /* PWM G3 */
981 <123 512 7376 0>, <1 757 1000 0>, /* PWM G4 */
982 <123 512 1844 0>, <1 757 1000 0>, /* PWM G1 L2 */
983 <123 512 3688 0>, <1 757 1000 0>, /* PWM G2 L2 */
984 <123 512 7376 0>, <1 757 1000 0>, /* PWM G3 L2 */
985 <123 512 14752 0>, <1 757 1000 0>, /* PWM G4 L2 */
986 <123 512 127796 0>, <1 757 1000 0>, /* HS G1 RA */
987 <123 512 255591 0>, <1 757 1000 0>, /* HS G2 RA */
988 <123 512 2097152 0>, <1 757 102400 0>, /* HS G3 RA */
989 <123 512 255591 0>, <1 757 1000 0>, /* HS G1 RA L2 */
990 <123 512 511181 0>, <1 757 1000 0>, /* HS G2 RA L2 */
991 <123 512 4194304 0>, <1 757 204800 0>, /* HS G3 RA L2 */
992 <123 512 149422 0>, <1 757 1000 0>, /* HS G1 RB */
993 <123 512 298189 0>, <1 757 1000 0>, /* HS G2 RB */
994 <123 512 2097152 0>, <1 757 102400 0>, /* HS G3 RB */
995 <123 512 298189 0>, <1 757 1000 0>, /* HS G1 RB L2 */
996 <123 512 596378 0>, <1 757 1000 0>, /* HS G2 RB L2 */
997 /* As UFS working in HS G3 RB L2 mode, aggregated
998 * bandwidth (AB) should take care of providing
999 * optimum throughput requested. However, as tested,
1000 * in order to scale up CNOC clock, instantaneous
1001 * bindwidth (IB) needs to be given a proper value too.
1002 */
1003 <123 512 4194304 0>, <1 757 204800 409600>, /* HS G3 RB L2 */
1004 <123 512 7643136 0>, <1 757 307200 0>; /* Max. bandwidth */
1005
1006 qcom,bus-vector-names = "MIN",
1007 "PWM_G1_L1", "PWM_G2_L1", "PWM_G3_L1", "PWM_G4_L1",
1008 "PWM_G1_L2", "PWM_G2_L2", "PWM_G3_L2", "PWM_G4_L2",
1009 "HS_RA_G1_L1", "HS_RA_G2_L1", "HS_RA_G3_L1",
1010 "HS_RA_G1_L2", "HS_RA_G2_L2", "HS_RA_G3_L2",
1011 "HS_RB_G1_L1", "HS_RB_G2_L1", "HS_RB_G3_L1",
1012 "HS_RB_G1_L2", "HS_RB_G2_L2", "HS_RB_G3_L2",
1013 "MAX";
1014
1015 /* PM QoS */
1016 qcom,pm-qos-cpu-groups = <0x0f 0xf0>;
1017 qcom,pm-qos-cpu-group-latency-us = <44 44>;
1018 qcom,pm-qos-default-cpu = <0>;
1019
1020 pinctrl-names = "dev-reset-assert", "dev-reset-deassert";
1021 pinctrl-0 = <&ufs_dev_reset_assert>;
1022 pinctrl-1 = <&ufs_dev_reset_deassert>;
1023
1024 resets = <&clock_gcc GCC_UFS_PHY_BCR>;
1025 reset-names = "core_reset";
1026
1027 status = "disabled";
1028 };
1029
Raghavendra Rao Ananta02957962018-08-06 15:28:34 -07001030 ipcc_mproc: qcom,ipcc@408000 {
1031 compatible = "qcom,kona-ipcc";
1032 reg = <0x408000 0x1000>;
1033 interrupts = <GIC_SPI 229 IRQ_TYPE_LEVEL_HIGH>;
1034 interrupt-controller;
1035 #interrupt-cells = <3>;
1036 #mbox-cells = <2>;
1037 };
Lina Iyerea91c722018-06-20 14:58:05 -06001038
Raghavendra Rao Ananta5da54b32018-08-09 10:04:50 -07001039 ipcc_self_ping: ipcc-self-ping {
1040 compatible = "qcom,ipcc-self-ping";
1041 interrupts-extended = <&ipcc_mproc IPCC_CLIENT_APSS
1042 IPCC_MPROC_SIGNAL_SMP2P IRQ_TYPE_LEVEL_HIGH>;
1043 mboxes = <&ipcc_mproc IPCC_CLIENT_APSS IPCC_MPROC_SIGNAL_SMP2P>;
1044 };
1045
Maria Neptune5a1428b2018-08-29 13:25:19 -07001046 apps_rsc: rsc@18200000 {
Lina Iyerea91c722018-06-20 14:58:05 -06001047 label = "apps_rsc";
1048 compatible = "qcom,rpmh-rsc";
1049 reg = <0x18200000 0x10000>,
1050 <0x18210000 0x10000>,
1051 <0x18220000 0x10000>;
1052 reg-names = "drv-0", "drv-1", "drv-2";
1053 interrupts = <GIC_SPI 3 IRQ_TYPE_LEVEL_HIGH>,
1054 <GIC_SPI 4 IRQ_TYPE_LEVEL_HIGH>,
1055 <GIC_SPI 5 IRQ_TYPE_LEVEL_HIGH>;
1056 qcom,tcs-offset = <0xd00>;
1057 qcom,drv-id = <2>;
1058 qcom,tcs-config = <ACTIVE_TCS 2>,
1059 <SLEEP_TCS 3>,
1060 <WAKE_TCS 3>,
1061 <CONTROL_TCS 1>;
1062 status = "disabled";
David Dai07c8d4e2018-10-09 14:22:06 -07001063
1064 msm_bus_apps_rsc {
1065 compatible = "qcom,msm-bus-rsc";
1066 qcom,msm-bus-id = <MSM_BUS_RSC_APPS>;
1067 };
Lina Iyerea91c722018-06-20 14:58:05 -06001068 };
1069
1070 disp_rsc: rsc@af20000 {
1071 label = "disp_rsc";
1072 compatible = "qcom,rpmh-rsc";
1073 reg = <0xaf20000 0x10000>;
1074 reg-names = "drv-0";
1075 interrupts = <GIC_SPI 129 IRQ_TYPE_LEVEL_HIGH>;
1076 qcom,tcs-offset = <0x1c00>;
1077 qcom,drv-id = <0>;
1078 qcom,tcs-config = <ACTIVE_TCS 0>,
1079 <SLEEP_TCS 1>,
1080 <WAKE_TCS 1>,
1081 <CONTROL_TCS 0>;
1082 status = "disabled";
1083 };
Chris Lew86f6bde2018-09-06 16:40:39 -07001084
1085 tcsr_mutex_block: syscon@1f40000 {
1086 compatible = "syscon";
1087 reg = <0x1f40000 0x20000>;
1088 };
1089
1090 tcsr_mutex: hwlock {
1091 compatible = "qcom,tcsr-mutex";
1092 syscon = <&tcsr_mutex_block 0 0x1000>;
1093 #hwlock-cells = <1>;
1094 };
1095
1096 smem: qcom,smem {
1097 compatible = "qcom,smem";
1098 memory-region = <&smem_mem>;
1099 hwlocks = <&tcsr_mutex 3>;
1100 };
Venkata Narendra Kumar Gutta1781e562018-10-09 14:44:10 -07001101
1102 kryo-erp {
1103 compatible = "arm,arm64-kryo-cpu-erp";
1104 interrupts = <GIC_PPI 0 IRQ_TYPE_LEVEL_HIGH>,
1105 <GIC_SPI 35 IRQ_TYPE_LEVEL_HIGH>;
1106 interrupt-names = "l1-l2-faultirq",
1107 "l3-scu-faultirq";
1108 };
Chris Lew3859b1b72018-09-25 16:54:52 -07001109
1110 qcom,glink {
1111 compatible = "qcom,glink";
1112 #address-cells = <1>;
1113 #size-cells = <1>;
1114 ranges;
1115
1116 glink_adsp: adsp {
1117 qcom,remote-pid = <2>;
1118 transport = "smem";
1119 mboxes = <&ipcc_mproc IPCC_CLIENT_LPASS
1120 IPCC_MPROC_SIGNAL_GLINK_QMP>;
1121 mbox-names = "adsp_smem";
1122 interrupt-parent = <&ipcc_mproc>;
1123 interrupts = <IPCC_CLIENT_LPASS
1124 IPCC_MPROC_SIGNAL_GLINK_QMP
1125 IRQ_TYPE_EDGE_RISING>;
1126
1127 label = "adsp";
1128 qcom,glink-label = "lpass";
1129
1130 qcom,adsp_qrtr {
1131 qcom,glink-channels = "IPCRTR";
1132 qcom,intents = <0x800 5
1133 0x2000 3
1134 0x4400 2>;
1135 };
1136
1137 qcom,adsp_glink_ssr {
1138 qcom,glink-channels = "glink_ssr";
1139 qcom,notify-edges = <&glink_slpi>,
1140 <&glink_cdsp>;
1141 };
1142 };
1143
1144 glink_slpi: dsps {
1145 qcom,remote-pid = <3>;
1146 transport = "smem";
1147 mboxes = <&ipcc_mproc IPCC_CLIENT_SLPI
1148 IPCC_MPROC_SIGNAL_GLINK_QMP>;
1149 mbox-names = "dsps_smem";
1150 interrupt-parent = <&ipcc_mproc>;
1151 interrupts = <IPCC_CLIENT_SLPI
1152 IPCC_MPROC_SIGNAL_GLINK_QMP
1153 IRQ_TYPE_EDGE_RISING>;
1154
1155 label = "slpi";
1156 qcom,glink-label = "dsps";
1157
1158 qcom,slpi_qrtr {
1159 qcom,glink-channels = "IPCRTR";
1160 qcom,intents = <0x800 5
1161 0x2000 3
1162 0x4400 2>;
1163 };
1164
1165 qcom,slpi_glink_ssr {
1166 qcom,glink-channels = "glink_ssr";
1167 qcom,notify-edges = <&glink_adsp>,
1168 <&glink_cdsp>;
1169 };
1170 };
1171
1172 glink_cdsp: cdsp {
1173 qcom,remote-pid = <5>;
1174 transport = "smem";
1175 mboxes = <&ipcc_mproc IPCC_CLIENT_CDSP
1176 IPCC_MPROC_SIGNAL_GLINK_QMP>;
1177 mbox-names = "dsps_smem";
1178 interrupt-parent = <&ipcc_mproc>;
1179 interrupts = <IPCC_CLIENT_CDSP
1180 IPCC_MPROC_SIGNAL_GLINK_QMP
1181 IRQ_TYPE_EDGE_RISING>;
1182
1183 label = "cdsp";
1184 qcom,glink-label = "cdsp";
1185
1186 qcom,cdsp_qrtr {
1187 qcom,glink-channels = "IPCRTR";
1188 qcom,intents = <0x800 5
1189 0x2000 3
1190 0x4400 2>;
1191 };
1192
1193 qcom,cdsp_glink_ssr {
1194 qcom,glink-channels = "glink_ssr";
1195 qcom,notify-edges = <&glink_adsp>,
1196 <&glink_slpi>;
1197 };
1198 };
1199 };
Bruce Levy5122a632018-09-25 15:51:37 -07001200
1201 qcom,lpass@17300000 {
1202 compatible = "qcom,pil-tz-generic";
1203 reg = <0x17300000 0x00100>;
1204
1205 vdd_cx-supply = <&VDD_CX_LEVEL>;
1206 qcom,vdd_cx-uV-uA = <RPMH_REGULATOR_LEVEL_TURBO 0>;
1207 qcom,proxy-reg-names = "vdd_cx";
1208
1209 clocks = <&clock_rpmh RPMH_CXO_CLK>;
1210 clock-names = "xo";
1211 qcom,proxy-clock-names = "xo";
1212
1213 qcom,pas-id = <1>;
1214 qcom,proxy-timeout-ms = <10000>;
1215 qcom,smem-id = <423>;
1216 qcom,sysmon-id = <1>;
1217 qcom,ssctl-instance-id = <0x14>;
1218 qcom,firmware-name = "adsp";
1219 memory-region = <&pil_adsp_mem>;
1220 qcom,complete-ramdump;
1221
1222 /* Inputs from lpass */
1223 interrupts-extended = <&pdc 96 IRQ_TYPE_LEVEL_HIGH>,
1224 <&adsp_smp2p_in 0 0>,
1225 <&adsp_smp2p_in 2 0>,
1226 <&adsp_smp2p_in 1 0>,
1227 <&adsp_smp2p_in 3 0>;
1228
1229 interrupt-names = "qcom,wdog",
1230 "qcom,err-fatal",
1231 "qcom,proxy-unvote",
1232 "qcom,err-ready",
1233 "qcom,stop-ack";
1234
1235 /* Outputs to lpass */
1236 qcom,smem-states = <&adsp_smp2p_out 0>;
1237 qcom,smem-state-names = "qcom,force-stop";
1238
1239 mbox-names = "adsp-pil";
1240 };
1241
1242 qcom,turing@8300000 {
1243 compatible = "qcom,pil-tz-generic";
1244 reg = <0x8300000 0x100000>;
1245
1246 vdd_cx-supply = <&VDD_CX_LEVEL>;
1247 qcom,proxy-reg-names = "vdd_cx";
1248 qcom,vdd_cx-uV-uA = <RPMH_REGULATOR_LEVEL_TURBO 100000>;
1249
1250 clocks = <&clock_rpmh RPMH_CXO_CLK>;
1251 clock-names = "xo";
1252 qcom,proxy-clock-names = "xo";
1253
1254 qcom,pas-id = <18>;
1255 qcom,proxy-timeout-ms = <10000>;
1256 qcom,smem-id = <601>;
1257 qcom,sysmon-id = <7>;
1258 qcom,ssctl-instance-id = <0x17>;
1259 qcom,firmware-name = "cdsp";
1260 memory-region = <&pil_cdsp_mem>;
1261 qcom,complete-ramdump;
1262
1263 qcom,msm-bus,name = "pil-cdsp";
1264 qcom,msm-bus,num-cases = <2>;
1265 qcom,msm-bus,num-paths = <1>;
1266 qcom,msm-bus,vectors-KBps =
1267 <154 10070 0 0>,
1268 <154 10070 0 1>;
1269
1270 /* Inputs from turing */
1271 interrupts = <GIC_SPI 578 IRQ_TYPE_LEVEL_HIGH>,
1272 <&cdsp_smp2p_in 0 0>,
1273 <&cdsp_smp2p_in 2 0>,
1274 <&cdsp_smp2p_in 1 0>,
1275 <&cdsp_smp2p_in 3 0>;
1276
1277 interrupt-names = "qcom,wdog",
1278 "qcom,err-fatal",
1279 "qcom,proxy-unvote",
1280 "qcom,err-ready",
1281 "qcom,stop-ack";
1282
1283 /* Outputs to turing */
1284 qcom,smem-states = <&cdsp_smp2p_out 0>;
1285 qcom,smem-state-names = "qcom,force-stop";
1286
1287 mbox-names = "cdsp-pil";
1288 };
Akshay Chandrashekhar Kalghatgif7905ad2018-11-08 16:30:42 -08001289
1290 qcom,venus@aab0000 {
1291 compatible = "qcom,pil-tz-generic";
1292 reg = <0xaab0000 0x2000>;
1293/*
1294 * vdd-supply = <&mvsc_gdsc>;
1295 * qcom,proxy-reg-names = "vdd";
1296 * qcom,complete-ramdump;
1297 *
1298 * clocks = <&clock_videocc VIDEO_CC_XO_CLK>,
1299 * <&clock_videocc VIDEO_CC_MVSC_CORE_CLK>,
1300 * <&clock_videocc VIDEO_CC_IRIS_AHB_CLK>;
1301 * clock-names = "xo", "core", "ahb";
1302 * qcom,proxy-clock-names = "xo", "core", "ahb";
1303 */
1304 qcom,core-freq = <200000000>;
1305 qcom,ahb-freq = <200000000>;
1306
1307 qcom,pas-id = <9>;
1308 qcom,msm-bus,name = "pil-venus";
1309 qcom,msm-bus,num-cases = <2>;
1310 qcom,msm-bus,num-paths = <1>;
1311 qcom,msm-bus,vectors-KBps =
1312 <63 512 0 0>,
1313 <63 512 0 304000>;
1314 qcom,proxy-timeout-ms = <100>;
1315 qcom,firmware-name = "venus";
1316 memory-region = <&pil_video_mem>;
1317 };
Tharun Kumar Merugub8d79dd2018-11-02 23:07:31 +05301318
1319 qcom,msm-cdsp-loader {
1320 compatible = "qcom,cdsp-loader";
1321 qcom,proc-img-to-load = "cdsp";
1322 };
Runmin Wang4f5985b2017-04-19 15:55:12 -07001323};
Swathi Sridhar4008eb42018-07-17 15:34:46 -07001324
David Daib1d68482018-10-01 19:40:35 -07001325#include "kona-bus.dtsi"
Swathi Sridharbbbc80b2018-07-13 10:02:08 -07001326#include "kona-ion.dtsi"
Swathi Sridhar4008eb42018-07-17 15:34:46 -07001327#include "msm-arm-smmu-kona.dtsi"
Rishabh Bhatnagara740b0e2018-07-20 15:08:35 -07001328#include "kona-pinctrl.dtsi"
Chris Lew86f6bde2018-09-06 16:40:39 -07001329#include "kona-smp2p.dtsi"
Hemant Kumar5f58bad2018-08-31 14:25:23 -07001330#include "kona-usb.dtsi"
Samantha Tran7e309f02018-08-31 17:23:00 -07001331#include "kona-sde.dtsi"
Satya Rama Aditya Pinapala09600b32018-10-29 10:52:37 -07001332#include "kona-sde-pll.dtsi"
Samantha Tran7e309f02018-08-31 17:23:00 -07001333#include "kona-sde-display.dtsi"
Vignesh Kulothungand728f712018-10-26 17:49:46 -07001334#include "kona-audio.dtsi"