blob: 64f85f82602c421ae956dac843f1353f42e3fec2 [file] [log] [blame]
Kumar Gala57f0a7e2015-02-27 15:48:59 -06001/*
2 * Copyright (c) 2013-2015, The Linux Foundation. All rights reserved.
3 *
4 * This program is free software; you can redistribute it and/or modify
5 * it under the terms of the GNU General Public License version 2 and
6 * only version 2 as published by the Free Software Foundation.
7 *
8 * This program is distributed in the hope that it will be useful,
9 * but WITHOUT ANY WARRANTY; without even the implied warranty of
10 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
11 * GNU General Public License for more details.
12 */
13
14#include <dt-bindings/interrupt-controller/arm-gic.h>
15#include <dt-bindings/clock/qcom,gcc-msm8916.h>
16#include <dt-bindings/reset/qcom,gcc-msm8916.h>
17
18/ {
19 model = "Qualcomm Technologies, Inc. MSM8916";
20 compatible = "qcom,msm8916";
21
22 interrupt-parent = <&intc>;
23
24 #address-cells = <2>;
25 #size-cells = <2>;
26
Srinivas Kandagatlac4da5a52015-06-04 12:19:02 +030027 aliases {
28 sdhc1 = &sdhc_1; /* SDC1 eMMC slot */
29 sdhc2 = &sdhc_2; /* SDC2 SD card slot */
30 };
Kumar Gala57f0a7e2015-02-27 15:48:59 -060031
32 chosen { };
33
34 memory {
35 device_type = "memory";
36 /* We expect the bootloader to fill in the reg */
37 reg = <0 0 0 0>;
38 };
39
Andy Grossa0ece652015-09-24 14:18:52 -050040 reserved-memory {
41 #address-cells = <2>;
42 #size-cells = <2>;
43 ranges;
44
Bjorn Andersson7258e102016-06-06 17:57:24 -070045 tz-apps@86000000 {
46 reg = <0x0 0x86000000 0x0 0x300000>;
Andy Grossa0ece652015-09-24 14:18:52 -050047 no-map;
48 };
49
50 smem_mem: smem_region@86300000 {
Bjorn Andersson7258e102016-06-06 17:57:24 -070051 reg = <0x0 0x86300000 0x0 0x100000>;
52 no-map;
53 };
54
55 hypervisor@86400000 {
56 reg = <0x0 0x86400000 0x0 0x100000>;
57 no-map;
58 };
59
60 tz@86500000 {
61 reg = <0x0 0x86500000 0x0 0x180000>;
62 no-map;
63 };
64
65 reserved@8668000 {
66 reg = <0x0 0x86680000 0x0 0x80000>;
67 no-map;
68 };
69
70 rmtfs@86700000 {
71 reg = <0x0 0x86700000 0x0 0xe0000>;
72 no-map;
73 };
74
75 rfsa@867e00000 {
76 reg = <0x0 0x867e0000 0x0 0x20000>;
77 no-map;
78 };
79
80 mpss@86800000 {
81 reg = <0x0 0x86800000 0x0 0x2b00000>;
82 no-map;
83 };
84
85 wcnss@89300000 {
86 reg = <0x0 0x89300000 0x0 0x600000>;
Andy Grossa0ece652015-09-24 14:18:52 -050087 no-map;
88 };
Bjorn Anderssond9a3e0c2016-07-15 17:42:12 -070089
90 mba_mem: mba@8ea00000 {
91 no-map;
92 reg = <0 0x8ea00000 0 0x100000>;
93 };
Andy Grossa0ece652015-09-24 14:18:52 -050094 };
95
Kumar Gala57f0a7e2015-02-27 15:48:59 -060096 cpus {
97 #address-cells = <1>;
98 #size-cells = <0>;
99
100 CPU0: cpu@0 {
101 device_type = "cpu";
102 compatible = "arm,cortex-a53", "arm,armv8";
103 reg = <0x0>;
Stephen Boyd0a9bcf42016-01-08 15:57:09 -0800104 next-level-cache = <&L2_0>;
Lina Iyera0df3992016-03-01 14:15:30 -0700105 enable-method = "psci";
106 cpu-idle-states = <&CPU_SPC>;
Kumar Gala57f0a7e2015-02-27 15:48:59 -0600107 };
108
109 CPU1: cpu@1 {
110 device_type = "cpu";
111 compatible = "arm,cortex-a53", "arm,armv8";
112 reg = <0x1>;
Stephen Boyd0a9bcf42016-01-08 15:57:09 -0800113 next-level-cache = <&L2_0>;
Lina Iyera0df3992016-03-01 14:15:30 -0700114 enable-method = "psci";
115 cpu-idle-states = <&CPU_SPC>;
Kumar Gala57f0a7e2015-02-27 15:48:59 -0600116 };
117
118 CPU2: cpu@2 {
119 device_type = "cpu";
120 compatible = "arm,cortex-a53", "arm,armv8";
121 reg = <0x2>;
Stephen Boyd0a9bcf42016-01-08 15:57:09 -0800122 next-level-cache = <&L2_0>;
Lina Iyera0df3992016-03-01 14:15:30 -0700123 enable-method = "psci";
124 cpu-idle-states = <&CPU_SPC>;
Kumar Gala57f0a7e2015-02-27 15:48:59 -0600125 };
126
127 CPU3: cpu@3 {
128 device_type = "cpu";
129 compatible = "arm,cortex-a53", "arm,armv8";
130 reg = <0x3>;
Stephen Boyd0a9bcf42016-01-08 15:57:09 -0800131 next-level-cache = <&L2_0>;
Lina Iyera0df3992016-03-01 14:15:30 -0700132 enable-method = "psci";
133 cpu-idle-states = <&CPU_SPC>;
Stephen Boyd0a9bcf42016-01-08 15:57:09 -0800134 };
135
136 L2_0: l2-cache {
137 compatible = "cache";
138 cache-level = <2>;
Kumar Gala57f0a7e2015-02-27 15:48:59 -0600139 };
Lina Iyera0df3992016-03-01 14:15:30 -0700140
141 idle-states {
142 CPU_SPC: spc {
143 compatible = "arm,idle-state";
144 arm,psci-suspend-param = <0x40000002>;
145 entry-latency-us = <130>;
146 exit-latency-us = <150>;
147 min-residency-us = <2000>;
148 local-timer-stop;
149 };
150 };
151 };
152
153 psci {
154 compatible = "arm,psci-1.0";
155 method = "smc";
Kumar Gala57f0a7e2015-02-27 15:48:59 -0600156 };
157
Stephen Boyd5daa7a62016-05-10 15:01:49 -0700158 pmu {
159 compatible = "arm,armv8-pmuv3";
160 interrupts = <GIC_PPI 7 GIC_CPU_MASK_SIMPLE(4)>;
161 };
162
Kumar Gala57f0a7e2015-02-27 15:48:59 -0600163 timer {
164 compatible = "arm,armv8-timer";
165 interrupts = <GIC_PPI 2 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_LOW)>,
166 <GIC_PPI 3 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_LOW)>,
167 <GIC_PPI 4 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_LOW)>,
168 <GIC_PPI 1 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_LOW)>;
169 };
170
Georgi Djakovf4fb6ae2015-12-03 16:02:52 +0200171 clocks {
172 xo_board: xo_board {
173 compatible = "fixed-clock";
174 #clock-cells = <0>;
175 clock-frequency = <19200000>;
176 };
177
178 sleep_clk: sleep_clk {
179 compatible = "fixed-clock";
180 #clock-cells = <0>;
181 clock-frequency = <32768>;
182 };
183 };
184
Andy Grossa0ece652015-09-24 14:18:52 -0500185 smem {
186 compatible = "qcom,smem";
187
188 memory-region = <&smem_mem>;
189 qcom,rpm-msg-ram = <&rpm_msg_ram>;
190
191 hwlocks = <&tcsr_mutex 3>;
192 };
193
Andy Grossea49e162016-06-03 18:25:28 -0500194 firmware {
Bjorn Anderssonfb3013d2016-07-15 17:42:13 -0700195 scm: scm {
Andy Grossea49e162016-06-03 18:25:28 -0500196 compatible = "qcom,scm";
197 clocks = <&gcc GCC_CRYPTO_CLK>, <&gcc GCC_CRYPTO_AXI_CLK>, <&gcc GCC_CRYPTO_AHB_CLK>;
198 clock-names = "core", "bus", "iface";
Bjorn Anderssonfb3013d2016-07-15 17:42:13 -0700199 #reset-cells = <1>;
Andy Grossea49e162016-06-03 18:25:28 -0500200 };
201 };
202
Kumar Gala57f0a7e2015-02-27 15:48:59 -0600203 soc: soc {
204 #address-cells = <1>;
205 #size-cells = <1>;
206 ranges = <0 0 0 0xffffffff>;
207 compatible = "simple-bus";
208
Ivan T. Ivanov366655c2015-04-20 10:45:40 +0300209 restart@4ab000 {
210 compatible = "qcom,pshold";
211 reg = <0x4ab000 0x4>;
212 };
213
Ivan T. Ivanova190a1c2015-04-20 10:45:41 +0300214 msmgpio: pinctrl@1000000 {
Kumar Gala57f0a7e2015-02-27 15:48:59 -0600215 compatible = "qcom,msm8916-pinctrl";
216 reg = <0x1000000 0x300000>;
217 interrupts = <GIC_SPI 208 IRQ_TYPE_LEVEL_HIGH>;
218 gpio-controller;
219 #gpio-cells = <2>;
220 interrupt-controller;
221 #interrupt-cells = <2>;
Kumar Gala57f0a7e2015-02-27 15:48:59 -0600222 };
223
Stephen Boyd886c73b2016-01-08 11:00:11 -0800224 gcc: clock-controller@1800000 {
Kumar Gala57f0a7e2015-02-27 15:48:59 -0600225 compatible = "qcom,gcc-msm8916";
226 #clock-cells = <1>;
227 #reset-cells = <1>;
Rajendra Nayak89c7e672015-10-01 14:56:02 +0530228 #power-domain-cells = <1>;
Kumar Gala57f0a7e2015-02-27 15:48:59 -0600229 reg = <0x1800000 0x80000>;
230 };
231
Andy Grossa0ece652015-09-24 14:18:52 -0500232 tcsr_mutex_regs: syscon@1905000 {
233 compatible = "syscon";
234 reg = <0x1905000 0x20000>;
235 };
236
Bjorn Anderssone95c08f2016-07-15 17:42:14 -0700237 tcsr: syscon@1937000 {
238 compatible = "qcom,tcsr-msm8916", "syscon";
239 reg = <0x1937000 0x30000>;
240 };
241
Andy Grossa0ece652015-09-24 14:18:52 -0500242 tcsr_mutex: hwlock {
243 compatible = "qcom,tcsr-mutex";
244 syscon = <&tcsr_mutex_regs 0 0x1000>;
245 #hwlock-cells = <1>;
246 };
247
248 rpm_msg_ram: memory@60000 {
249 compatible = "qcom,rpm-msg-ram";
250 reg = <0x60000 0x8000>;
251 };
252
Andy Gross9f430202015-08-27 15:39:14 -0500253 blsp1_uart1: serial@78af000 {
254 compatible = "qcom,msm-uartdm-v1.4", "qcom,msm-uartdm";
255 reg = <0x78af000 0x200>;
256 interrupts = <GIC_SPI 107 IRQ_TYPE_LEVEL_HIGH>;
257 clocks = <&gcc GCC_BLSP1_UART1_APPS_CLK>, <&gcc GCC_BLSP1_AHB_CLK>;
258 clock-names = "core", "iface";
Ivan T. Ivanovd66dd9e2015-09-18 16:18:54 +0300259 dmas = <&blsp_dma 1>, <&blsp_dma 0>;
260 dma-names = "rx", "tx";
Andy Gross9f430202015-08-27 15:39:14 -0500261 status = "disabled";
262 };
263
Andy Gross8fd55d42015-09-24 14:18:53 -0500264 apcs: syscon@b011000 {
265 compatible = "syscon";
266 reg = <0x0b011000 0x1000>;
267 };
268
Kumar Gala57f0a7e2015-02-27 15:48:59 -0600269 blsp1_uart2: serial@78b0000 {
270 compatible = "qcom,msm-uartdm-v1.4", "qcom,msm-uartdm";
271 reg = <0x78b0000 0x200>;
272 interrupts = <GIC_SPI 108 IRQ_TYPE_LEVEL_HIGH>;
273 clocks = <&gcc GCC_BLSP1_UART2_APPS_CLK>, <&gcc GCC_BLSP1_AHB_CLK>;
274 clock-names = "core", "iface";
Ivan T. Ivanovd66dd9e2015-09-18 16:18:54 +0300275 dmas = <&blsp_dma 3>, <&blsp_dma 2>;
276 dma-names = "rx", "tx";
Kumar Gala57f0a7e2015-02-27 15:48:59 -0600277 status = "disabled";
278 };
279
Ivan T. Ivanova0e5fb12015-06-04 12:19:01 +0300280 blsp_dma: dma@7884000 {
281 compatible = "qcom,bam-v1.7.0";
282 reg = <0x07884000 0x23000>;
283 interrupts = <GIC_SPI 238 IRQ_TYPE_LEVEL_HIGH>;
284 clocks = <&gcc GCC_BLSP1_AHB_CLK>;
285 clock-names = "bam_clk";
286 #dma-cells = <1>;
287 qcom,ee = <0>;
288 status = "disabled";
289 };
290
291 blsp_spi1: spi@78b5000 {
292 compatible = "qcom,spi-qup-v2.2.1";
293 reg = <0x078b5000 0x600>;
294 interrupts = <GIC_SPI 95 IRQ_TYPE_LEVEL_HIGH>;
295 clocks = <&gcc GCC_BLSP1_QUP1_SPI_APPS_CLK>,
296 <&gcc GCC_BLSP1_AHB_CLK>;
297 clock-names = "core", "iface";
298 dmas = <&blsp_dma 5>, <&blsp_dma 4>;
299 dma-names = "rx", "tx";
300 pinctrl-names = "default", "sleep";
301 pinctrl-0 = <&spi1_default>;
302 pinctrl-1 = <&spi1_sleep>;
303 #address-cells = <1>;
304 #size-cells = <0>;
305 status = "disabled";
306 };
307
308 blsp_spi2: spi@78b6000 {
309 compatible = "qcom,spi-qup-v2.2.1";
310 reg = <0x078b6000 0x600>;
311 interrupts = <GIC_SPI 96 IRQ_TYPE_LEVEL_HIGH>;
312 clocks = <&gcc GCC_BLSP1_QUP2_SPI_APPS_CLK>,
313 <&gcc GCC_BLSP1_AHB_CLK>;
314 clock-names = "core", "iface";
315 dmas = <&blsp_dma 7>, <&blsp_dma 6>;
316 dma-names = "rx", "tx";
317 pinctrl-names = "default", "sleep";
318 pinctrl-0 = <&spi2_default>;
319 pinctrl-1 = <&spi2_sleep>;
320 #address-cells = <1>;
321 #size-cells = <0>;
322 status = "disabled";
323 };
324
325 blsp_spi3: spi@78b7000 {
326 compatible = "qcom,spi-qup-v2.2.1";
327 reg = <0x078b7000 0x600>;
328 interrupts = <GIC_SPI 97 IRQ_TYPE_LEVEL_HIGH>;
329 clocks = <&gcc GCC_BLSP1_QUP3_SPI_APPS_CLK>,
330 <&gcc GCC_BLSP1_AHB_CLK>;
331 clock-names = "core", "iface";
332 dmas = <&blsp_dma 9>, <&blsp_dma 8>;
333 dma-names = "rx", "tx";
334 pinctrl-names = "default", "sleep";
335 pinctrl-0 = <&spi3_default>;
336 pinctrl-1 = <&spi3_sleep>;
337 #address-cells = <1>;
338 #size-cells = <0>;
339 status = "disabled";
340 };
341
342 blsp_spi4: spi@78b8000 {
343 compatible = "qcom,spi-qup-v2.2.1";
344 reg = <0x078b8000 0x600>;
345 interrupts = <GIC_SPI 98 IRQ_TYPE_LEVEL_HIGH>;
346 clocks = <&gcc GCC_BLSP1_QUP4_SPI_APPS_CLK>,
347 <&gcc GCC_BLSP1_AHB_CLK>;
348 clock-names = "core", "iface";
349 dmas = <&blsp_dma 11>, <&blsp_dma 10>;
350 dma-names = "rx", "tx";
351 pinctrl-names = "default", "sleep";
352 pinctrl-0 = <&spi4_default>;
353 pinctrl-1 = <&spi4_sleep>;
354 #address-cells = <1>;
355 #size-cells = <0>;
356 status = "disabled";
357 };
358
359 blsp_spi5: spi@78b9000 {
360 compatible = "qcom,spi-qup-v2.2.1";
361 reg = <0x078b9000 0x600>;
362 interrupts = <GIC_SPI 99 IRQ_TYPE_LEVEL_HIGH>;
363 clocks = <&gcc GCC_BLSP1_QUP5_SPI_APPS_CLK>,
364 <&gcc GCC_BLSP1_AHB_CLK>;
365 clock-names = "core", "iface";
366 dmas = <&blsp_dma 13>, <&blsp_dma 12>;
367 dma-names = "rx", "tx";
368 pinctrl-names = "default", "sleep";
369 pinctrl-0 = <&spi5_default>;
370 pinctrl-1 = <&spi5_sleep>;
371 #address-cells = <1>;
372 #size-cells = <0>;
373 status = "disabled";
374 };
375
376 blsp_spi6: spi@78ba000 {
377 compatible = "qcom,spi-qup-v2.2.1";
378 reg = <0x078ba000 0x600>;
379 interrupts = <GIC_SPI 100 IRQ_TYPE_LEVEL_HIGH>;
380 clocks = <&gcc GCC_BLSP1_QUP6_SPI_APPS_CLK>,
381 <&gcc GCC_BLSP1_AHB_CLK>;
382 clock-names = "core", "iface";
383 dmas = <&blsp_dma 15>, <&blsp_dma 14>;
384 dma-names = "rx", "tx";
385 pinctrl-names = "default", "sleep";
386 pinctrl-0 = <&spi6_default>;
387 pinctrl-1 = <&spi6_sleep>;
388 #address-cells = <1>;
389 #size-cells = <0>;
390 status = "disabled";
391 };
392
Srinivas Kandagatla7f5b0922015-10-09 09:55:05 +0100393 blsp_i2c2: i2c@78b6000 {
394 compatible = "qcom,i2c-qup-v2.2.1";
395 reg = <0x78b6000 0x1000>;
396 interrupts = <GIC_SPI 96 0>;
397 clocks = <&gcc GCC_BLSP1_AHB_CLK>,
398 <&gcc GCC_BLSP1_QUP2_I2C_APPS_CLK>;
399 clock-names = "iface", "core";
400 pinctrl-names = "default", "sleep";
401 pinctrl-0 = <&i2c2_default>;
402 pinctrl-1 = <&i2c2_sleep>;
403 #address-cells = <1>;
404 #size-cells = <0>;
405 status = "disabled";
406 };
407
Ivan T. Ivanova0e5fb12015-06-04 12:19:01 +0300408 blsp_i2c4: i2c@78b8000 {
409 compatible = "qcom,i2c-qup-v2.2.1";
410 reg = <0x78b8000 0x1000>;
411 interrupts = <GIC_SPI 98 0>;
412 clocks = <&gcc GCC_BLSP1_AHB_CLK>,
413 <&gcc GCC_BLSP1_QUP4_I2C_APPS_CLK>;
414 clock-names = "iface", "core";
415 pinctrl-names = "default", "sleep";
416 pinctrl-0 = <&i2c4_default>;
417 pinctrl-1 = <&i2c4_sleep>;
418 #address-cells = <1>;
419 #size-cells = <0>;
420 status = "disabled";
421 };
422
Srinivas Kandagatla7f5b0922015-10-09 09:55:05 +0100423 blsp_i2c6: i2c@78ba000 {
424 compatible = "qcom,i2c-qup-v2.2.1";
425 reg = <0x78ba000 0x1000>;
426 interrupts = <GIC_SPI 100 0>;
427 clocks = <&gcc GCC_BLSP1_AHB_CLK>,
428 <&gcc GCC_BLSP1_QUP6_I2C_APPS_CLK>;
429 clock-names = "iface", "core";
430 pinctrl-names = "default", "sleep";
431 pinctrl-0 = <&i2c6_default>;
432 pinctrl-1 = <&i2c6_sleep>;
433 #address-cells = <1>;
434 #size-cells = <0>;
435 status = "disabled";
436 };
437
Srinivas Kandagatla3761a362016-02-23 16:50:19 +0000438 lpass: lpass@07708000 {
439 status = "disabled";
440 compatible = "qcom,lpass-cpu-apq8016";
441 clocks = <&gcc GCC_ULTAUDIO_AHBFABRIC_IXFABRIC_CLK>,
442 <&gcc GCC_ULTAUDIO_PCNOC_MPORT_CLK>,
443 <&gcc GCC_ULTAUDIO_PCNOC_SWAY_CLK>,
444 <&gcc GCC_ULTAUDIO_LPAIF_PRI_I2S_CLK>,
445 <&gcc GCC_ULTAUDIO_LPAIF_SEC_I2S_CLK>,
446 <&gcc GCC_ULTAUDIO_LPAIF_SEC_I2S_CLK>,
447 <&gcc GCC_ULTAUDIO_LPAIF_AUX_I2S_CLK>;
448
449 clock-names = "ahbix-clk",
450 "pcnoc-mport-clk",
451 "pcnoc-sway-clk",
452 "mi2s-bit-clk0",
453 "mi2s-bit-clk1",
454 "mi2s-bit-clk2",
455 "mi2s-bit-clk3";
456 #sound-dai-cells = <1>;
457
458 interrupts = <0 160 0>;
459 interrupt-names = "lpass-irq-lpaif";
460 reg = <0x07708000 0x10000>;
461 reg-names = "lpass-lpaif";
462 };
463
Srinivas Kandagatlac4da5a52015-06-04 12:19:02 +0300464 sdhc_1: sdhci@07824000 {
465 compatible = "qcom,sdhci-msm-v4";
466 reg = <0x07824900 0x11c>, <0x07824000 0x800>;
467 reg-names = "hc_mem", "core_mem";
468
469 interrupts = <0 123 0>, <0 138 0>;
470 interrupt-names = "hc_irq", "pwr_irq";
471 clocks = <&gcc GCC_SDCC1_APPS_CLK>,
472 <&gcc GCC_SDCC1_AHB_CLK>;
473 clock-names = "core", "iface";
474 bus-width = <8>;
475 non-removable;
476 status = "disabled";
477 };
478
479 sdhc_2: sdhci@07864000 {
480 compatible = "qcom,sdhci-msm-v4";
481 reg = <0x07864900 0x11c>, <0x07864000 0x800>;
482 reg-names = "hc_mem", "core_mem";
483
484 interrupts = <0 125 0>, <0 221 0>;
485 interrupt-names = "hc_irq", "pwr_irq";
486 clocks = <&gcc GCC_SDCC2_APPS_CLK>,
487 <&gcc GCC_SDCC2_AHB_CLK>;
488 clock-names = "core", "iface";
489 bus-width = <4>;
490 status = "disabled";
491 };
492
Ivan T. Ivanov59600862015-06-04 12:19:03 +0300493 usb_dev: usb@78d9000 {
494 compatible = "qcom,ci-hdrc";
495 reg = <0x78d9000 0x400>;
496 dr_mode = "peripheral";
497 interrupts = <GIC_SPI 134 IRQ_TYPE_NONE>;
498 usb-phy = <&usb_otg>;
499 status = "disabled";
500 };
501
502 usb_host: ehci@78d9000 {
503 compatible = "qcom,ehci-host";
504 reg = <0x78d9000 0x400>;
505 interrupts = <GIC_SPI 134 IRQ_TYPE_NONE>;
506 usb-phy = <&usb_otg>;
507 status = "disabled";
508 };
509
510 usb_otg: phy@78d9000 {
511 compatible = "qcom,usb-otg-snps";
512 reg = <0x78d9000 0x400>;
513 interrupts = <GIC_SPI 134 IRQ_TYPE_EDGE_BOTH>,
514 <GIC_SPI 140 IRQ_TYPE_EDGE_RISING>;
515
Srinivas Kandagatlaa7b24662016-02-23 16:50:36 +0000516 qcom,vdd-levels = <500000 1000000 1320000>;
Ivan T. Ivanov59600862015-06-04 12:19:03 +0300517 qcom,phy-init-sequence = <0x44 0x6B 0x24 0x13>;
518 dr_mode = "peripheral";
519 qcom,otg-control = <2>; // PMIC
Srinivas Kandagatla2a0bc812016-02-23 16:49:46 +0000520 qcom,manual-pullup;
Ivan T. Ivanov59600862015-06-04 12:19:03 +0300521
522 clocks = <&gcc GCC_USB_HS_AHB_CLK>,
523 <&gcc GCC_USB_HS_SYSTEM_CLK>,
524 <&gcc GCC_USB2A_PHY_SLEEP_CLK>;
525 clock-names = "iface", "core", "sleep";
526
527 resets = <&gcc GCC_USB2A_PHY_BCR>,
528 <&gcc GCC_USB_HS_BCR>;
529 reset-names = "phy", "link";
530 status = "disabled";
531 };
532
Kumar Gala57f0a7e2015-02-27 15:48:59 -0600533 intc: interrupt-controller@b000000 {
534 compatible = "qcom,msm-qgic2";
535 interrupt-controller;
536 #interrupt-cells = <3>;
537 reg = <0x0b000000 0x1000>, <0x0b002000 0x1000>;
538 };
539
540 timer@b020000 {
541 #address-cells = <1>;
542 #size-cells = <1>;
543 ranges;
544 compatible = "arm,armv7-timer-mem";
545 reg = <0xb020000 0x1000>;
546 clock-frequency = <19200000>;
547
548 frame@b021000 {
549 frame-number = <0>;
550 interrupts = <GIC_SPI 8 IRQ_TYPE_LEVEL_HIGH>,
551 <GIC_SPI 7 IRQ_TYPE_LEVEL_HIGH>;
552 reg = <0xb021000 0x1000>,
553 <0xb022000 0x1000>;
554 };
555
556 frame@b023000 {
557 frame-number = <1>;
558 interrupts = <GIC_SPI 9 IRQ_TYPE_LEVEL_HIGH>;
559 reg = <0xb023000 0x1000>;
560 status = "disabled";
561 };
562
563 frame@b024000 {
564 frame-number = <2>;
565 interrupts = <GIC_SPI 10 IRQ_TYPE_LEVEL_HIGH>;
566 reg = <0xb024000 0x1000>;
567 status = "disabled";
568 };
569
570 frame@b025000 {
571 frame-number = <3>;
572 interrupts = <GIC_SPI 11 IRQ_TYPE_LEVEL_HIGH>;
573 reg = <0xb025000 0x1000>;
574 status = "disabled";
575 };
576
577 frame@b026000 {
578 frame-number = <4>;
579 interrupts = <GIC_SPI 12 IRQ_TYPE_LEVEL_HIGH>;
580 reg = <0xb026000 0x1000>;
581 status = "disabled";
582 };
583
584 frame@b027000 {
585 frame-number = <5>;
586 interrupts = <GIC_SPI 13 IRQ_TYPE_LEVEL_HIGH>;
587 reg = <0xb027000 0x1000>;
588 status = "disabled";
589 };
590
591 frame@b028000 {
592 frame-number = <6>;
593 interrupts = <GIC_SPI 14 IRQ_TYPE_LEVEL_HIGH>;
594 reg = <0xb028000 0x1000>;
595 status = "disabled";
596 };
597 };
Ivan T. Ivanov232461f2015-04-20 10:45:38 +0300598
599 spmi_bus: spmi@200f000 {
600 compatible = "qcom,spmi-pmic-arb";
601 reg = <0x200f000 0x001000>,
602 <0x2400000 0x400000>,
603 <0x2c00000 0x400000>,
604 <0x3800000 0x200000>,
605 <0x200a000 0x002100>;
606 reg-names = "core", "chnls", "obsrvr", "intr", "cnfg";
607 interrupt-names = "periph_irq";
608 interrupts = <GIC_SPI 190 IRQ_TYPE_NONE>;
609 qcom,ee = <0>;
610 qcom,channel = <0>;
611 #address-cells = <2>;
612 #size-cells = <0>;
613 interrupt-controller;
614 #interrupt-cells = <4>;
615 };
Stanimir Varbanovf6d24bf2015-08-25 18:37:42 +0300616
617 rng@22000 {
618 compatible = "qcom,prng";
619 reg = <0x00022000 0x200>;
620 clocks = <&gcc GCC_PRNG_AHB_CLK>;
621 clock-names = "core";
622 };
Kumar Gala57f0a7e2015-02-27 15:48:59 -0600623 };
Andy Gross8fd55d42015-09-24 14:18:53 -0500624
625 smd {
626 compatible = "qcom,smd";
627
628 rpm {
629 interrupts = <GIC_SPI 168 IRQ_TYPE_EDGE_RISING>;
630 qcom,ipc = <&apcs 8 0>;
631 qcom,smd-edge = <15>;
632
633 rpm_requests {
634 compatible = "qcom,rpm-msm8916";
635 qcom,smd-channels = "rpm_requests";
Andy Gross9e1dfb82015-09-24 14:18:54 -0500636
Georgi Djakove2841db2015-12-03 16:02:53 +0200637 rpmcc: qcom,rpmcc {
638 compatible = "qcom,rpmcc-msm8916", "qcom,rpmcc";
639 #clock-cells = <1>;
640 };
641
Srinivas Kandagatla0ba7da22016-01-28 17:43:54 +0000642 smd_rpm_regulators: pm8916-regulators {
Andy Gross9e1dfb82015-09-24 14:18:54 -0500643 compatible = "qcom,rpm-pm8916-regulators";
644
645 pm8916_s1: s1 {};
Andy Gross9e1dfb82015-09-24 14:18:54 -0500646 pm8916_s3: s3 {};
647 pm8916_s4: s4 {};
648
649 pm8916_l1: l1 {};
650 pm8916_l2: l2 {};
651 pm8916_l3: l3 {};
652 pm8916_l4: l4 {};
653 pm8916_l5: l5 {};
654 pm8916_l6: l6 {};
655 pm8916_l7: l7 {};
656 pm8916_l8: l8 {};
657 pm8916_l9: l9 {};
658 pm8916_l10: l10 {};
659 pm8916_l11: l11 {};
660 pm8916_l12: l12 {};
661 pm8916_l13: l13 {};
662 pm8916_l14: l14 {};
663 pm8916_l15: l15 {};
664 pm8916_l16: l16 {};
665 pm8916_l17: l17 {};
666 pm8916_l18: l18 {};
667 };
Andy Gross8fd55d42015-09-24 14:18:53 -0500668 };
669 };
670 };
Bjorn Andersson1fb47e02016-07-15 17:42:11 -0700671
672 hexagon-smp2p {
673 compatible = "qcom,smp2p";
674 qcom,smem = <435>, <428>;
675
676 interrupts = <0 27 IRQ_TYPE_EDGE_RISING>;
677
678 qcom,ipc = <&apcs 8 14>;
679
680 qcom,local-pid = <0>;
681 qcom,remote-pid = <1>;
682
683 hexagon_smp2p_out: master-kernel {
684 qcom,entry-name = "master-kernel";
685
686 #qcom,smem-state-cells = <1>;
687 };
688
689 hexagon_smp2p_in: slave-kernel {
690 qcom,entry-name = "slave-kernel";
691
692 interrupt-controller;
693 #interrupt-cells = <2>;
694 };
695 };
696
697 wcnss-smp2p {
698 compatible = "qcom,smp2p";
699 qcom,smem = <451>, <431>;
700
701 interrupts = <0 143 IRQ_TYPE_EDGE_RISING>;
702
703 qcom,ipc = <&apcs 8 18>;
704
705 qcom,local-pid = <0>;
706 qcom,remote-pid = <4>;
707
708 wcnss_smp2p_out: master-kernel {
709 qcom,entry-name = "master-kernel";
710
711 #qcom,smem-state-cells = <1>;
712 };
713
714 wcnss_smp2p_in: slave-kernel {
715 qcom,entry-name = "slave-kernel";
716
717 interrupt-controller;
718 #interrupt-cells = <2>;
719 };
720 };
721
722 smsm {
723 compatible = "qcom,smsm";
724
725 #address-cells = <1>;
726 #size-cells = <0>;
727
728 qcom,ipc-1 = <&apcs 0 13>;
729 qcom,ipc-6 = <&apcs 0 19>;
730
731 apps_smsm: apps@0 {
732 reg = <0>;
733
734 #qcom,smem-state-cells = <1>;
735 };
736
737 hexagon_smsm: hexagon@1 {
738 reg = <1>;
739 interrupts = <0 26 IRQ_TYPE_EDGE_RISING>;
740
741 interrupt-controller;
742 #interrupt-cells = <2>;
743 };
744
745 wcnss_smsm: wcnss@6 {
746 reg = <6>;
747 interrupts = <0 144 IRQ_TYPE_EDGE_RISING>;
748
749 interrupt-controller;
750 #interrupt-cells = <2>;
751 };
752 };
Kumar Gala57f0a7e2015-02-27 15:48:59 -0600753};
Ivan T. Ivanov1b08a582015-06-04 12:19:00 +0300754
755#include "msm8916-pins.dtsi"