blob: 50bbebfa9e20c585b46e3580d2c38ee2c54d549d [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
Santosh Mardi3ae5c762018-05-17 12:03:52 +053022#define MHZ_TO_MBPS(mhz, w) ((mhz * 1000000 * w) / (1024 * 1024))
23
Jeevan Shriramdcb8b912017-03-19 20:27:35 -070024/ {
25 model = "Qualcomm Technologies, Inc. SDX POORWILLS";
26 compatible = "qcom,sdxpoorwills";
Jeevan Shriram71f2f492017-11-21 13:13:00 -080027 qcom,msm-id = <334 0x0>, <335 0x0>;
Archana Sathyakumar0a81d722017-11-01 10:59:33 -060028 interrupt-parent = <&pdc>;
Jeevan Shriramdcb8b912017-03-19 20:27:35 -070029
30 reserved-memory {
31 #address-cells = <1>;
32 #size-cells = <1>;
33 ranges;
34
Raghavendra Rao Anantab9297882017-11-28 17:15:15 -080035 peripheral2_mem: peripheral2_region@8fe00000 {
Jeevan Shriramdcb8b912017-03-19 20:27:35 -070036 compatible = "removed-dma-pool";
37 no-map;
Raghavendra Rao Anantab9297882017-11-28 17:15:15 -080038 reg = <0x8fe00000 0x200000>;
Jeevan Shriramdcb8b912017-03-19 20:27:35 -070039 label = "peripheral2_mem";
40 };
Satya Durga Srinivasu Prabhala12953b72017-07-24 16:50:55 -070041
Raghavendra Rao Anantab9297882017-11-28 17:15:15 -080042 sbl_region: sbl_region@8fd00000 {
43 no-map;
44 reg = <0x8fd00000 0x100000>;
45 label = "sbl_mem";
46 };
47
Sudarshan Rajagopalan65423742018-03-12 13:02:19 -070048 flex_sec_apps_mem: flex_sec_apps_regions@8fcfd000 {
49 no-map;
50 reg = <0x8fcfd000 0x3000>;
51 };
52
53 access_control_mem: access_control_mem@8fc80000 {
54 no-map;
55 reg = <0x8fc80000 0x40000>;
56 };
57
Raghavendra Rao Anantab9297882017-11-28 17:15:15 -080058 hyp_region: hyp_region@8fc00000 {
59 no-map;
60 reg = <0x8fc00000 0x80000>;
61 label = "hyp_mem";
62 };
63
64 mss_mem: mss_region@87400000 {
Satya Durga Srinivasu Prabhala12953b72017-07-24 16:50:55 -070065 compatible = "removed-dma-pool";
66 no-map;
Raghavendra Rao Ananta3314e0f2017-12-01 14:08:51 -080067 reg = <0x87400000 0x8300000>;
Satya Durga Srinivasu Prabhala12953b72017-07-24 16:50:55 -070068 label = "mss_mem";
69 };
Xiaoyu Ye84364ce2017-10-20 16:02:43 -070070
71 audio_mem: audio_region@0 {
72 compatible = "shared-dma-pool";
73 reusable;
74 size = <0x400000>;
75 };
Mao Jinlong5f1ac6c2018-02-27 21:41:43 +080076
77 dump_mem: mem_dump_region {
78 compatible = "shared-dma-pool";
79 reusable;
80 size = <0 0x2400000>;
81 };
Jeevan Shriramdcb8b912017-03-19 20:27:35 -070082 };
83
84 cpus {
85 #size-cells = <0>;
86 #address-cells = <1>;
87
88 CPU0: cpu@0 {
Mao Jinlong207749c2018-01-16 16:26:39 +080089 device_type = "cpu";
Jeevan Shriramdcb8b912017-03-19 20:27:35 -070090 compatible = "arm,cortex-a7";
Archana Sathyakumar0a81d722017-11-01 10:59:33 -060091 enable-method = "psci";
Jeevan Shriramdcb8b912017-03-19 20:27:35 -070092 reg = <0x0>;
Ram Chandrasekarc6b9e8c2017-10-11 15:52:31 -060093 #cooling-cells = <2>;
Jeevan Shriramdcb8b912017-03-19 20:27:35 -070094 };
95 };
96
Sahitya Tummala61f1d322017-06-06 13:49:19 +053097 aliases {
98 qpic_nand1 = &qnand_1;
Tony Truong65dc7482017-10-24 15:22:06 -070099 pci-domain0 = &pcie0;
Umang Agrawal51513812017-11-02 18:18:54 +0530100 sdhc1 = &sdhc_1; /* SDC1 eMMC/SD/SDIO slot */
Sahitya Tummala61f1d322017-06-06 13:49:19 +0530101 };
102
Archana Sathyakumar0a81d722017-11-01 10:59:33 -0600103 psci {
104 compatible = "arm,psci-1.0";
105 method = "smc";
106 };
107
Jeevan Shriramdcb8b912017-03-19 20:27:35 -0700108 soc: soc { };
109};
110
111
112&soc {
113 #address-cells = <1>;
114 #size-cells = <1>;
115 ranges;
116
117 intc: interrupt-controller@17800000 {
118 compatible = "qcom,msm-qgic2";
119 interrupt-controller;
120 #interrupt-cells = <3>;
121 reg = <0x17800000 0x1000>,
122 <0x17802000 0x1000>;
Archana Sathyakumar0a81d722017-11-01 10:59:33 -0600123 interrupt-parent = <&intc>;
124 };
125
126 pdc: interrupt-controller@b210000{
127 compatible = "qcom,pdc-sdxpoorwills";
128 reg = <0xb210000 0x30000>;
129 #interrupt-cells = <3>;
130 interrupt-parent = <&intc>;
131 interrupt-controller;
Jeevan Shriramdcb8b912017-03-19 20:27:35 -0700132 };
133
134 timer {
135 compatible = "arm,armv7-timer";
136 interrupts = <1 13 0xf08>,
137 <1 12 0xf08>,
138 <1 10 0xf08>,
139 <1 11 0xf08>;
140 clock-frequency = <19200000>;
141 };
142
143 timer@17820000 {
144 #address-cells = <1>;
145 #size-cells = <1>;
146 ranges;
147 compatible = "arm,armv7-timer-mem";
148 reg = <0x17820000 0x1000>;
149 clock-frequency = <19200000>;
150
151 frame@17821000 {
152 frame-number = <0>;
153 interrupts = <0 7 0x4>,
154 <0 6 0x4>;
155 reg = <0x17821000 0x1000>,
156 <0x17822000 0x1000>;
157 };
158
159 frame@17823000 {
160 frame-number = <1>;
161 interrupts = <0 8 0x4>;
162 reg = <0x17823000 0x1000>;
163 status = "disabled";
164 };
165
166 frame@17824000 {
167 frame-number = <2>;
168 interrupts = <0 9 0x4>;
169 reg = <0x17824000 0x1000>;
170 status = "disabled";
171 };
172
173 frame@17825000 {
174 frame-number = <3>;
175 interrupts = <0 10 0x4>;
176 reg = <0x17825000 0x1000>;
177 status = "disabled";
178 };
179
180 frame@17826000 {
181 frame-number = <4>;
182 interrupts = <0 11 0x4>;
183 reg = <0x17826000 0x1000>;
184 status = "disabled";
185 };
186
187 frame@17827000 {
188 frame-number = <5>;
189 interrupts = <0 12 0x4>;
190 reg = <0x17827000 0x1000>;
191 status = "disabled";
192 };
193
194 frame@17828000 {
195 frame-number = <6>;
196 interrupts = <0 13 0x4>;
197 reg = <0x17828000 0x1000>;
198 status = "disabled";
199 };
200
201 frame@17829000 {
202 frame-number = <7>;
203 interrupts = <0 14 0x4>;
204 reg = <0x17829000 0x1000>;
205 status = "disabled";
206 };
207 };
208
Jonathan Avilad59c0df2017-12-04 13:53:45 -0800209 msm_cpufreq: qcom,msm-cpufreq {
210 compatible = "qcom,msm-cpufreq";
211 clocks = <&clock_cpu APCS_CLK>;
212 clock-names = "cpu0_clk";
213
214 qcom,cpufreq-table-0 =
215 < 153600 >,
216 < 300000 >,
217 < 345600 >,
218 < 576000 >,
219 < 1094400 >,
220 < 1497600 >;
221 };
222
Santosh Mardi3ae5c762018-05-17 12:03:52 +0530223 cpubw: qcom,cpubw {
224 compatible = "qcom,devbw";
225 governor = "cpufreq";
226 qcom,src-dst-ports = <1 512>;
227 qcom,active-only;
228 qcom,bw-tbl =
229 < MHZ_TO_MBPS(200, 2) >, /* 381 MB/s */
230 < MHZ_TO_MBPS(470, 2) >, /* 896 MB/s */
231 < MHZ_TO_MBPS(547, 2) >, /* 1043 MB/s */
232 < MHZ_TO_MBPS(691, 2) >, /* 1317 MB/s */
233 < MHZ_TO_MBPS(806, 2) >, /* 1537 MB/s */
234 < MHZ_TO_MBPS(940, 2) >, /* 1792 MB/s */
235 < MHZ_TO_MBPS(1383, 2) >; /* 2637 MB/s */
236 };
237
238 devfreq_compute: qcom,devfreq-compute {
239 compatible = "qcom,arm-cpu-mon";
240 qcom,cpulist = <&CPU0>;
241 qcom,target-dev = <&cpubw>;
242 qcom,core-dev-table =
243 < 153600 MHZ_TO_MBPS(200, 2) >,
244 < 576000 MHZ_TO_MBPS(691, 2) >,
245 < 1497600 MHZ_TO_MBPS(1383, 2)>;
246 };
247
Osvaldo Banuelos39641172017-04-10 13:51:35 -0700248 clock_gcc: qcom,gcc@100000 {
Vicky Wallace15d77322017-12-06 19:22:05 -0800249 compatible = "qcom,gcc-sdxpoorwills", "syscon";
Vicky Wallace8ca25b92017-09-20 18:21:59 -0700250 reg = <0x100000 0x1f0000>;
251 reg-names = "cc_base";
252 vdd_cx-supply = <&pmxpoorwills_s5_level>;
253 vdd_cx_ao-supply = <&pmxpoorwills_s5_level_ao>;
Osvaldo Banuelos39641172017-04-10 13:51:35 -0700254 #clock-cells = <1>;
Deepak Katragaddaef38d7b2017-05-30 15:29:19 -0700255 #reset-cells = <1>;
Osvaldo Banuelos39641172017-04-10 13:51:35 -0700256 };
257
Amit Nischal226ef5b2017-09-07 12:56:07 +0530258 clock_cpu: qcom,clock-a7@17808100 {
259 compatible = "qcom,cpu-sdxpoorwills";
260 clocks = <&clock_rpmh RPMH_CXO_CLK_A>;
261 clock-names = "xo_ao";
262 qcom,a7cc-init-rate = <1497600000>;
263 reg = <0x17808100 0x7F10>;
264 reg-names = "apcs_pll";
265 qcom,rcg-reg-offset = <0x7F08>;
266
267 vdd_dig_ao-supply = <&pmxpoorwills_s5_level_ao>;
268 cpu-vdd-supply = <&pmxpoorwills_s5_level_ao>;
269 qcom,speed0-bin-v0 =
270 < 0 RPMH_REGULATOR_LEVEL_OFF>,
271 < 345600000 RPMH_REGULATOR_LEVEL_LOW_SVS>,
272 < 576000000 RPMH_REGULATOR_LEVEL_SVS>,
273 < 1094400000 RPMH_REGULATOR_LEVEL_NOM>,
274 < 1497600000 RPMH_REGULATOR_LEVEL_TURBO>;
Osvaldo Banuelos39641172017-04-10 13:51:35 -0700275 #clock-cells = <1>;
276 };
277
Osvaldo Banuelos139d7792017-05-03 13:58:54 -0700278 clock_rpmh: qcom,rpmhclk {
Tirupathi Reddyeaf28a22017-10-31 09:32:02 +0530279 compatible = "qcom,rpmh-clk-sdxpoorwills";
Osvaldo Banuelos139d7792017-05-03 13:58:54 -0700280 #clock-cells = <1>;
Tirupathi Reddyeaf28a22017-10-31 09:32:02 +0530281 mboxes = <&apps_rsc 0>;
282 mbox-names = "apps";
Osvaldo Banuelos139d7792017-05-03 13:58:54 -0700283 };
284
Mao Jinlong0b02a042018-01-11 20:40:47 +0800285 clock_aop: qcom,aopclk {
286 compatible = "qcom,aop-qmp-clk-v1";
287 #clock-cells = <1>;
288 mboxes = <&qmp_aop 0>;
289 mbox-names = "qdss_clk";
290 };
291
David Dai34103b32017-12-01 15:16:20 -0800292 snoc_cnoc_keepalive: qcom,snoc_cnoc_keepalive {
293 compatible = "qcom,devbw";
294 governor = "powersave";
295 qcom,src-dst-ports = <53 747>;
296 qcom,active-only;
297 status = "ok";
298 qcom,bw-tbl =
299 < 1 >;
300 };
301
Vicky Wallace15d77322017-12-06 19:22:05 -0800302 clock_debug: qcom,cc-debug {
303 compatible = "qcom,debugcc-sdxpoorwills";
304 qcom,gcc = <&clock_gcc>;
305 clock-names = "xo_clk_src";
306 clocks = <&clock_rpmh RPMH_CXO_CLK>;
307 #clock-cells = <1>;
308 };
309
Jeevan Shrirama99fb5b2017-11-28 08:13:04 -0800310 serial_uart: serial@831000 {
Jeevan Shriramdcb8b912017-03-19 20:27:35 -0700311 compatible = "qcom,msm-uartdm-v1.4", "qcom,msm-uartdm";
312 reg = <0x831000 0x200>;
313 interrupts = <0 26 0>;
314 status = "disabled";
Vicky Wallacedf797782017-10-27 17:35:34 -0700315 clocks = <&clock_gcc GCC_BLSP1_UART3_APPS_CLK>,
Runmin Wang8dce58692017-05-01 15:19:18 -0700316 <&clock_gcc GCC_BLSP1_AHB_CLK>;
317 clock-names = "core", "iface";
Jeevan Shriram5e00d532018-03-27 16:18:30 -0700318 pinctrl-names = "default", "sleep";
319 pinctrl-0 = <&uart3_console_active>;
320 pinctrl-1 = <&uart3_console_sleep>;
Jeevan Shriramdcb8b912017-03-19 20:27:35 -0700321 };
Osvaldo Banuelos8d9c87b2017-05-08 11:36:39 -0700322
323 gdsc_usb30: qcom,gdsc@10b004 {
324 compatible = "qcom,gdsc";
325 regulator-name = "gdsc_usb30";
326 reg = <0x0010b004 0x4>;
Osvaldo Banuelos8d9c87b2017-05-08 11:36:39 -0700327 };
328
Yan Hebd0e9612017-07-06 16:21:41 -0700329 qcom,sps {
330 compatible = "qcom,msm_sps_4k";
331 qcom,pipe-attr-ee;
332 };
333
Osvaldo Banuelos8d9c87b2017-05-08 11:36:39 -0700334 gdsc_pcie: qcom,gdsc@137004 {
335 compatible = "qcom,gdsc";
336 regulator-name = "gdsc_pcie";
337 reg = <0x00137004 0x4>;
Vicky Wallace8ca25b92017-09-20 18:21:59 -0700338 };
339
Yan He43b854f2017-12-20 10:37:45 -0800340 pcie_ep: qcom,pcie@40002000 {
341 compatible = "qcom,pcie-ep";
342
343 reg = <0x40002000 0x1000>,
344 <0x40000000 0xf1d>,
345 <0x40000f20 0xa8>,
346 <0x40001000 0x1000>,
347 <0x01c00000 0x2000>,
348 <0x01c02000 0x1000>,
349 <0x01c04000 0x1000>;
350 reg-names = "msi", "dm_core", "elbi", "iatu", "parf",
351 "phy", "mmio";
352
353 #address-cells = <0>;
354 interrupt-parent = <&pcie_ep>;
355 interrupts = <0>;
356 #interrupt-cells = <1>;
357 interrupt-map-mask = <0xffffffff>;
358 interrupt-map = <0 &intc 0 140 0>;
359 interrupt-names = "int_global";
360
361 pinctrl-names = "default";
362 pinctrl-0 = <&pcie_ep_clkreq_default &pcie_ep_perst_default
363 &pcie_ep_wake_default>;
364
365 clkreq-gpio = <&tlmm 56 0>;
366 perst-gpio = <&tlmm 57 0>;
367 wake-gpio = <&tlmm 53 0>;
368
369 gdsc-vdd-supply = <&gdsc_pcie>;
370 vreg-1.8-supply = <&pmxpoorwills_l1>;
371 vreg-0.9-supply = <&pmxpoorwills_l4>;
372
373 qcom,vreg-1.8-voltage-level = <1200000 1200000 24000>;
374 qcom,vreg-0.9-voltage-level = <872000 872000 24000>;
375
376 clocks = <&clock_gcc GCC_PCIE_PIPE_CLK>,
377 <&clock_gcc GCC_PCIE_CFG_AHB_CLK>,
378 <&clock_gcc GCC_PCIE_MSTR_AXI_CLK>,
379 <&clock_gcc GCC_PCIE_SLV_AXI_CLK>,
380 <&clock_gcc GCC_PCIE_AUX_CLK>,
381 <&clock_gcc GCC_PCIE_0_CLKREF_CLK>,
382 <&clock_gcc GCC_PCIE_SLEEP_CLK>,
383 <&clock_gcc GCC_PCIE_SLV_Q2A_AXI_CLK>;
384
385 clock-names = "pcie_0_pipe_clk", "pcie_0_cfg_ahb_clk",
386 "pcie_0_mstr_axi_clk", "pcie_0_slv_axi_clk",
387 "pcie_0_aux_clk", "pcie_0_ldo",
388 "pcie_0_sleep_clk",
389 "pcie_0_slv_q2a_axi_clk";
390
391 resets = <&clock_gcc GCC_PCIE_BCR>,
392 <&clock_gcc GCC_PCIE_PHY_BCR>;
393
394 reset-names = "pcie_0_core_reset",
395 "pcie_0_phy_reset";
396
397 qcom,msm-bus,name = "pcie-ep";
398 qcom,msm-bus,num-cases = <2>;
399 qcom,msm-bus,num-paths = <1>;
400 qcom,msm-bus,vectors-KBps =
401 <45 512 0 0>,
402 <45 512 500 800>;
403
404 qcom,pcie-link-speed = <2>;
405 qcom,pcie-phy-ver = <6>;
406 qcom,pcie-active-config;
407 qcom,pcie-aggregated-irq;
408 qcom,pcie-mhi-a7-irq;
409 qcom,phy-status-reg = <0x814>;
410
411 qcom,phy-init = <0x840 0x001 0x0 0x1
412 0x094 0x000 0x0 0x1
413 0x058 0x00f 0x0 0x1
414 0x0a4 0x042 0x0 0x1
415 0x110 0x024 0x0 0x1
416 0x1bc 0x011 0x0 0x1
417 0x0bc 0x019 0x0 0x1
418 0x0b0 0x004 0x0 0x1
419 0x0ac 0x0ff 0x0 0x1
420 0x158 0x001 0x0 0x1
421 0x074 0x028 0x0 0x1
422 0x07c 0x00d 0x0 0x1
423 0x084 0x000 0x0 0x1
424 0x1b0 0x01d 0x0 0x1
425 0x1ac 0x056 0x0 0x1
426 0x04c 0x007 0x0 0x1
427 0x050 0x007 0x0 0x1
428 0x0f0 0x003 0x0 0x1
429 0x0ec 0x0fb 0x0 0x1
430 0x00c 0x002 0x0 0x1
431 0x29c 0x012 0x0 0x1
432 0x284 0x005 0x0 0x1
433 0x234 0x0d9 0x0 0x1
434 0x238 0x0cc 0x0 0x1
435 0x51c 0x003 0x0 0x1
436 0x518 0x01c 0x0 0x1
437 0x524 0x014 0x0 0x1
438 0x4ec 0x00e 0x0 0x1
439 0x4f0 0x04a 0x0 0x1
440 0x4f4 0x00f 0x0 0x1
441 0x5b4 0x004 0x0 0x1
442 0x434 0x07f 0x0 0x1
443 0x444 0x070 0x0 0x1
444 0x510 0x017 0x0 0x1
445 0x4d8 0x001 0x0 0x1
446 0x598 0x0e0 0x0 0x1
447 0x59c 0x0c8 0x0 0x1
448 0x5a0 0x0c8 0x0 0x1
449 0x5a4 0x009 0x0 0x1
450 0x5a8 0x0b1 0x0 0x1
451 0x584 0x024 0x0 0x1
452 0x588 0x0e4 0x0 0x1
453 0x58c 0x0ec 0x0 0x1
454 0x590 0x039 0x0 0x1
455 0x594 0x036 0x0 0x1
456 0x570 0x0ef 0x0 0x1
457 0x574 0x0ef 0x0 0x1
458 0x578 0x02f 0x0 0x1
459 0x57c 0x0d3 0x0 0x1
460 0x580 0x040 0x0 0x1
461 0x4fc 0x000 0x0 0x1
462 0x4f8 0x0c0 0x0 0x1
463 0x9a4 0x001 0x0 0x1
464 0x840 0x001 0x0 0x1
465 0x848 0x001 0x0 0x1
466 0x8a0 0x011 0x0 0x1
467 0x988 0x088 0x0 0x1
468 0x998 0x008 0x0 0x1
469 0x8dc 0x00d 0x0 0x1
470 0x800 0x000 0x0 0x1
471 0x844 0x003 0x0 0x1>;
472
473 status = "disabled";
474 };
475
Siddartha Mohanadoss662c5202018-02-20 15:43:44 -0800476 mhi_device: mhi_dev@1c04000 {
477 compatible = "qcom,msm-mhi-dev";
478 reg = <0x1c04000 0x1000>,
479 <0x1e22000 0x4>,
480 <0x1e22148 0x4>;
481 reg-names = "mhi_mmio_base", "ipa_uc_mbox_crdb",
482 "ipa_uc_mbox_erdb";
483 qcom,mhi-ep-msi = <0>;
484 qcom,mhi-version = <0x1000000>;
485 qcom,use-ipa-software-channel;
486 interrupts = <0 145 0>;
487 interrupt-names = "mhi-device-inta";
488 qcom,mhi-ifc-id = <0x030417cb>;
489 qcom,mhi-interrupt;
490 status = "disabled";
491 };
492
Vicky Wallace8ca25b92017-09-20 18:21:59 -0700493 gdsc_emac: qcom,gdsc@147004 {
494 compatible = "qcom,gdsc";
495 regulator-name = "gdsc_emac";
496 reg = <0x00147004 0x4>;
Osvaldo Banuelos8d9c87b2017-05-08 11:36:39 -0700497 };
Runmin Wangd039a4e2017-06-20 14:56:56 -0700498
Sahitya Tummala61f1d322017-06-06 13:49:19 +0530499 qnand_1: nand@1b00000 {
500 compatible = "qcom,msm-nand";
501 reg = < 0x01b00000 0x10000>,
502 <0x01b04000 0x1a000>;
503 reg-names = "nand_phys",
504 "bam_phys";
505 qcom,reg-adjustment-offset = <0x4000>;
506 qcom,qpic-clk-rpmh;
507
508 interrupts = <0 135 0>;
509 interrupt-names = "bam_irq";
510
511 qcom,msm-bus,name = "qpic_nand";
512 qcom,msm-bus,num-cases = <2>;
513 qcom,msm-bus,num-paths = <1>;
514
515 qcom,msm-bus,vectors-KBps =
516 <91 512 0 0>,
517 /* Voting for max b/w on PNOC bus for now */
518 <91 512 400000 400000>;
519
520 status = "disabled";
521 };
522
Umang Agrawal51513812017-11-02 18:18:54 +0530523 sdhc_1: sdhci@8804000 {
524 compatible = "qcom,sdhci-msm-v5";
525 reg = <0x8804000 0x1000>;
526 reg-names = "hc_mem";
527
528 interrupts = <0 210 0>, <0 227 0>;
529 interrupt-names = "hc_irq", "pwr_irq";
530
531 qcom,bus-width = <4>;
532
533 qcom,msm-bus,name = "sdhc1";
534 qcom,msm-bus,num-cases = <8>;
535 qcom,msm-bus,num-paths = <1>;
536 qcom,msm-bus,vectors-KBps = <78 512 0 0>, /* No vote */
537 <78 512 1600 3200>, /* 400 KB/s*/
538 <78 512 80000 160000>, /* 20 MB/s */
539 <78 512 100000 200000>, /* 25 MB/s */
540 <78 512 200000 400000>, /* 50 MB/s */
541 <78 512 400000 800000>, /* 100 MB/s */
542 <78 512 400000 800000>, /* 200 MB/s */
543 <78 512 2048000 4096000>; /* Max. bandwidth */
544 qcom,bus-bw-vectors-bps = <0 400000 20000000 25000000 50000000
545 100000000 200000000 4294967295>;
546
547 /* PM QoS */
548 qcom,pm-qos-cpu-groups = <0x0>;
549 qcom,pm-qos-cmdq-latency-us = <70>;
550 qcom,pm-qos-legacy-latency-us = <70>;
551 qcom,pm-qos-irq-type = "affine_cores";
552 qcom,pm-qos-irq-cpu = <0>;
553 qcom,pm-qos-irq-latency = <70>;
554
555 clocks = <&clock_gcc GCC_SDCC1_AHB_CLK>,
556 <&clock_gcc GCC_SDCC1_APPS_CLK>;
557 clock-names = "iface_clk", "core_clk";
558
Veerabhadrarao Badiganti08976252018-04-05 22:19:25 +0530559 qcom,restore-after-cx-collapse;
560
Umang Agrawal51513812017-11-02 18:18:54 +0530561 status = "disabled";
562 };
563
Raghavendra Rao Ananta2f2615d2017-10-26 10:51:32 -0700564 qcom,msm-imem@1468B000 {
Runmin Wangd039a4e2017-06-20 14:56:56 -0700565 compatible = "qcom,msm-imem";
Raghavendra Rao Ananta2f2615d2017-10-26 10:51:32 -0700566 reg = <0x1468B000 0x1000>; /* Address and size of IMEM */
567 ranges = <0x0 0x1468B000 0x1000>;
Runmin Wangd039a4e2017-06-20 14:56:56 -0700568 #address-cells = <1>;
569 #size-cells = <1>;
570
571 mem_dump_table@10 {
572 compatible = "qcom,msm-imem-mem_dump_table";
573 reg = <0x10 8>;
574 };
575
576 restart_reason@65c {
577 compatible = "qcom,msm-imem-restart_reason";
578 reg = <0x65c 4>;
579 };
580
581 boot_stats@6b0 {
582 compatible = "qcom,msm-imem-boot_stats";
583 reg = <0x6b0 32>;
584 };
Raghavendra Rao Ananta2f2615d2017-10-26 10:51:32 -0700585
586 pil@94c {
587 compatible = "qcom,msm-imem-pil";
588 reg = <0x94c 200>;
589 };
590
591 diag_dload@c8 {
592 compatible = "qcom,msm-imem-diag-dload";
593 reg = <0xc8 200>;
594 };
Jeevan Shriramf7fa2902018-04-17 10:30:19 -0700595 };
596
597 qcom,mpm2-sleep-counter@c221000 {
598 compatible = "qcom,mpm2-sleep-counter";
599 reg = <0x0c221000 0x1000>;
600 clock-frequency = <32768>;
601 };
Runmin Wangd039a4e2017-06-20 14:56:56 -0700602
Jeevan Shriramb3a31b92017-12-11 09:53:13 -0800603 restart@c264000 {
Runmin Wangd039a4e2017-06-20 14:56:56 -0700604 compatible = "qcom,pshold";
Jeevan Shriramb3a31b92017-12-11 09:53:13 -0800605 reg = <0x0c264000 0x4>,
606 <0x01fd3000 0x4>;
Runmin Wangd039a4e2017-06-20 14:56:56 -0700607 reg-names = "pshold-base", "tcsr-boot-misc-detect";
608 };
609
Siddartha Mohanadoss6bbf8592017-07-13 14:15:41 -0700610 tsens0: tsens@c222000 {
611 compatible = "qcom,tsens24xx";
612 reg = <0xc222000 0x4>,
613 <0xc263000 0x1ff>;
614 reg-names = "tsens_srot_physical",
615 "tsens_tm_physical";
616 interrupts = <0 163 0>, <0 165 0>;
617 interrupt-names = "tsens-upper-lower", "tsens-critical";
618 #thermal-sensor-cells = <1>;
619 };
620
Ram Chandrasekarc6b9e8c2017-10-11 15:52:31 -0600621 thermal_zones: thermal-zones { };
Siddartha Mohanadoss6bbf8592017-07-13 14:15:41 -0700622
Ghanim Fodic389d572017-08-03 17:56:27 +0300623 qcom,ipa_fws {
624 compatible = "qcom,pil-tz-generic";
625 qcom,pas-id = <0xf>;
626 qcom,firmware-name = "ipa_fws";
Michael Adisumartaf0740fa2017-12-07 13:17:49 -0800627 qcom,pil-force-shutdown;
Ghanim Fodic389d572017-08-03 17:56:27 +0300628 };
Tirupathi Reddy242c1312017-08-17 11:01:16 +0530629
630 spmi_bus: qcom,spmi@c440000 {
631 compatible = "qcom,spmi-pmic-arb";
632 reg = <0xc440000 0x1100>,
633 <0xc600000 0x2000000>,
634 <0xe600000 0x100000>,
635 <0xe700000 0xa0000>,
636 <0xc40a000 0x26000>;
637 reg-names = "core", "chnls", "obsrvr", "intr", "cnfg";
638 interrupt-names = "periph_irq";
639 interrupts = <GIC_SPI 148 IRQ_TYPE_NONE>;
640 qcom,ee = <0>;
641 qcom,channel = <0>;
642 #address-cells = <2>;
643 #size-cells = <0>;
644 interrupt-controller;
645 #interrupt-cells = <4>;
646 cell-index = <0>;
647 };
Chris Lew929d9ba2017-08-11 14:42:55 -0700648
649 qcom,ipc-spinlock@1f40000 {
650 compatible = "qcom,ipc-spinlock-sfpb";
651 reg = <0x1f40000 0x8000>;
652 qcom,num-locks = <8>;
653 };
654
655 qcom,smem@8fe40000 {
656 compatible = "qcom,smem";
657 reg = <0x8fe40000 0xc0000>,
658 <0x17811008 0x4>,
659 <0x1fd4000 0x8>;
660 reg-names = "smem", "irq-reg-base",
661 "smem_targ_info_reg";
662 qcom,mpu-enabled;
663 };
664
665 qcom,glink-smem-native-xprt-modem@8fe40000 {
666 compatible = "qcom,glink-smem-native-xprt";
667 reg = <0x8fe40000 0xc0000>,
668 <0x17811008 0x4>;
669 reg-names = "smem", "irq-reg-base";
Chris Lewb9a1e962017-10-20 10:31:55 -0700670 qcom,irq-mask = <0x8000>;
671 interrupts = <GIC_SPI 114 IRQ_TYPE_EDGE_RISING>;
Chris Lew929d9ba2017-08-11 14:42:55 -0700672 label = "mpss";
673 };
674
675 qcom,ipc_router {
676 compatible = "qcom,ipc_router";
677 qcom,node-id = <1>;
678 };
679
680 qcom,ipc_router_modem_xprt {
681 compatible = "qcom,ipc_router_glink_xprt";
682 qcom,ch-name = "IPCRTR";
683 qcom,xprt-remote = "mpss";
684 qcom,glink-xprt = "smem";
685 qcom,xprt-linkid = <1>;
686 qcom,xprt-version = <1>;
687 qcom,fragmented-data;
688 };
689
Dhoat Harpal30c914c2018-04-10 20:55:40 +0530690 qcom,glink-ssr-modem {
691 compatible = "qcom,glink_ssr";
692 label = "modem";
693 qcom,edge = "mpss";
694 qcom,xprt = "smem";
695 };
696
Chris Lew929d9ba2017-08-11 14:42:55 -0700697 qcom,glink_pkt {
698 compatible = "qcom,glinkpkt";
699
700 qcom,glinkpkt-at-mdm0 {
701 qcom,glinkpkt-transport = "smem";
702 qcom,glinkpkt-edge = "mpss";
703 qcom,glinkpkt-ch-name = "DS";
704 qcom,glinkpkt-dev-name = "at_mdm0";
705 };
706
707 qcom,glinkpkt-loopback_cntl {
708 qcom,glinkpkt-transport = "lloop";
709 qcom,glinkpkt-edge = "local";
710 qcom,glinkpkt-ch-name = "LOCAL_LOOPBACK_CLNT";
711 qcom,glinkpkt-dev-name = "glink_pkt_loopback_ctrl";
712 };
713
714 qcom,glinkpkt-loopback_data {
715 qcom,glinkpkt-transport = "lloop";
716 qcom,glinkpkt-edge = "local";
717 qcom,glinkpkt-ch-name = "glink_pkt_lloop_CLNT";
718 qcom,glinkpkt-dev-name = "glink_pkt_loopback";
719 };
720
Dhoat Harpal2861d9db2018-04-20 16:42:50 +0530721 qcom,glinkpkt-data5-cntl {
722 qcom,glinkpkt-transport = "smem";
723 qcom,glinkpkt-edge = "mpss";
724 qcom,glinkpkt-ch-name = "DATA5_CNTL";
725 qcom,glinkpkt-dev-name = "smdcntl0";
726 };
727
728 qcom,glinkpkt-data6-cntl {
729 qcom,glinkpkt-transport = "smem";
730 qcom,glinkpkt-edge = "mpss";
731 qcom,glinkpkt-ch-name = "DATA6_CNTL";
732 qcom,glinkpkt-dev-name = "smdcntl1";
733 };
734
735 qcom,glinkpkt-apr-apps2 {
736 qcom,glinkpkt-transport = "smem";
737 qcom,glinkpkt-edge = "mpss";
738 qcom,glinkpkt-ch-name = "apr_apps2";
739 qcom,glinkpkt-dev-name = "apr_apps2";
740 };
741
742 qcom,glinkpkt-data22 {
743 qcom,glinkpkt-transport = "smem";
744 qcom,glinkpkt-edge = "mpss";
745 qcom,glinkpkt-ch-name = "DATA22";
746 qcom,glinkpkt-dev-name = "smd22";
747 };
748
Chris Lew929d9ba2017-08-11 14:42:55 -0700749 qcom,glinkpkt-data40-cntl {
750 qcom,glinkpkt-transport = "smem";
751 qcom,glinkpkt-edge = "mpss";
752 qcom,glinkpkt-ch-name = "DATA40_CNTL";
753 qcom,glinkpkt-dev-name = "smdcntl8";
754 };
755
756 qcom,glinkpkt-data1 {
757 qcom,glinkpkt-transport = "smem";
758 qcom,glinkpkt-edge = "mpss";
759 qcom,glinkpkt-ch-name = "DATA1";
760 qcom,glinkpkt-dev-name = "smd7";
761 };
762
763 qcom,glinkpkt-data4 {
764 qcom,glinkpkt-transport = "smem";
765 qcom,glinkpkt-edge = "mpss";
766 qcom,glinkpkt-ch-name = "DATA4";
767 qcom,glinkpkt-dev-name = "smd8";
768 };
769
770 qcom,glinkpkt-data11 {
771 qcom,glinkpkt-transport = "smem";
772 qcom,glinkpkt-edge = "mpss";
773 qcom,glinkpkt-ch-name = "DATA11";
774 qcom,glinkpkt-dev-name = "smd11";
775 };
Dhoat Harpal2861d9db2018-04-20 16:42:50 +0530776
777 qcom,glinkpkt-data21 {
778 qcom,glinkpkt-transport = "smem";
779 qcom,glinkpkt-edge = "mpss";
780 qcom,glinkpkt-ch-name = "DATA21";
781 qcom,glinkpkt-dev-name = "smd21";
782 };
Chris Lew929d9ba2017-08-11 14:42:55 -0700783 };
Satya Durga Srinivasu Prabhala12953b72017-07-24 16:50:55 -0700784
785 pil_modem: qcom,mss@4080000 {
786 compatible = "qcom,pil-tz-generic";
787 reg = <0x4080000 0x100>;
788 interrupts = <0 250 1>;
789
790 clocks = <&clock_rpmh RPMH_CXO_CLK>;
791 clock-names = "xo";
792 qcom,proxy-clock-names = "xo";
793
794 vdd_cx-supply = <&pmxpoorwills_s5_level>;
795 qcom,proxy-reg-names = "vdd_cx";
796
Raghavendra Rao Ananta198654b2018-01-10 11:30:26 -0800797 qcom,pas-id = <4>;
Satya Durga Srinivasu Prabhala12953b72017-07-24 16:50:55 -0700798 qcom,smem-id = <421>;
799 qcom,proxy-timeout-ms = <10000>;
800 qcom,sysmon-id = <0>;
801 qcom,ssctl-instance-id = <0x12>;
802 qcom,firmware-name = "modem";
803 memory-region = <&mss_mem>;
804 status = "ok";
805
806 /* GPIO inputs from mss */
807 qcom,gpio-err-fatal = <&smp2pgpio_ssr_smp2p_1_in 0 0>;
808 qcom,gpio-err-ready = <&smp2pgpio_ssr_smp2p_1_in 1 0>;
809 qcom,gpio-proxy-unvote = <&smp2pgpio_ssr_smp2p_1_in 2 0>;
810 qcom,gpio-stop-ack = <&smp2pgpio_ssr_smp2p_1_in 3 0>;
811
812 /* GPIO output to mss */
813 qcom,gpio-force-stop = <&smp2pgpio_ssr_smp2p_1_out 0 0>;
814 };
Archana Sathyakumar3e365aa2017-04-27 13:35:54 -0600815
816 apps_rsc: mailbox@17840000 {
817 compatible = "qcom,tcs-drv";
818 label = "apps_rsc";
819 reg = <0x17840000 0x100>, <0x17840d00 0x3000>;
820 interrupts = <0 17 0>;
821 #mbox-cells = <1>;
822 qcom,drv-id = <1>;
823 qcom,tcs-config = <ACTIVE_TCS 2>,
824 <SLEEP_TCS 2>,
825 <WAKE_TCS 2>,
826 <CONTROL_TCS 1>;
827 };
828
Mahesh Sivasubramaniand306a2c2017-11-09 10:09:26 -0700829 cmd_db: qcom,cmd-db@c37000c {
Archana Sathyakumar3e365aa2017-04-27 13:35:54 -0600830 compatible = "qcom,cmd-db";
Mahesh Sivasubramaniand306a2c2017-11-09 10:09:26 -0700831 reg = <0xc37000c 8>;
Archana Sathyakumar3e365aa2017-04-27 13:35:54 -0600832 };
833
Mao Jinlong5f1ac6c2018-02-27 21:41:43 +0800834 mem_dump {
835 compatible = "qcom,mem-dump";
836 memory-region = <&dump_mem>;
837
838 rpmh_dump {
Mao Jinlong0d5834f2018-05-03 17:16:57 +0800839 qcom,dump-size = <0x300000>;
Mao Jinlong5f1ac6c2018-02-27 21:41:43 +0800840 qcom,dump-id = <0xec>;
841 };
842
843 fcm_dump {
844 qcom,dump-size = <0x8400>;
845 qcom,dump-id = <0xee>;
846 };
847
848 rpm_sw_dump {
849 qcom,dump-size = <0x28000>;
850 qcom,dump-id = <0xea>;
851 };
852
853 pmic_dump {
854 qcom,dump-size = <0x10000>;
855 qcom,dump-id = <0xe4>;
856 };
857
858 tmc_etf_dump {
859 qcom,dump-size = <0x10000>;
860 qcom,dump-id = <0xf0>;
861 };
862
863 tmc_etr_reg_dump {
864 qcom,dump-size = <0x1000>;
865 qcom,dump-id = <0x100>;
866 };
867
868 tmc_etf_reg_dump {
869 qcom,dump-size = <0x1000>;
870 qcom,dump-id = <0x101>;
871 };
872
873 misc_data_dump {
874 qcom,dump-size = <0x1000>;
875 qcom,dump-id = <0xe8>;
876 };
877
878 tpdm_swao_dump {
879 qcom,dump-size = <0x512>;
880 qcom,dump-id = <0xf2>;
881 };
882 };
883
Michael Adisumarta062cf642017-12-05 15:06:09 -0800884 qcom,msm_gsi {
885 compatible = "qcom,msm_gsi";
886 };
887
888 qcom,rmnet-ipa {
889 compatible = "qcom,rmnet-ipa3";
890 qcom,rmnet-ipa-ssr;
Michael Adisumarta062cf642017-12-05 15:06:09 -0800891 };
892
Mao Jinlongb0bd8d02018-03-30 13:06:10 +0800893 dcc: dcc_v2@10a2000 {
894 compatible = "qcom,dcc-v2";
895 reg = <0x10a2000 0x1000>,
896 <0x10ae000 0x2000>;
897 reg-names = "dcc-base", "dcc-ram-base";
898
899 dcc-ram-offset = <0x6000>;
900 };
901
Archana Sathyakumar3e365aa2017-04-27 13:35:54 -0600902 system_pm {
903 compatible = "qcom,system-pm";
904 mboxes = <&apps_rsc 0>;
905 };
Sunil Paidimarri6c422bc2017-10-05 12:41:32 -0700906
Michael Adisumarta062cf642017-12-05 15:06:09 -0800907 ipa_hw: qcom,ipa@01e00000 {
908 compatible = "qcom,ipa";
909 reg = <0x1e00000 0x34000>,
910 <0x1e04000 0x28000>;
911 reg-names = "ipa-base", "gsi-base";
912 interrupts =
913 <0 241 0>,
914 <0 47 0>;
915 interrupt-names = "ipa-irq", "gsi-irq";
916 qcom,ipa-hw-ver = <14>; /* IPA core version = IPAv4.0 */
917 qcom,ipa-hw-mode = <0>;
918 qcom,ee = <0>;
919 qcom,use-ipa-tethering-bridge;
Ghanim Fodibab254d2017-12-09 00:19:19 +0200920 qcom,mhi-event-ring-id-limits = <9 10>; /* start and end */
Michael Adisumarta062cf642017-12-05 15:06:09 -0800921 qcom,modem-cfg-emb-pipe-flt;
922 qcom,use-ipa-pm;
Michael Adisumarta2d9b6ff2018-03-08 12:26:59 -0800923 qcom,arm-smmu;
924 qcom,smmu-fast-map;
Michael Adisumarta062cf642017-12-05 15:06:09 -0800925 qcom,bandwidth-vote-for-ipa;
926 qcom,msm-bus,name = "ipa";
927 qcom,msm-bus,num-cases = <5>;
928 qcom,msm-bus,num-paths = <4>;
929 qcom,msm-bus,vectors-KBps =
930 /* No vote */
931 <90 512 0 0>,
932 <90 585 0 0>,
933 <1 676 0 0>,
934 <143 777 0 0>,
935 /* SVS2 */
936 <90 512 3616000 7232000>,
937 <90 585 300000 600000>,
938 <1 676 90000 180000>, /*gcc_config_noc_clk_src */
939 <143 777 0 120>, /* IB defined for IPA2X_clk in MHz*/
940 /* SVS */
941 <90 512 6640000 13280000>,
942 <90 585 400000 800000>,
943 <1 676 100000 200000>,
944 <143 777 0 250>, /* IB defined for IPA2X_clk in MHz*/
945 /* NOMINAL */
946 <90 512 10400000 20800000>,
947 <90 585 800000 1600000>,
948 <1 676 200000 400000>,
949 <143 777 0 440>, /* IB defined for IPA2X_clk in MHz*/
950 /* TURBO */
951 <90 512 10400000 20800000>,
952 <90 585 960000 1920000>,
953 <1 676 266000 532000>,
954 <143 777 0 500>; /* IB defined for IPA clk in MHz*/
955 qcom,bus-vector-names = "MIN", "SVS2", "SVS", "NOMINAL",
956 "TURBO";
957 qcom,throughput-threshold = <310 600 1000>;
958 qcom,scaling-exceptions = <>;
959
Mohammed Javid906ee0c2018-03-06 20:39:35 +0530960 /* ipa tz unlock registers */
961 qcom,ipa-tz-unlock-reg =
962 <0x4043583c 0x1000>; /* 32-bit reg addr and size*/
Michael Adisumarta062cf642017-12-05 15:06:09 -0800963
964 /* IPA RAM mmap */
965 qcom,ipa-ram-mmap = <
966 0x280 /* ofst_start; */
967 0x0 /* nat_ofst; */
968 0x0 /* nat_size; */
969 0x288 /* v4_flt_hash_ofst; */
970 0x78 /* v4_flt_hash_size; */
971 0x4000 /* v4_flt_hash_size_ddr; */
972 0x308 /* v4_flt_nhash_ofst; */
973 0x78 /* v4_flt_nhash_size; */
974 0x4000 /* v4_flt_nhash_size_ddr; */
975 0x388 /* v6_flt_hash_ofst; */
976 0x78 /* v6_flt_hash_size; */
977 0x4000 /* v6_flt_hash_size_ddr; */
978 0x408 /* v6_flt_nhash_ofst; */
979 0x78 /* v6_flt_nhash_size; */
980 0x4000 /* v6_flt_nhash_size_ddr; */
981 0xf /* v4_rt_num_index; */
982 0x0 /* v4_modem_rt_index_lo; */
983 0x7 /* v4_modem_rt_index_hi; */
984 0x8 /* v4_apps_rt_index_lo; */
985 0xe /* v4_apps_rt_index_hi; */
986 0x488 /* v4_rt_hash_ofst; */
987 0x78 /* v4_rt_hash_size; */
988 0x4000 /* v4_rt_hash_size_ddr; */
989 0x508 /* v4_rt_nhash_ofst; */
990 0x78 /* v4_rt_nhash_size; */
991 0x4000 /* v4_rt_nhash_size_ddr; */
992 0xf /* v6_rt_num_index; */
993 0x0 /* v6_modem_rt_index_lo; */
994 0x7 /* v6_modem_rt_index_hi; */
995 0x8 /* v6_apps_rt_index_lo; */
996 0xe /* v6_apps_rt_index_hi; */
997 0x588 /* v6_rt_hash_ofst; */
998 0x78 /* v6_rt_hash_size; */
999 0x4000 /* v6_rt_hash_size_ddr; */
1000 0x608 /* v6_rt_nhash_ofst; */
1001 0x78 /* v6_rt_nhash_size; */
1002 0x4000 /* v6_rt_nhash_size_ddr; */
1003 0x688 /* modem_hdr_ofst; */
1004 0x140 /* modem_hdr_size; */
1005 0x7c8 /* apps_hdr_ofst; */
1006 0x0 /* apps_hdr_size; */
1007 0x800 /* apps_hdr_size_ddr; */
1008 0x7d0 /* modem_hdr_proc_ctx_ofst; */
1009 0x200 /* modem_hdr_proc_ctx_size; */
1010 0x9d0 /* apps_hdr_proc_ctx_ofst; */
1011 0x200 /* apps_hdr_proc_ctx_size; */
1012 0x0 /* apps_hdr_proc_ctx_size_ddr; */
1013 0x0 /* modem_comp_decomp_ofst; diff */
1014 0x0 /* modem_comp_decomp_size; diff */
1015 0x13f0 /* modem_ofst; */
1016 0x100c /* modem_size; */
1017 0x23fc /* apps_v4_flt_hash_ofst; */
1018 0x0 /* apps_v4_flt_hash_size; */
1019 0x23fc /* apps_v4_flt_nhash_ofst; */
1020 0x0 /* apps_v4_flt_nhash_size; */
1021 0x23fc /* apps_v6_flt_hash_ofst; */
1022 0x0 /* apps_v6_flt_hash_size; */
1023 0x23fc /* apps_v6_flt_nhash_ofst; */
1024 0x0 /* apps_v6_flt_nhash_size; */
1025 0x80 /* uc_info_ofst; */
1026 0x200 /* uc_info_size; */
1027 0x2800 /* end_ofst; */
1028 0x23fc /* apps_v4_rt_hash_ofst; */
1029 0x0 /* apps_v4_rt_hash_size; */
1030 0x23fc /* apps_v4_rt_nhash_ofst; */
1031 0x0 /* apps_v4_rt_nhash_size; */
1032 0x23fc /* apps_v6_rt_hash_ofst; */
1033 0x0 /* apps_v6_rt_hash_size; */
1034 0x23fc /* apps_v6_rt_nhash_ofst; */
1035 0x0 /* apps_v6_rt_nhash_size; */
1036 0x2400 /* uc_event_ring_ofst; */
1037 0x400 /* uc_event_ring_size;*/
1038 0xbd8 /* pdn_config_ofst; */
1039 0x50 /* pdn_config_size; */
1040 0xc30 /* stats_quota_ofst */
1041 0x60 /* stats_quota_size */
1042 0xc90 /* stats_tethering_ofst */
1043 0x140 /* stats_tethering_size */
1044 0xdd0 /* stats_flt_v4_ofst */
1045 0x180 /* stats_flt_v4_size */
1046 0xf50 /* stats_flt_v6_ofst */
1047 0x180 /* stats_flt_v6_size */
1048 0x10d0 /* stats_rt_v4_ofst */
1049 0x180 /* stats_rt_v4_size */
1050 0x1250 /* stats_rt_v6_ofst */
1051 0x180 /* stats_rt_v6_size */
1052 0x13d0 /* stats_drop_ofst */
1053 0x20 /* stats_drop_size */
1054 >;
1055
1056 /* smp2p gpio information */
1057 qcom,smp2pgpio_map_ipa_1_out {
1058 compatible = "qcom,smp2pgpio-map-ipa-1-out";
1059 gpios = <&smp2pgpio_ipa_1_out 0 0>;
1060 };
1061
1062 qcom,smp2pgpio_map_ipa_1_in {
1063 compatible = "qcom,smp2pgpio-map-ipa-1-in";
1064 gpios = <&smp2pgpio_ipa_1_in 0 0>;
1065 };
Michael Adisumarta2d9b6ff2018-03-08 12:26:59 -08001066
1067 ipa_smmu_ap: ipa_smmu_ap {
1068 compatible = "qcom,ipa-smmu-ap-cb";
Michael Adisumarta2d9b6ff2018-03-08 12:26:59 -08001069 iommus = <&apps_smmu 0x5E0 0x0>;
1070 qcom,iova-mapping = <0x20000000 0x40000000>;
1071 qcom,additional-mapping =
1072 /* modem tables in IMEM */
1073 <0x14686000 0x14686000 0x3000>;
Michael Adisumarta56e82872018-04-06 10:56:05 -07001074 qcom,ipa-q6-smem-size = <16384>;
Michael Adisumarta2d9b6ff2018-03-08 12:26:59 -08001075 };
1076
1077 ipa_smmu_wlan: ipa_smmu_wlan {
1078 compatible = "qcom,ipa-smmu-wlan-cb";
Michael Adisumarta2d9b6ff2018-03-08 12:26:59 -08001079 iommus = <&apps_smmu 0x5E1 0x0>;
1080 qcom,additional-mapping =
1081 /* ipa-uc ram */
1082 <0x1E60000 0x1E60000 0xA000>;
1083 };
1084
1085 ipa_smmu_uc: ipa_smmu_uc {
1086 compatible = "qcom,ipa-smmu-uc-cb";
Michael Adisumarta2d9b6ff2018-03-08 12:26:59 -08001087 iommus = <&apps_smmu 0x5E2 0x0>;
1088 qcom,iova-mapping = <0x40000000 0x20000000>;
1089 };
Michael Adisumarta062cf642017-12-05 15:06:09 -08001090 };
1091
Chris Lewa4245c92017-10-11 16:34:51 -07001092 qmp_aop: qcom,qmp-aop@c300000 {
1093 compatible = "qcom,qmp-mbox";
1094 label = "aop";
1095 reg = <0xc300000 0x400>,
1096 <0x17811008 0x4>;
1097 reg-names = "msgram", "irq-reg-base";
Chris Lew72a4bb02017-12-06 17:40:44 -08001098 qcom,irq-mask = <0x2>;
Chris Lewa4245c92017-10-11 16:34:51 -07001099 interrupts = <GIC_SPI 221 IRQ_TYPE_EDGE_RISING>;
1100 priority = <0>;
1101 mbox-desc-offset = <0x0>;
1102 #mbox-cells = <1>;
1103 };
Anirudh Ghayalfe988812018-01-10 10:21:54 +05301104
Lina Iyer14bd88a2018-05-10 15:40:42 -06001105 aop-msg-client {
1106 compatible = "qcom,debugfs-qmp-client";
1107 mboxes = <&qmp_aop 0>;
1108 mbox-names = "aop";
1109 };
1110
Anirudh Ghayaleddac032018-02-16 22:48:20 +05301111 vbus_detect: qcom,pmd-vbus-det {
1112 compatible = "qcom,pmd-vbus-det";
Anirudh Ghayalfe988812018-01-10 10:21:54 +05301113 interrupt-parent = <&spmi_bus>;
1114 interrupts = <0x0 0x0d 0x0 IRQ_TYPE_NONE>;
Anirudh Ghayaleddac032018-02-16 22:48:20 +05301115 interrupt-names = "usb_vbus";
Anirudh Ghayalfe988812018-01-10 10:21:54 +05301116 status = "disabled";
1117 };
Jeevan Shriram97101d52018-02-07 14:51:22 -08001118
1119 qcom,wdt@17817000{
1120 compatible = "qcom,msm-watchdog";
1121 reg = <0x17817000 0x1000>;
1122 reg-names = "wdt-base";
1123 interrupts = <1 3 0>, <1 2 0>;
1124 qcom,bark-time = <11000>;
1125 qcom,pet-time = <10000>;
1126 };
Jeevan Shriram465ef8d2018-02-09 15:02:51 -08001127
Brahmaji Ka42631c2018-02-08 18:12:40 +05301128 qcom_rng: qrng@793000{
1129 compatible = "qcom,msm-rng";
1130 reg = <0x793000 0x1000>;
1131 qcom,msm-rng-iface-clk;
1132 qcom,no-qrng-config;
1133 qcom,msm-bus,name = "msm-rng-noc";
1134 qcom,msm-bus,num-cases = <2>;
1135 qcom,msm-bus,num-paths = <1>;
1136 qcom,msm-bus,vectors-KBps =
1137 <1 618 0 0>, /* No vote */
1138 <1 618 0 800>; /* 100 KHz */
1139 clocks = <&clock_gcc GCC_PRNG_AHB_CLK>;
1140 clock-names = "iface_clk";
1141 };
1142
Brahmaji K97913342018-02-08 17:58:00 +05301143 qcom_cedev: qcedev@1de0000 {
1144 compatible = "qcom,qcedev";
1145 reg = <0x1de0000 0x20000>,
1146 <0x1dc4000 0x24000>;
1147 reg-names = "crypto-base","crypto-bam-base";
1148 interrupts = <0 252 0>;
1149 qcom,bam-pipe-pair = <3>;
1150 qcom,ce-hw-instance = <0>;
1151 qcom,ce-device = <0>;
1152 qcom,bam-ee = <0>;
1153 qcom,ce-hw-shared;
1154 qcom,clk-mgmt-sus-res;
1155 qcom,msm-bus,name = "qcedev-noc";
1156 qcom,msm-bus,num-cases = <2>;
1157 qcom,msm-bus,num-paths = <1>;
1158 qcom,msm-bus,vectors-KBps =
1159 <125 512 0 0>,
1160 <125 512 393600 393600>;
1161 clock-names = "core_clk_src", "core_clk",
1162 "iface_clk", "bus_clk";
1163 clocks = <&clock_gcc GCC_CE1_CLK>,
1164 <&clock_gcc GCC_CE1_CLK>,
1165 <&clock_gcc GCC_CE1_AHB_CLK>,
1166 <&clock_gcc GCC_CE1_AXI_CLK>;
1167 qcom,ce-opp-freq = <171430000>;
1168 qcom,request-bw-before-clk;
1169 iommus = <&apps_smmu 0x66 0x1>,
1170 <&apps_smmu 0x76 0x1>;
1171 };
1172
1173 qcom_crypto: qcrypto@1de0000 {
1174 compatible = "qcom,qcrypto";
1175 reg = <0x1de0000 0x20000>,
1176 <0x1dc4000 0x24000>;
1177 reg-names = "crypto-base","crypto-bam-base";
1178 interrupts = <0 252 0>;
1179 qcom,bam-pipe-pair = <2>;
1180 qcom,ce-hw-instance = <0>;
1181 qcom,ce-device = <0>;
1182 qcom,bam-ee = <0>;
1183 qcom,ce-hw-shared;
1184 qcom,clk-mgmt-sus-res;
1185 qcom,msm-bus,name = "qcrypto-noc";
1186 qcom,msm-bus,num-cases = <2>;
1187 qcom,msm-bus,num-paths = <1>;
1188 qcom,msm-bus,vectors-KBps =
1189 <125 512 0 0>,
1190 <125 512 393600 393600>;
1191 clock-names = "core_clk_src", "core_clk",
1192 "iface_clk", "bus_clk";
1193 clocks = <&clock_gcc GCC_CE1_CLK>,
1194 <&clock_gcc GCC_CE1_CLK>,
1195 <&clock_gcc GCC_CE1_AHB_CLK>,
1196 <&clock_gcc GCC_CE1_AXI_CLK>;
1197 qcom,ce-opp-freq = <171430000>;
1198 qcom,request-bw-before-clk;
1199 qcom,use-sw-aes-cbc-ecb-ctr-algo;
1200 qcom,use-sw-aes-xts-algo;
1201 qcom,use-sw-aes-ccm-algo;
1202 qcom,use-sw-aead-algo;
1203 qcom,use-sw-ahash-algo;
1204 qcom,use-sw-hmac-algo;
1205 iommus = <&apps_smmu 0x64 0x1>,
1206 <&apps_smmu 0x74 0x1>;
1207 };
1208
Jeevan Shriram465ef8d2018-02-09 15:02:51 -08001209 qcom,msm-rtb {
1210 compatible = "qcom,msm-rtb";
1211 qcom,rtb-size = <0x100000>;
1212 };
jiada09bdec2018-01-29 22:46:37 +08001213
1214 cnss_pcie: qcom,cnss {
1215 compatible = "qcom,cnss";
1216 wlan-en-gpio = <&tlmm 52 0>;
1217 vdd-wlan-supply = <&vreg_wlan>;
1218 vdd-wlan-xtal-supply = <&pmxpoorwills_l6>;
1219 vdd-wlan-io-supply = <&pmxpoorwills_l6>;
1220 qcom,notify-modem-status;
1221 pinctrl-names = "wlan_en_active", "wlan_en_sleep";
1222 pinctrl-0 = <&cnss_wlan_en_active>;
1223 pinctrl-1 = <&cnss_wlan_en_sleep>;
1224 qcom,wlan-rc-num = <0>;
1225 qcom,wlan-ramdump-dynamic = <0x200000>;
1226
1227 qcom,msm-bus,name = "msm-cnss";
1228 qcom,msm-bus,num-cases = <4>;
1229 qcom,msm-bus,num-paths = <2>;
1230 qcom,msm-bus,vectors-KBps =
1231 <45 512 0 0>, <1 512 0 0>,
1232 /* Upto 200 Mbps */
1233 <45 512 41421 655360>, <1 512 41421 655360>,
1234 /* Upto 400 Mbps */
1235 <45 512 98572 655360>, <1 512 98572 1600000>,
1236 /* Upto 800 Mbps */
1237 <45 512 207108 1146880>, <1 512 207108 3124992>;
1238 };
1239
1240 cnss_sdio: qcom,cnss_sdio {
1241 compatible = "qcom,cnss_sdio";
1242 subsys-name = "AR6320_SDIO";
1243 vdd-wlan-supply = <&vreg_wlan>;
jiada09bdec2018-01-29 22:46:37 +08001244 vdd-wlan-io-supply = <&pmxpoorwills_l6>;
1245 qcom,wlan-ramdump-dynamic = <0x200000>;
1246 pinctrl-names = "active", "sleep";
1247 pinctrl-0 = <&cnss_sdio_active>;
1248 pinctrl-1 = <&cnss_sdio_sleep>;
1249 qcom,is-antenna-shared;
1250 status = "disabled";
1251 };
Jeevan Shriramdcb8b912017-03-19 20:27:35 -07001252};
Anirudh Ghayal1a97b5c2017-05-03 16:16:26 +05301253
Tirupathi Reddy8cbe4982017-08-17 12:01:11 +05301254#include "pmxpoorwills.dtsi"
Shrey Vijaya139af92017-08-10 12:00:44 +05301255#include "sdxpoorwills-blsp.dtsi"
Anirudh Ghayal1a97b5c2017-05-03 16:16:26 +05301256#include "sdxpoorwills-regulator.dtsi"
Chris Lew929d9ba2017-08-11 14:42:55 -07001257#include "sdxpoorwills-smp2p.dtsi"
Devdutt Patnaik4ff5bcd62017-05-05 19:45:01 -07001258#include "sdxpoorwills-usb.dtsi"
Tony Truong65dc7482017-10-24 15:22:06 -07001259#include "sdxpoorwills-pcie.dtsi"
David Dai8e41b1f2017-06-19 16:01:01 -07001260#include "sdxpoorwills-bus.dtsi"
Ram Chandrasekarc6b9e8c2017-10-11 15:52:31 -06001261#include "sdxpoorwills-thermal.dtsi"
Xiaoyu Ye84364ce2017-10-20 16:02:43 -07001262#include "sdxpoorwills-audio.dtsi"
Sudarshan Rajagopalanf99336d2017-06-02 14:44:48 -07001263#include "sdxpoorwills-ion.dtsi"
Sudarshan Rajagopalan25773142017-06-19 10:41:46 -07001264#include "msm-arm-smmu-sdxpoorwills.dtsi"
Mao Jinlong9c7f4182018-01-11 20:48:58 +08001265#include "sdxpoorwills-coresight.dtsi"
skylar chang88a30092018-01-17 17:04:06 -08001266
1267&soc {
1268 emac_hw: qcom,emac@00020000 {
1269 compatible = "qcom,emac-dwc-eqos";
Sunil Paidimarrie49ab992018-03-14 09:09:28 -07001270 qcom,arm-smmu;
skylar chang88a30092018-01-17 17:04:06 -08001271 reg = <0x20000 0x10000>,
skylar chang79646092018-01-25 16:11:17 -08001272 <0x36000 0x100>,
1273 <0x3900000 0x300000>;
1274 reg-names = "emac-base", "rgmii-base", "tlmm-central-base";
Sunil Paidimarri908e6e02018-03-23 15:12:58 -07001275 interrupts-extended = <&pdc 0 62 4>, <&pdc 0 60 4>,
1276 <&tlmm 84 2>, <&pdc 0 49 4>,
1277 <&pdc 0 50 4>, <&pdc 0 51 4>,
1278 <&pdc 0 52 4>, <&pdc 0 53 4>,
1279 <&pdc 0 54 4>, <&pdc 0 55 4>,
1280 <&pdc 0 56 4>, <&pdc 0 57 4>;
skylar chang88a30092018-01-17 17:04:06 -08001281 interrupt-names = "sbd-intr", "lpi-intr",
Sunil Paidimarrife19a652018-04-04 23:50:14 -07001282 "phy-intr", "tx-ch0-intr",
skylar chang88a30092018-01-17 17:04:06 -08001283 "tx-ch1-intr", "tx-ch2-intr",
1284 "tx-ch3-intr", "tx-ch4-intr",
1285 "rx-ch0-intr", "rx-ch1-intr",
1286 "rx-ch2-intr", "rx-ch3-intr";
1287 qcom,msm-bus,name = "emac";
Sunil Paidimarria19c4c12018-05-07 20:51:12 -07001288 qcom,msm-bus,num-cases = <4>;
skylar chang88a30092018-01-17 17:04:06 -08001289 qcom,msm-bus,num-paths = <2>;
1290 qcom,msm-bus,vectors-KBps =
Sunil Paidimarria19c4c12018-05-07 20:51:12 -07001291 <98 512 0 0>, <1 781 0 0>, /* No vote */
skylar chang88a30092018-01-17 17:04:06 -08001292 <98 512 1250 0>, <1 781 0 40000>, /* 10Mbps vote */
1293 <98 512 12500 0>, <1 781 0 40000>, /* 100Mbps vote */
1294 <98 512 125000 0>, <1 781 0 40000>; /* 1000Mbps vote */
Sunil Paidimarri8efcc672018-05-14 15:51:54 -07001295 qcom,bus-vector-names = "0", "10", "100", "1000";
skylar chang88a30092018-01-17 17:04:06 -08001296 clocks = <&clock_gcc GCC_ETH_AXI_CLK>,
1297 <&clock_gcc GCC_ETH_PTP_CLK>,
1298 <&clock_gcc GCC_ETH_RGMII_CLK>,
1299 <&clock_gcc GCC_ETH_SLAVE_AHB_CLK>;
1300 clock-names = "eth_axi_clk", "eth_ptp_clk",
1301 "eth_rgmii_clk", "eth_slave_ahb_clk";
1302 qcom,phy-intr-redirect = <&tlmm 84 GPIO_ACTIVE_LOW>;
1303 qcom,phy-reset = <&tlmm 85 GPIO_ACTIVE_LOW>;
1304 vreg_rgmii-supply = <&vreg_rgmii>;
1305 vreg_emac_phy-supply = <&vreg_emac_phy>;
1306 vreg_rgmii_io_pads-supply = <&vreg_rgmii_io_pads>;
1307 gdsc_emac-supply = <&gdsc_emac>;
1308 io-macro-info {
1309 io-macro-bypass-mode = <0>;
1310 io-interface = "rgmii";
1311 };
Sunil Paidimarrie49ab992018-03-14 09:09:28 -07001312
1313 emac_emb_smmu: emac_emb_smmu {
1314 compatible = "qcom,emac-smmu-embedded";
Sunil Paidimarrie49ab992018-03-14 09:09:28 -07001315 iommus = <&apps_smmu 0x220 0xf>;
1316 qcom,iova-mapping = <0x80000000 0x40000000>;
1317 };
skylar chang88a30092018-01-17 17:04:06 -08001318 };
Sunil Paidimarri89db2d32018-02-28 13:47:28 -08001319
1320 ess-instance {
1321 num_devices = <0x1>;
1322 ess-switch@0 {
1323 compatible = "qcom,ess-switch-qca83xx";
1324 qcom,switch-access-mode = "mdio";
1325 qcom,ar8327-initvals = <
1326 0x0000c 0x7600000 /* PAD6_MODE */
1327 0x00008 0x0 /* PAD5_MODE */
1328 0x000e4 0xaa545 /* MAC_POWER_SEL */
1329 0x000e0 0xc74164de /* SGMII_CTRL */
1330 0x0007c 0x4e /* PORT0_STATUS */
1331 0x00094 0x4e /* PORT6_STATUS */
1332 >;
1333 qcom,link-intr-gpio = <2>;
1334 qcom,switch-cpu-bmp = <0x40>; /* cpu port bitmap */
1335 qcom,switch-lan-bmp = <0x3e>; /* lan port bitmap */
1336 qcom,switch-wan-bmp = <0x0>; /* wan port bitmap */
1337 };
1338 };
skylar chang88a30092018-01-17 17:04:06 -08001339};
Archana Sathyakumar0a81d722017-11-01 10:59:33 -06001340
1341#include "pmxpoorwills.dtsi"
1342#include "sdxpoorwills-blsp.dtsi"
1343#include "sdxpoorwills-regulator.dtsi"
1344#include "sdxpoorwills-smp2p.dtsi"
1345#include "sdxpoorwills-usb.dtsi"
1346#include "sdxpoorwills-pcie.dtsi"
1347#include "sdxpoorwills-bus.dtsi"
1348#include "sdxpoorwills-thermal.dtsi"
1349#include "sdxpoorwills-audio.dtsi"
1350#include "sdxpoorwills-ion.dtsi"
1351#include "msm-arm-smmu-sdxpoorwills.dtsi"
1352#include "sdxpoorwills-pm.dtsi"