blob: 13d50f8f9e42addd438c7b6a576fd39f08b13e00 [file] [log] [blame]
Anirudh Ghayalfe988812018-01-10 10:21:54 +05301/* Copyright (c) 2017-2018, The Linux Foundation. All rights reserved.
Jeevan Shriramdcb8b912017-03-19 20:27:35 -07002 *
3 * This program is free software; you can redistribute it and/or modify
4 * it under the terms of the GNU General Public License version 2 and
5 * only version 2 as published by the Free Software Foundation.
6 *
7 * This program is distributed in the hope that it will be useful,
8 * but WITHOUT ANY WARRANTY; without even the implied warranty of
9 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
10 * GNU General Public License for more details.
11 */
12
Archana Sathyakumar3e365aa2017-04-27 13:35:54 -060013#include <dt-bindings/soc/qcom,tcs-mbox.h>
Jeevan Shriramdcb8b912017-03-19 20:27:35 -070014#include "skeleton.dtsi"
Osvaldo Banuelos139d7792017-05-03 13:58:54 -070015#include <dt-bindings/clock/qcom,rpmh.h>
Jonathan Avilad59c0df2017-12-04 13:53:45 -080016#include <dt-bindings/clock/qcom,cpu-a7.h>
Osvaldo Banuelos39641172017-04-10 13:51:35 -070017#include <dt-bindings/clock/qcom,gcc-sdxpoorwills.h>
Tirupathi Reddy242c1312017-08-17 11:01:16 +053018#include <dt-bindings/interrupt-controller/arm-gic.h>
Amit Nischal226ef5b2017-09-07 12:56:07 +053019#include <dt-bindings/regulator/qcom,rpmh-regulator.h>
Mao Jinlong0b02a042018-01-11 20:40:47 +080020#include <dt-bindings/clock/qcom,aop-qmp.h>
Jeevan Shriramdcb8b912017-03-19 20:27:35 -070021
22/ {
23 model = "Qualcomm Technologies, Inc. SDX POORWILLS";
24 compatible = "qcom,sdxpoorwills";
Jeevan Shriram71f2f492017-11-21 13:13:00 -080025 qcom,msm-id = <334 0x0>, <335 0x0>;
Archana Sathyakumar0a81d722017-11-01 10:59:33 -060026 interrupt-parent = <&pdc>;
Jeevan Shriramdcb8b912017-03-19 20:27:35 -070027
28 reserved-memory {
29 #address-cells = <1>;
30 #size-cells = <1>;
31 ranges;
32
Raghavendra Rao Anantab9297882017-11-28 17:15:15 -080033 peripheral2_mem: peripheral2_region@8fe00000 {
Jeevan Shriramdcb8b912017-03-19 20:27:35 -070034 compatible = "removed-dma-pool";
35 no-map;
Raghavendra Rao Anantab9297882017-11-28 17:15:15 -080036 reg = <0x8fe00000 0x200000>;
Jeevan Shriramdcb8b912017-03-19 20:27:35 -070037 label = "peripheral2_mem";
38 };
Satya Durga Srinivasu Prabhala12953b72017-07-24 16:50:55 -070039
Raghavendra Rao Anantab9297882017-11-28 17:15:15 -080040 sbl_region: sbl_region@8fd00000 {
41 no-map;
42 reg = <0x8fd00000 0x100000>;
43 label = "sbl_mem";
44 };
45
46 hyp_region: hyp_region@8fc00000 {
47 no-map;
48 reg = <0x8fc00000 0x80000>;
49 label = "hyp_mem";
50 };
51
52 mss_mem: mss_region@87400000 {
Satya Durga Srinivasu Prabhala12953b72017-07-24 16:50:55 -070053 compatible = "removed-dma-pool";
54 no-map;
Raghavendra Rao Ananta3314e0f2017-12-01 14:08:51 -080055 reg = <0x87400000 0x8300000>;
Satya Durga Srinivasu Prabhala12953b72017-07-24 16:50:55 -070056 label = "mss_mem";
57 };
Xiaoyu Ye84364ce2017-10-20 16:02:43 -070058
59 audio_mem: audio_region@0 {
60 compatible = "shared-dma-pool";
61 reusable;
62 size = <0x400000>;
63 };
Jeevan Shriramdcb8b912017-03-19 20:27:35 -070064 };
65
66 cpus {
67 #size-cells = <0>;
68 #address-cells = <1>;
69
70 CPU0: cpu@0 {
Mao Jinlong207749c2018-01-16 16:26:39 +080071 device_type = "cpu";
Jeevan Shriramdcb8b912017-03-19 20:27:35 -070072 compatible = "arm,cortex-a7";
Archana Sathyakumar0a81d722017-11-01 10:59:33 -060073 enable-method = "psci";
Jeevan Shriramdcb8b912017-03-19 20:27:35 -070074 reg = <0x0>;
Ram Chandrasekarc6b9e8c2017-10-11 15:52:31 -060075 #cooling-cells = <2>;
Jeevan Shriramdcb8b912017-03-19 20:27:35 -070076 };
77 };
78
Sahitya Tummala61f1d322017-06-06 13:49:19 +053079 aliases {
80 qpic_nand1 = &qnand_1;
Tony Truong65dc7482017-10-24 15:22:06 -070081 pci-domain0 = &pcie0;
Umang Agrawal51513812017-11-02 18:18:54 +053082 sdhc1 = &sdhc_1; /* SDC1 eMMC/SD/SDIO slot */
Sahitya Tummala61f1d322017-06-06 13:49:19 +053083 };
84
Archana Sathyakumar0a81d722017-11-01 10:59:33 -060085 psci {
86 compatible = "arm,psci-1.0";
87 method = "smc";
88 };
89
Jeevan Shriramdcb8b912017-03-19 20:27:35 -070090 soc: soc { };
91};
92
93
94&soc {
95 #address-cells = <1>;
96 #size-cells = <1>;
97 ranges;
98
99 intc: interrupt-controller@17800000 {
100 compatible = "qcom,msm-qgic2";
101 interrupt-controller;
102 #interrupt-cells = <3>;
103 reg = <0x17800000 0x1000>,
104 <0x17802000 0x1000>;
Archana Sathyakumar0a81d722017-11-01 10:59:33 -0600105 interrupt-parent = <&intc>;
106 };
107
108 pdc: interrupt-controller@b210000{
109 compatible = "qcom,pdc-sdxpoorwills";
110 reg = <0xb210000 0x30000>;
111 #interrupt-cells = <3>;
112 interrupt-parent = <&intc>;
113 interrupt-controller;
Jeevan Shriramdcb8b912017-03-19 20:27:35 -0700114 };
115
116 timer {
117 compatible = "arm,armv7-timer";
118 interrupts = <1 13 0xf08>,
119 <1 12 0xf08>,
120 <1 10 0xf08>,
121 <1 11 0xf08>;
122 clock-frequency = <19200000>;
123 };
124
125 timer@17820000 {
126 #address-cells = <1>;
127 #size-cells = <1>;
128 ranges;
129 compatible = "arm,armv7-timer-mem";
130 reg = <0x17820000 0x1000>;
131 clock-frequency = <19200000>;
132
133 frame@17821000 {
134 frame-number = <0>;
135 interrupts = <0 7 0x4>,
136 <0 6 0x4>;
137 reg = <0x17821000 0x1000>,
138 <0x17822000 0x1000>;
139 };
140
141 frame@17823000 {
142 frame-number = <1>;
143 interrupts = <0 8 0x4>;
144 reg = <0x17823000 0x1000>;
145 status = "disabled";
146 };
147
148 frame@17824000 {
149 frame-number = <2>;
150 interrupts = <0 9 0x4>;
151 reg = <0x17824000 0x1000>;
152 status = "disabled";
153 };
154
155 frame@17825000 {
156 frame-number = <3>;
157 interrupts = <0 10 0x4>;
158 reg = <0x17825000 0x1000>;
159 status = "disabled";
160 };
161
162 frame@17826000 {
163 frame-number = <4>;
164 interrupts = <0 11 0x4>;
165 reg = <0x17826000 0x1000>;
166 status = "disabled";
167 };
168
169 frame@17827000 {
170 frame-number = <5>;
171 interrupts = <0 12 0x4>;
172 reg = <0x17827000 0x1000>;
173 status = "disabled";
174 };
175
176 frame@17828000 {
177 frame-number = <6>;
178 interrupts = <0 13 0x4>;
179 reg = <0x17828000 0x1000>;
180 status = "disabled";
181 };
182
183 frame@17829000 {
184 frame-number = <7>;
185 interrupts = <0 14 0x4>;
186 reg = <0x17829000 0x1000>;
187 status = "disabled";
188 };
189 };
190
Jonathan Avilad59c0df2017-12-04 13:53:45 -0800191 msm_cpufreq: qcom,msm-cpufreq {
192 compatible = "qcom,msm-cpufreq";
193 clocks = <&clock_cpu APCS_CLK>;
194 clock-names = "cpu0_clk";
195
196 qcom,cpufreq-table-0 =
197 < 153600 >,
198 < 300000 >,
199 < 345600 >,
200 < 576000 >,
201 < 1094400 >,
202 < 1497600 >;
203 };
204
Osvaldo Banuelos39641172017-04-10 13:51:35 -0700205 clock_gcc: qcom,gcc@100000 {
Vicky Wallace8ca25b92017-09-20 18:21:59 -0700206 compatible = "qcom,gcc-sdxpoorwills";
207 reg = <0x100000 0x1f0000>;
208 reg-names = "cc_base";
209 vdd_cx-supply = <&pmxpoorwills_s5_level>;
210 vdd_cx_ao-supply = <&pmxpoorwills_s5_level_ao>;
Osvaldo Banuelos39641172017-04-10 13:51:35 -0700211 #clock-cells = <1>;
Deepak Katragaddaef38d7b2017-05-30 15:29:19 -0700212 #reset-cells = <1>;
Osvaldo Banuelos39641172017-04-10 13:51:35 -0700213 };
214
Amit Nischal226ef5b2017-09-07 12:56:07 +0530215 clock_cpu: qcom,clock-a7@17808100 {
216 compatible = "qcom,cpu-sdxpoorwills";
217 clocks = <&clock_rpmh RPMH_CXO_CLK_A>;
218 clock-names = "xo_ao";
219 qcom,a7cc-init-rate = <1497600000>;
220 reg = <0x17808100 0x7F10>;
221 reg-names = "apcs_pll";
222 qcom,rcg-reg-offset = <0x7F08>;
223
224 vdd_dig_ao-supply = <&pmxpoorwills_s5_level_ao>;
225 cpu-vdd-supply = <&pmxpoorwills_s5_level_ao>;
226 qcom,speed0-bin-v0 =
227 < 0 RPMH_REGULATOR_LEVEL_OFF>,
228 < 345600000 RPMH_REGULATOR_LEVEL_LOW_SVS>,
229 < 576000000 RPMH_REGULATOR_LEVEL_SVS>,
230 < 1094400000 RPMH_REGULATOR_LEVEL_NOM>,
231 < 1497600000 RPMH_REGULATOR_LEVEL_TURBO>;
Osvaldo Banuelos39641172017-04-10 13:51:35 -0700232 #clock-cells = <1>;
233 };
234
Osvaldo Banuelos139d7792017-05-03 13:58:54 -0700235 clock_rpmh: qcom,rpmhclk {
Tirupathi Reddyeaf28a22017-10-31 09:32:02 +0530236 compatible = "qcom,rpmh-clk-sdxpoorwills";
Osvaldo Banuelos139d7792017-05-03 13:58:54 -0700237 #clock-cells = <1>;
Tirupathi Reddyeaf28a22017-10-31 09:32:02 +0530238 mboxes = <&apps_rsc 0>;
239 mbox-names = "apps";
Osvaldo Banuelos139d7792017-05-03 13:58:54 -0700240 };
241
Mao Jinlong0b02a042018-01-11 20:40:47 +0800242 clock_aop: qcom,aopclk {
243 compatible = "qcom,aop-qmp-clk-v1";
244 #clock-cells = <1>;
245 mboxes = <&qmp_aop 0>;
246 mbox-names = "qdss_clk";
247 };
248
David Dai34103b32017-12-01 15:16:20 -0800249 snoc_cnoc_keepalive: qcom,snoc_cnoc_keepalive {
250 compatible = "qcom,devbw";
251 governor = "powersave";
252 qcom,src-dst-ports = <53 747>;
253 qcom,active-only;
254 status = "ok";
255 qcom,bw-tbl =
256 < 1 >;
257 };
258
Jeevan Shrirama99fb5b2017-11-28 08:13:04 -0800259 serial_uart: serial@831000 {
Jeevan Shriramdcb8b912017-03-19 20:27:35 -0700260 compatible = "qcom,msm-uartdm-v1.4", "qcom,msm-uartdm";
261 reg = <0x831000 0x200>;
262 interrupts = <0 26 0>;
263 status = "disabled";
Vicky Wallacedf797782017-10-27 17:35:34 -0700264 clocks = <&clock_gcc GCC_BLSP1_UART3_APPS_CLK>,
Runmin Wang8dce58692017-05-01 15:19:18 -0700265 <&clock_gcc GCC_BLSP1_AHB_CLK>;
266 clock-names = "core", "iface";
Jeevan Shriramdcb8b912017-03-19 20:27:35 -0700267 };
Osvaldo Banuelos8d9c87b2017-05-08 11:36:39 -0700268
269 gdsc_usb30: qcom,gdsc@10b004 {
270 compatible = "qcom,gdsc";
271 regulator-name = "gdsc_usb30";
272 reg = <0x0010b004 0x4>;
Osvaldo Banuelos8d9c87b2017-05-08 11:36:39 -0700273 };
274
Yan Hebd0e9612017-07-06 16:21:41 -0700275 qcom,sps {
276 compatible = "qcom,msm_sps_4k";
277 qcom,pipe-attr-ee;
278 };
279
Osvaldo Banuelos8d9c87b2017-05-08 11:36:39 -0700280 gdsc_pcie: qcom,gdsc@137004 {
281 compatible = "qcom,gdsc";
282 regulator-name = "gdsc_pcie";
283 reg = <0x00137004 0x4>;
Vicky Wallace8ca25b92017-09-20 18:21:59 -0700284 };
285
286 gdsc_emac: qcom,gdsc@147004 {
287 compatible = "qcom,gdsc";
288 regulator-name = "gdsc_emac";
289 reg = <0x00147004 0x4>;
Osvaldo Banuelos8d9c87b2017-05-08 11:36:39 -0700290 };
Runmin Wangd039a4e2017-06-20 14:56:56 -0700291
Sahitya Tummala61f1d322017-06-06 13:49:19 +0530292 qnand_1: nand@1b00000 {
293 compatible = "qcom,msm-nand";
294 reg = < 0x01b00000 0x10000>,
295 <0x01b04000 0x1a000>;
296 reg-names = "nand_phys",
297 "bam_phys";
298 qcom,reg-adjustment-offset = <0x4000>;
299 qcom,qpic-clk-rpmh;
300
301 interrupts = <0 135 0>;
302 interrupt-names = "bam_irq";
303
304 qcom,msm-bus,name = "qpic_nand";
305 qcom,msm-bus,num-cases = <2>;
306 qcom,msm-bus,num-paths = <1>;
307
308 qcom,msm-bus,vectors-KBps =
309 <91 512 0 0>,
310 /* Voting for max b/w on PNOC bus for now */
311 <91 512 400000 400000>;
312
313 status = "disabled";
314 };
315
Umang Agrawal51513812017-11-02 18:18:54 +0530316 sdhc_1: sdhci@8804000 {
317 compatible = "qcom,sdhci-msm-v5";
318 reg = <0x8804000 0x1000>;
319 reg-names = "hc_mem";
320
321 interrupts = <0 210 0>, <0 227 0>;
322 interrupt-names = "hc_irq", "pwr_irq";
323
324 qcom,bus-width = <4>;
325
326 qcom,msm-bus,name = "sdhc1";
327 qcom,msm-bus,num-cases = <8>;
328 qcom,msm-bus,num-paths = <1>;
329 qcom,msm-bus,vectors-KBps = <78 512 0 0>, /* No vote */
330 <78 512 1600 3200>, /* 400 KB/s*/
331 <78 512 80000 160000>, /* 20 MB/s */
332 <78 512 100000 200000>, /* 25 MB/s */
333 <78 512 200000 400000>, /* 50 MB/s */
334 <78 512 400000 800000>, /* 100 MB/s */
335 <78 512 400000 800000>, /* 200 MB/s */
336 <78 512 2048000 4096000>; /* Max. bandwidth */
337 qcom,bus-bw-vectors-bps = <0 400000 20000000 25000000 50000000
338 100000000 200000000 4294967295>;
339
340 /* PM QoS */
341 qcom,pm-qos-cpu-groups = <0x0>;
342 qcom,pm-qos-cmdq-latency-us = <70>;
343 qcom,pm-qos-legacy-latency-us = <70>;
344 qcom,pm-qos-irq-type = "affine_cores";
345 qcom,pm-qos-irq-cpu = <0>;
346 qcom,pm-qos-irq-latency = <70>;
347
348 clocks = <&clock_gcc GCC_SDCC1_AHB_CLK>,
349 <&clock_gcc GCC_SDCC1_APPS_CLK>;
350 clock-names = "iface_clk", "core_clk";
351
352 status = "disabled";
353 };
354
Raghavendra Rao Ananta2f2615d2017-10-26 10:51:32 -0700355 qcom,msm-imem@1468B000 {
Runmin Wangd039a4e2017-06-20 14:56:56 -0700356 compatible = "qcom,msm-imem";
Raghavendra Rao Ananta2f2615d2017-10-26 10:51:32 -0700357 reg = <0x1468B000 0x1000>; /* Address and size of IMEM */
358 ranges = <0x0 0x1468B000 0x1000>;
Runmin Wangd039a4e2017-06-20 14:56:56 -0700359 #address-cells = <1>;
360 #size-cells = <1>;
361
362 mem_dump_table@10 {
363 compatible = "qcom,msm-imem-mem_dump_table";
364 reg = <0x10 8>;
365 };
366
367 restart_reason@65c {
368 compatible = "qcom,msm-imem-restart_reason";
369 reg = <0x65c 4>;
370 };
371
372 boot_stats@6b0 {
373 compatible = "qcom,msm-imem-boot_stats";
374 reg = <0x6b0 32>;
375 };
Raghavendra Rao Ananta2f2615d2017-10-26 10:51:32 -0700376
377 pil@94c {
378 compatible = "qcom,msm-imem-pil";
379 reg = <0x94c 200>;
380 };
381
382 diag_dload@c8 {
383 compatible = "qcom,msm-imem-diag-dload";
384 reg = <0xc8 200>;
385 };
386};
Runmin Wangd039a4e2017-06-20 14:56:56 -0700387
Jeevan Shriramb3a31b92017-12-11 09:53:13 -0800388 restart@c264000 {
Runmin Wangd039a4e2017-06-20 14:56:56 -0700389 compatible = "qcom,pshold";
Jeevan Shriramb3a31b92017-12-11 09:53:13 -0800390 reg = <0x0c264000 0x4>,
391 <0x01fd3000 0x4>;
Runmin Wangd039a4e2017-06-20 14:56:56 -0700392 reg-names = "pshold-base", "tcsr-boot-misc-detect";
393 };
394
Siddartha Mohanadoss6bbf8592017-07-13 14:15:41 -0700395 tsens0: tsens@c222000 {
396 compatible = "qcom,tsens24xx";
397 reg = <0xc222000 0x4>,
398 <0xc263000 0x1ff>;
399 reg-names = "tsens_srot_physical",
400 "tsens_tm_physical";
401 interrupts = <0 163 0>, <0 165 0>;
402 interrupt-names = "tsens-upper-lower", "tsens-critical";
403 #thermal-sensor-cells = <1>;
404 };
405
Ram Chandrasekarc6b9e8c2017-10-11 15:52:31 -0600406 thermal_zones: thermal-zones { };
Siddartha Mohanadoss6bbf8592017-07-13 14:15:41 -0700407
Ghanim Fodic389d572017-08-03 17:56:27 +0300408 qcom,ipa_fws {
409 compatible = "qcom,pil-tz-generic";
410 qcom,pas-id = <0xf>;
411 qcom,firmware-name = "ipa_fws";
Michael Adisumartaf0740fa2017-12-07 13:17:49 -0800412 qcom,pil-force-shutdown;
Ghanim Fodic389d572017-08-03 17:56:27 +0300413 };
Tirupathi Reddy242c1312017-08-17 11:01:16 +0530414
415 spmi_bus: qcom,spmi@c440000 {
416 compatible = "qcom,spmi-pmic-arb";
417 reg = <0xc440000 0x1100>,
418 <0xc600000 0x2000000>,
419 <0xe600000 0x100000>,
420 <0xe700000 0xa0000>,
421 <0xc40a000 0x26000>;
422 reg-names = "core", "chnls", "obsrvr", "intr", "cnfg";
423 interrupt-names = "periph_irq";
424 interrupts = <GIC_SPI 148 IRQ_TYPE_NONE>;
425 qcom,ee = <0>;
426 qcom,channel = <0>;
427 #address-cells = <2>;
428 #size-cells = <0>;
429 interrupt-controller;
430 #interrupt-cells = <4>;
431 cell-index = <0>;
432 };
Chris Lew929d9ba2017-08-11 14:42:55 -0700433
434 qcom,ipc-spinlock@1f40000 {
435 compatible = "qcom,ipc-spinlock-sfpb";
436 reg = <0x1f40000 0x8000>;
437 qcom,num-locks = <8>;
438 };
439
440 qcom,smem@8fe40000 {
441 compatible = "qcom,smem";
442 reg = <0x8fe40000 0xc0000>,
443 <0x17811008 0x4>,
444 <0x1fd4000 0x8>;
445 reg-names = "smem", "irq-reg-base",
446 "smem_targ_info_reg";
447 qcom,mpu-enabled;
448 };
449
450 qcom,glink-smem-native-xprt-modem@8fe40000 {
451 compatible = "qcom,glink-smem-native-xprt";
452 reg = <0x8fe40000 0xc0000>,
453 <0x17811008 0x4>;
454 reg-names = "smem", "irq-reg-base";
Chris Lewb9a1e962017-10-20 10:31:55 -0700455 qcom,irq-mask = <0x8000>;
456 interrupts = <GIC_SPI 114 IRQ_TYPE_EDGE_RISING>;
Chris Lew929d9ba2017-08-11 14:42:55 -0700457 label = "mpss";
458 };
459
460 qcom,ipc_router {
461 compatible = "qcom,ipc_router";
462 qcom,node-id = <1>;
463 };
464
465 qcom,ipc_router_modem_xprt {
466 compatible = "qcom,ipc_router_glink_xprt";
467 qcom,ch-name = "IPCRTR";
468 qcom,xprt-remote = "mpss";
469 qcom,glink-xprt = "smem";
470 qcom,xprt-linkid = <1>;
471 qcom,xprt-version = <1>;
472 qcom,fragmented-data;
473 };
474
475 qcom,glink_pkt {
476 compatible = "qcom,glinkpkt";
477
478 qcom,glinkpkt-at-mdm0 {
479 qcom,glinkpkt-transport = "smem";
480 qcom,glinkpkt-edge = "mpss";
481 qcom,glinkpkt-ch-name = "DS";
482 qcom,glinkpkt-dev-name = "at_mdm0";
483 };
484
485 qcom,glinkpkt-loopback_cntl {
486 qcom,glinkpkt-transport = "lloop";
487 qcom,glinkpkt-edge = "local";
488 qcom,glinkpkt-ch-name = "LOCAL_LOOPBACK_CLNT";
489 qcom,glinkpkt-dev-name = "glink_pkt_loopback_ctrl";
490 };
491
492 qcom,glinkpkt-loopback_data {
493 qcom,glinkpkt-transport = "lloop";
494 qcom,glinkpkt-edge = "local";
495 qcom,glinkpkt-ch-name = "glink_pkt_lloop_CLNT";
496 qcom,glinkpkt-dev-name = "glink_pkt_loopback";
497 };
498
499 qcom,glinkpkt-data40-cntl {
500 qcom,glinkpkt-transport = "smem";
501 qcom,glinkpkt-edge = "mpss";
502 qcom,glinkpkt-ch-name = "DATA40_CNTL";
503 qcom,glinkpkt-dev-name = "smdcntl8";
504 };
505
506 qcom,glinkpkt-data1 {
507 qcom,glinkpkt-transport = "smem";
508 qcom,glinkpkt-edge = "mpss";
509 qcom,glinkpkt-ch-name = "DATA1";
510 qcom,glinkpkt-dev-name = "smd7";
511 };
512
513 qcom,glinkpkt-data4 {
514 qcom,glinkpkt-transport = "smem";
515 qcom,glinkpkt-edge = "mpss";
516 qcom,glinkpkt-ch-name = "DATA4";
517 qcom,glinkpkt-dev-name = "smd8";
518 };
519
520 qcom,glinkpkt-data11 {
521 qcom,glinkpkt-transport = "smem";
522 qcom,glinkpkt-edge = "mpss";
523 qcom,glinkpkt-ch-name = "DATA11";
524 qcom,glinkpkt-dev-name = "smd11";
525 };
526 };
Satya Durga Srinivasu Prabhala12953b72017-07-24 16:50:55 -0700527
528 pil_modem: qcom,mss@4080000 {
529 compatible = "qcom,pil-tz-generic";
530 reg = <0x4080000 0x100>;
531 interrupts = <0 250 1>;
532
533 clocks = <&clock_rpmh RPMH_CXO_CLK>;
534 clock-names = "xo";
535 qcom,proxy-clock-names = "xo";
536
537 vdd_cx-supply = <&pmxpoorwills_s5_level>;
538 qcom,proxy-reg-names = "vdd_cx";
539
Raghavendra Rao Ananta198654b2018-01-10 11:30:26 -0800540 qcom,pas-id = <4>;
Satya Durga Srinivasu Prabhala12953b72017-07-24 16:50:55 -0700541 qcom,smem-id = <421>;
542 qcom,proxy-timeout-ms = <10000>;
543 qcom,sysmon-id = <0>;
544 qcom,ssctl-instance-id = <0x12>;
545 qcom,firmware-name = "modem";
546 memory-region = <&mss_mem>;
547 status = "ok";
548
549 /* GPIO inputs from mss */
550 qcom,gpio-err-fatal = <&smp2pgpio_ssr_smp2p_1_in 0 0>;
551 qcom,gpio-err-ready = <&smp2pgpio_ssr_smp2p_1_in 1 0>;
552 qcom,gpio-proxy-unvote = <&smp2pgpio_ssr_smp2p_1_in 2 0>;
553 qcom,gpio-stop-ack = <&smp2pgpio_ssr_smp2p_1_in 3 0>;
554
555 /* GPIO output to mss */
556 qcom,gpio-force-stop = <&smp2pgpio_ssr_smp2p_1_out 0 0>;
557 };
Archana Sathyakumar3e365aa2017-04-27 13:35:54 -0600558
559 apps_rsc: mailbox@17840000 {
560 compatible = "qcom,tcs-drv";
561 label = "apps_rsc";
562 reg = <0x17840000 0x100>, <0x17840d00 0x3000>;
563 interrupts = <0 17 0>;
564 #mbox-cells = <1>;
565 qcom,drv-id = <1>;
566 qcom,tcs-config = <ACTIVE_TCS 2>,
567 <SLEEP_TCS 2>,
568 <WAKE_TCS 2>,
569 <CONTROL_TCS 1>;
570 };
571
Mahesh Sivasubramaniand306a2c2017-11-09 10:09:26 -0700572 cmd_db: qcom,cmd-db@c37000c {
Archana Sathyakumar3e365aa2017-04-27 13:35:54 -0600573 compatible = "qcom,cmd-db";
Mahesh Sivasubramaniand306a2c2017-11-09 10:09:26 -0700574 reg = <0xc37000c 8>;
Archana Sathyakumar3e365aa2017-04-27 13:35:54 -0600575 };
576
Michael Adisumarta062cf642017-12-05 15:06:09 -0800577 qcom,msm_gsi {
578 compatible = "qcom,msm_gsi";
579 };
580
581 qcom,rmnet-ipa {
582 compatible = "qcom,rmnet-ipa3";
583 qcom,rmnet-ipa-ssr;
584 qcom,ipa-loaduC;
585 qcom,ipa-advertise-sg-support;
586 };
587
Archana Sathyakumar3e365aa2017-04-27 13:35:54 -0600588 system_pm {
589 compatible = "qcom,system-pm";
590 mboxes = <&apps_rsc 0>;
591 };
Sunil Paidimarri6c422bc2017-10-05 12:41:32 -0700592
Michael Adisumarta062cf642017-12-05 15:06:09 -0800593 ipa_hw: qcom,ipa@01e00000 {
594 compatible = "qcom,ipa";
595 reg = <0x1e00000 0x34000>,
596 <0x1e04000 0x28000>;
597 reg-names = "ipa-base", "gsi-base";
598 interrupts =
599 <0 241 0>,
600 <0 47 0>;
601 interrupt-names = "ipa-irq", "gsi-irq";
602 qcom,ipa-hw-ver = <14>; /* IPA core version = IPAv4.0 */
603 qcom,ipa-hw-mode = <0>;
604 qcom,ee = <0>;
605 qcom,use-ipa-tethering-bridge;
Ghanim Fodibab254d2017-12-09 00:19:19 +0200606 qcom,mhi-event-ring-id-limits = <9 10>; /* start and end */
Michael Adisumarta062cf642017-12-05 15:06:09 -0800607 qcom,modem-cfg-emb-pipe-flt;
608 qcom,use-ipa-pm;
Michael Adisumartadbb9e622018-01-26 17:28:26 -0800609 qcom,arm-smmu;
610 qcom,smmu-fast-map;
Michael Adisumarta062cf642017-12-05 15:06:09 -0800611 qcom,bandwidth-vote-for-ipa;
612 qcom,msm-bus,name = "ipa";
613 qcom,msm-bus,num-cases = <5>;
614 qcom,msm-bus,num-paths = <4>;
615 qcom,msm-bus,vectors-KBps =
616 /* No vote */
617 <90 512 0 0>,
618 <90 585 0 0>,
619 <1 676 0 0>,
620 <143 777 0 0>,
621 /* SVS2 */
622 <90 512 3616000 7232000>,
623 <90 585 300000 600000>,
624 <1 676 90000 180000>, /*gcc_config_noc_clk_src */
625 <143 777 0 120>, /* IB defined for IPA2X_clk in MHz*/
626 /* SVS */
627 <90 512 6640000 13280000>,
628 <90 585 400000 800000>,
629 <1 676 100000 200000>,
630 <143 777 0 250>, /* IB defined for IPA2X_clk in MHz*/
631 /* NOMINAL */
632 <90 512 10400000 20800000>,
633 <90 585 800000 1600000>,
634 <1 676 200000 400000>,
635 <143 777 0 440>, /* IB defined for IPA2X_clk in MHz*/
636 /* TURBO */
637 <90 512 10400000 20800000>,
638 <90 585 960000 1920000>,
639 <1 676 266000 532000>,
640 <143 777 0 500>; /* IB defined for IPA clk in MHz*/
641 qcom,bus-vector-names = "MIN", "SVS2", "SVS", "NOMINAL",
642 "TURBO";
643 qcom,throughput-threshold = <310 600 1000>;
644 qcom,scaling-exceptions = <>;
645
646
647 /* IPA RAM mmap */
648 qcom,ipa-ram-mmap = <
649 0x280 /* ofst_start; */
650 0x0 /* nat_ofst; */
651 0x0 /* nat_size; */
652 0x288 /* v4_flt_hash_ofst; */
653 0x78 /* v4_flt_hash_size; */
654 0x4000 /* v4_flt_hash_size_ddr; */
655 0x308 /* v4_flt_nhash_ofst; */
656 0x78 /* v4_flt_nhash_size; */
657 0x4000 /* v4_flt_nhash_size_ddr; */
658 0x388 /* v6_flt_hash_ofst; */
659 0x78 /* v6_flt_hash_size; */
660 0x4000 /* v6_flt_hash_size_ddr; */
661 0x408 /* v6_flt_nhash_ofst; */
662 0x78 /* v6_flt_nhash_size; */
663 0x4000 /* v6_flt_nhash_size_ddr; */
664 0xf /* v4_rt_num_index; */
665 0x0 /* v4_modem_rt_index_lo; */
666 0x7 /* v4_modem_rt_index_hi; */
667 0x8 /* v4_apps_rt_index_lo; */
668 0xe /* v4_apps_rt_index_hi; */
669 0x488 /* v4_rt_hash_ofst; */
670 0x78 /* v4_rt_hash_size; */
671 0x4000 /* v4_rt_hash_size_ddr; */
672 0x508 /* v4_rt_nhash_ofst; */
673 0x78 /* v4_rt_nhash_size; */
674 0x4000 /* v4_rt_nhash_size_ddr; */
675 0xf /* v6_rt_num_index; */
676 0x0 /* v6_modem_rt_index_lo; */
677 0x7 /* v6_modem_rt_index_hi; */
678 0x8 /* v6_apps_rt_index_lo; */
679 0xe /* v6_apps_rt_index_hi; */
680 0x588 /* v6_rt_hash_ofst; */
681 0x78 /* v6_rt_hash_size; */
682 0x4000 /* v6_rt_hash_size_ddr; */
683 0x608 /* v6_rt_nhash_ofst; */
684 0x78 /* v6_rt_nhash_size; */
685 0x4000 /* v6_rt_nhash_size_ddr; */
686 0x688 /* modem_hdr_ofst; */
687 0x140 /* modem_hdr_size; */
688 0x7c8 /* apps_hdr_ofst; */
689 0x0 /* apps_hdr_size; */
690 0x800 /* apps_hdr_size_ddr; */
691 0x7d0 /* modem_hdr_proc_ctx_ofst; */
692 0x200 /* modem_hdr_proc_ctx_size; */
693 0x9d0 /* apps_hdr_proc_ctx_ofst; */
694 0x200 /* apps_hdr_proc_ctx_size; */
695 0x0 /* apps_hdr_proc_ctx_size_ddr; */
696 0x0 /* modem_comp_decomp_ofst; diff */
697 0x0 /* modem_comp_decomp_size; diff */
698 0x13f0 /* modem_ofst; */
699 0x100c /* modem_size; */
700 0x23fc /* apps_v4_flt_hash_ofst; */
701 0x0 /* apps_v4_flt_hash_size; */
702 0x23fc /* apps_v4_flt_nhash_ofst; */
703 0x0 /* apps_v4_flt_nhash_size; */
704 0x23fc /* apps_v6_flt_hash_ofst; */
705 0x0 /* apps_v6_flt_hash_size; */
706 0x23fc /* apps_v6_flt_nhash_ofst; */
707 0x0 /* apps_v6_flt_nhash_size; */
708 0x80 /* uc_info_ofst; */
709 0x200 /* uc_info_size; */
710 0x2800 /* end_ofst; */
711 0x23fc /* apps_v4_rt_hash_ofst; */
712 0x0 /* apps_v4_rt_hash_size; */
713 0x23fc /* apps_v4_rt_nhash_ofst; */
714 0x0 /* apps_v4_rt_nhash_size; */
715 0x23fc /* apps_v6_rt_hash_ofst; */
716 0x0 /* apps_v6_rt_hash_size; */
717 0x23fc /* apps_v6_rt_nhash_ofst; */
718 0x0 /* apps_v6_rt_nhash_size; */
719 0x2400 /* uc_event_ring_ofst; */
720 0x400 /* uc_event_ring_size;*/
721 0xbd8 /* pdn_config_ofst; */
722 0x50 /* pdn_config_size; */
723 0xc30 /* stats_quota_ofst */
724 0x60 /* stats_quota_size */
725 0xc90 /* stats_tethering_ofst */
726 0x140 /* stats_tethering_size */
727 0xdd0 /* stats_flt_v4_ofst */
728 0x180 /* stats_flt_v4_size */
729 0xf50 /* stats_flt_v6_ofst */
730 0x180 /* stats_flt_v6_size */
731 0x10d0 /* stats_rt_v4_ofst */
732 0x180 /* stats_rt_v4_size */
733 0x1250 /* stats_rt_v6_ofst */
734 0x180 /* stats_rt_v6_size */
735 0x13d0 /* stats_drop_ofst */
736 0x20 /* stats_drop_size */
737 >;
738
739 /* smp2p gpio information */
740 qcom,smp2pgpio_map_ipa_1_out {
741 compatible = "qcom,smp2pgpio-map-ipa-1-out";
742 gpios = <&smp2pgpio_ipa_1_out 0 0>;
743 };
744
745 qcom,smp2pgpio_map_ipa_1_in {
746 compatible = "qcom,smp2pgpio-map-ipa-1-in";
747 gpios = <&smp2pgpio_ipa_1_in 0 0>;
748 };
Michael Adisumartadbb9e622018-01-26 17:28:26 -0800749
750 ipa_smmu_ap: ipa_smmu_ap {
751 compatible = "qcom,ipa-smmu-ap-cb";
752 iommus = <&apps_smmu 0x5E0 0x0>;
753 qcom,iova-mapping = <0x20000000 0x40000000>;
754 qcom,additional-mapping =
755 /* modem tables in IMEM */
756 <0x14686000 0x14686000 0x3000>;
757 };
758
759 ipa_smmu_wlan: ipa_smmu_wlan {
760 compatible = "qcom,ipa-smmu-wlan-cb";
761 iommus = <&apps_smmu 0x5E1 0x0>;
762 qcom,additional-mapping =
763 /* ipa-uc ram */
764 <0x1E60000 0x1E60000 0xA000>;
765 };
766
767 ipa_smmu_uc: ipa_smmu_uc {
768 compatible = "qcom,ipa-smmu-uc-cb";
769 iommus = <&apps_smmu 0x5E2 0x0>;
770 qcom,iova-mapping = <0x40000000 0x20000000>;
771 };
Michael Adisumarta062cf642017-12-05 15:06:09 -0800772 };
773
Chris Lewa4245c92017-10-11 16:34:51 -0700774 qmp_aop: qcom,qmp-aop@c300000 {
775 compatible = "qcom,qmp-mbox";
776 label = "aop";
777 reg = <0xc300000 0x400>,
778 <0x17811008 0x4>;
779 reg-names = "msgram", "irq-reg-base";
Chris Lew72a4bb02017-12-06 17:40:44 -0800780 qcom,irq-mask = <0x2>;
Chris Lewa4245c92017-10-11 16:34:51 -0700781 interrupts = <GIC_SPI 221 IRQ_TYPE_EDGE_RISING>;
782 priority = <0>;
783 mbox-desc-offset = <0x0>;
784 #mbox-cells = <1>;
785 };
Anirudh Ghayalfe988812018-01-10 10:21:54 +0530786
787 usb_detect: qcom,gpio-usbdetect {
788 compatible = "qcom,gpio-usbdetect";
789 interrupt-parent = <&spmi_bus>;
790 interrupts = <0x0 0x0d 0x0 IRQ_TYPE_NONE>;
791 interrupt-names = "vbus_det_irq";
792 status = "disabled";
793 };
Jeevan Shriramdcb8b912017-03-19 20:27:35 -0700794};
Anirudh Ghayal1a97b5c2017-05-03 16:16:26 +0530795
Tirupathi Reddy8cbe4982017-08-17 12:01:11 +0530796#include "pmxpoorwills.dtsi"
Shrey Vijaya139af92017-08-10 12:00:44 +0530797#include "sdxpoorwills-blsp.dtsi"
Anirudh Ghayal1a97b5c2017-05-03 16:16:26 +0530798#include "sdxpoorwills-regulator.dtsi"
Chris Lew929d9ba2017-08-11 14:42:55 -0700799#include "sdxpoorwills-smp2p.dtsi"
Devdutt Patnaik4ff5bcd62017-05-05 19:45:01 -0700800#include "sdxpoorwills-usb.dtsi"
Tony Truong65dc7482017-10-24 15:22:06 -0700801#include "sdxpoorwills-pcie.dtsi"
David Dai8e41b1f2017-06-19 16:01:01 -0700802#include "sdxpoorwills-bus.dtsi"
Ram Chandrasekarc6b9e8c2017-10-11 15:52:31 -0600803#include "sdxpoorwills-thermal.dtsi"
Xiaoyu Ye84364ce2017-10-20 16:02:43 -0700804#include "sdxpoorwills-audio.dtsi"
Sudarshan Rajagopalanf99336d2017-06-02 14:44:48 -0700805#include "sdxpoorwills-ion.dtsi"
Sudarshan Rajagopalan25773142017-06-19 10:41:46 -0700806#include "msm-arm-smmu-sdxpoorwills.dtsi"
Mao Jinlong9c7f4182018-01-11 20:48:58 +0800807#include "sdxpoorwills-coresight.dtsi"
skylar chang88a30092018-01-17 17:04:06 -0800808
809&soc {
810 emac_hw: qcom,emac@00020000 {
811 compatible = "qcom,emac-dwc-eqos";
812 reg = <0x20000 0x10000>,
813 <0x36000 0x100>;
814 reg-names = "emac-base", "rgmii-base";
815 interrupts = <0 62 4>, <0 60 4>,
816 <0 45 4>, <0 49 4>,
817 <0 50 4>, <0 51 4>,
818 <0 52 4>, <0 53 4>,
819 <0 54 4>, <0 55 4>,
820 <0 56 4>, <0 57 4>;
821 interrupt-names = "sbd-intr", "lpi-intr",
822 "wol-intr", "tx-ch0-intr",
823 "tx-ch1-intr", "tx-ch2-intr",
824 "tx-ch3-intr", "tx-ch4-intr",
825 "rx-ch0-intr", "rx-ch1-intr",
826 "rx-ch2-intr", "rx-ch3-intr";
827 qcom,msm-bus,name = "emac";
828 qcom,msm-bus,num-cases = <3>;
829 qcom,msm-bus,num-paths = <2>;
830 qcom,msm-bus,vectors-KBps =
831 <98 512 1250 0>, <1 781 0 40000>, /* 10Mbps vote */
832 <98 512 12500 0>, <1 781 0 40000>, /* 100Mbps vote */
833 <98 512 125000 0>, <1 781 0 40000>; /* 1000Mbps vote */
834 qcom,bus-vector-names = "10", "100", "1000";
835 clocks = <&clock_gcc GCC_ETH_AXI_CLK>,
836 <&clock_gcc GCC_ETH_PTP_CLK>,
837 <&clock_gcc GCC_ETH_RGMII_CLK>,
838 <&clock_gcc GCC_ETH_SLAVE_AHB_CLK>;
839 clock-names = "eth_axi_clk", "eth_ptp_clk",
840 "eth_rgmii_clk", "eth_slave_ahb_clk";
841 qcom,phy-intr-redirect = <&tlmm 84 GPIO_ACTIVE_LOW>;
842 qcom,phy-reset = <&tlmm 85 GPIO_ACTIVE_LOW>;
843 vreg_rgmii-supply = <&vreg_rgmii>;
844 vreg_emac_phy-supply = <&vreg_emac_phy>;
845 vreg_rgmii_io_pads-supply = <&vreg_rgmii_io_pads>;
846 gdsc_emac-supply = <&gdsc_emac>;
847 io-macro-info {
848 io-macro-bypass-mode = <0>;
849 io-interface = "rgmii";
850 };
851 };
852};
Archana Sathyakumar0a81d722017-11-01 10:59:33 -0600853
854#include "pmxpoorwills.dtsi"
855#include "sdxpoorwills-blsp.dtsi"
856#include "sdxpoorwills-regulator.dtsi"
857#include "sdxpoorwills-smp2p.dtsi"
858#include "sdxpoorwills-usb.dtsi"
859#include "sdxpoorwills-pcie.dtsi"
860#include "sdxpoorwills-bus.dtsi"
861#include "sdxpoorwills-thermal.dtsi"
862#include "sdxpoorwills-audio.dtsi"
863#include "sdxpoorwills-ion.dtsi"
864#include "msm-arm-smmu-sdxpoorwills.dtsi"
865#include "sdxpoorwills-pm.dtsi"