1 // SPDX-License-Identifier: GPL-2.0
2 /* Copyright (c) 2016, The Linux Foundation. All rights reserved. */
4 #include <dt-bindings/interrupt-controller/arm-gic.h>
5 #include <dt-bindings/clock/qcom,gcc-msm8998.h>
6 #include <dt-bindings/gpio/gpio.h>
9 interrupt-parent = <&intc>;
11 qcom,msm-id = <292 0x0>;
19 device_type = "memory";
20 /* We expect the bootloader to fill in the reg */
30 reg = <0x0 0x85800000 0x0 0x800000>;
34 smem_mem: smem-mem@86000000 {
35 reg = <0x0 0x86000000 0x0 0x200000>;
40 reg = <0x0 0x86200000 0x0 0x2600000>;
45 compatible = "qcom,rmtfs-mem";
47 size = <0x0 0x200000>;
48 alloc-ranges = <0x0 0xa0000000 0x0 0x2000000>;
58 compatible = "fixed-clock";
60 clock-frequency = <19200000>;
61 clock-output-names = "xo_board";
65 compatible = "fixed-clock";
67 clock-frequency = <32764>;
77 compatible = "arm,armv8";
79 enable-method = "psci";
81 next-level-cache = <&L2_0>;
83 compatible = "arm,arch-cache";
87 compatible = "arm,arch-cache";
90 compatible = "arm,arch-cache";
96 compatible = "arm,armv8";
98 enable-method = "psci";
100 next-level-cache = <&L2_0>;
102 compatible = "arm,arch-cache";
105 compatible = "arm,arch-cache";
111 compatible = "arm,armv8";
113 enable-method = "psci";
115 next-level-cache = <&L2_0>;
117 compatible = "arm,arch-cache";
120 compatible = "arm,arch-cache";
126 compatible = "arm,armv8";
128 enable-method = "psci";
130 next-level-cache = <&L2_0>;
132 compatible = "arm,arch-cache";
135 compatible = "arm,arch-cache";
141 compatible = "arm,armv8";
143 enable-method = "psci";
145 next-level-cache = <&L2_1>;
147 compatible = "arm,arch-cache";
150 L1_I_100: l1-icache {
151 compatible = "arm,arch-cache";
153 L1_D_100: l1-dcache {
154 compatible = "arm,arch-cache";
160 compatible = "arm,armv8";
162 enable-method = "psci";
164 next-level-cache = <&L2_1>;
165 L1_I_101: l1-icache {
166 compatible = "arm,arch-cache";
168 L1_D_101: l1-dcache {
169 compatible = "arm,arch-cache";
175 compatible = "arm,armv8";
177 enable-method = "psci";
179 next-level-cache = <&L2_1>;
180 L1_I_102: l1-icache {
181 compatible = "arm,arch-cache";
183 L1_D_102: l1-dcache {
184 compatible = "arm,arch-cache";
190 compatible = "arm,armv8";
192 enable-method = "psci";
194 next-level-cache = <&L2_1>;
195 L1_I_103: l1-icache {
196 compatible = "arm,arch-cache";
198 L1_D_103: l1-dcache {
199 compatible = "arm,arch-cache";
244 compatible = "qcom,scm-msm8998", "qcom,scm";
249 compatible = "qcom,tcsr-mutex";
250 syscon = <&tcsr_mutex_regs 0 0x1000>;
255 compatible = "arm,psci-1.0";
260 compatible = "qcom,glink-rpm";
262 interrupts = <GIC_SPI 168 IRQ_TYPE_EDGE_RISING>;
263 qcom,rpm-msg-ram = <&rpm_msg_ram>;
264 mboxes = <&apcs_glb 0>;
266 rpm_requests: rpm-requests {
267 compatible = "qcom,rpm-msm8998";
268 qcom,glink-channels = "rpm_requests";
273 compatible = "qcom,smem";
274 memory-region = <&smem_mem>;
275 hwlocks = <&tcsr_mutex 3>;
279 compatible = "qcom,smp2p";
280 qcom,smem = <443>, <429>;
282 interrupts = <GIC_SPI 158 IRQ_TYPE_EDGE_RISING>;
284 mboxes = <&apcs_glb 10>;
286 qcom,local-pid = <0>;
287 qcom,remote-pid = <2>;
289 adsp_smp2p_out: master-kernel {
290 qcom,entry-name = "master-kernel";
291 #qcom,smem-state-cells = <1>;
294 adsp_smp2p_in: slave-kernel {
295 qcom,entry-name = "slave-kernel";
297 interrupt-controller;
298 #interrupt-cells = <2>;
303 compatible = "qcom,smp2p";
304 qcom,smem = <435>, <428>;
305 interrupts = <GIC_SPI 451 IRQ_TYPE_EDGE_RISING>;
306 mboxes = <&apcs_glb 14>;
307 qcom,local-pid = <0>;
308 qcom,remote-pid = <1>;
310 modem_smp2p_out: master-kernel {
311 qcom,entry-name = "master-kernel";
312 #qcom,smem-state-cells = <1>;
315 modem_smp2p_in: slave-kernel {
316 qcom,entry-name = "slave-kernel";
317 interrupt-controller;
318 #interrupt-cells = <2>;
323 compatible = "qcom,smp2p";
324 qcom,smem = <481>, <430>;
325 interrupts = <GIC_SPI 178 IRQ_TYPE_EDGE_RISING>;
326 mboxes = <&apcs_glb 26>;
327 qcom,local-pid = <0>;
328 qcom,remote-pid = <3>;
330 slpi_smp2p_out: master-kernel {
331 qcom,entry-name = "master-kernel";
332 #qcom,smem-state-cells = <1>;
335 slpi_smp2p_in: slave-kernel {
336 qcom,entry-name = "slave-kernel";
337 interrupt-controller;
338 #interrupt-cells = <2>;
344 polling-delay-passive = <250>;
345 polling-delay = <1000>;
347 thermal-sensors = <&tsens0 6>;
351 temperature = <75000>;
357 temperature = <110000>;
365 polling-delay-passive = <250>;
366 polling-delay = <1000>;
368 thermal-sensors = <&tsens0 7>;
372 temperature = <75000>;
378 temperature = <110000>;
386 polling-delay-passive = <250>;
387 polling-delay = <1000>;
389 thermal-sensors = <&tsens0 8>;
393 temperature = <75000>;
399 temperature = <110000>;
407 polling-delay-passive = <250>;
408 polling-delay = <1000>;
410 thermal-sensors = <&tsens0 9>;
414 temperature = <75000>;
420 temperature = <110000>;
428 polling-delay-passive = <250>;
429 polling-delay = <1000>;
431 thermal-sensors = <&tsens0 10>;
435 temperature = <75000>;
441 temperature = <110000>;
449 polling-delay-passive = <250>;
450 polling-delay = <1000>;
452 thermal-sensors = <&tsens0 11>;
456 temperature = <75000>;
462 temperature = <110000>;
470 polling-delay-passive = <250>;
471 polling-delay = <1000>;
473 thermal-sensors = <&tsens1 0>;
477 temperature = <75000>;
483 temperature = <110000>;
491 polling-delay-passive = <250>;
492 polling-delay = <1000>;
494 thermal-sensors = <&tsens1 1>;
498 temperature = <75000>;
504 temperature = <110000>;
512 polling-delay-passive = <250>;
513 polling-delay = <1000>;
515 thermal-sensors = <&tsens1 3>;
520 compatible = "arm,armv8-timer";
521 interrupts = <GIC_PPI 1 IRQ_TYPE_LEVEL_LOW>,
522 <GIC_PPI 2 IRQ_TYPE_LEVEL_LOW>,
523 <GIC_PPI 3 IRQ_TYPE_LEVEL_LOW>,
524 <GIC_PPI 0 IRQ_TYPE_LEVEL_LOW>;
528 #address-cells = <1>;
530 ranges = <0 0 0 0xffffffff>;
531 compatible = "simple-bus";
533 rpm_msg_ram: memory@68000 {
534 compatible = "qcom,rpm-msg-ram";
535 reg = <0x778000 0x7000>;
538 qfprom: qfprom@780000 {
539 compatible = "qcom,qfprom";
540 reg = <0x780000 0x621c>;
541 #address-cells = <1>;
545 gcc: clock-controller@100000 {
546 compatible = "qcom,gcc-msm8998";
549 #power-domain-cells = <1>;
550 reg = <0x100000 0xb0000>;
553 tlmm: pinctrl@3400000 {
554 compatible = "qcom,msm8998-pinctrl";
555 reg = <0x3400000 0xc00000>;
556 interrupts = <GIC_SPI 208 IRQ_TYPE_LEVEL_HIGH>;
559 interrupt-controller;
560 #interrupt-cells = <0x2>;
563 spmi_bus: spmi@800f000 {
564 compatible = "qcom,spmi-pmic-arb";
565 reg = <0x800f000 0x1000>,
566 <0x8400000 0x1000000>,
567 <0x9400000 0x1000000>,
568 <0xa400000 0x220000>,
570 reg-names = "core", "chnls", "obsrvr", "intr", "cnfg";
571 interrupt-names = "periph_irq";
572 interrupts = <GIC_SPI 326 IRQ_TYPE_LEVEL_HIGH>;
575 #address-cells = <2>;
577 interrupt-controller;
578 #interrupt-cells = <4>;
582 tsens0: thermal@10aa000 {
583 compatible = "qcom,msm8998-tsens", "qcom,tsens-v2";
584 reg = <0x10aa000 0x2000>;
586 #qcom,sensors = <12>;
587 #thermal-sensor-cells = <1>;
590 tsens1: thermal@10ad000 {
591 compatible = "qcom,msm8998-tsens", "qcom,tsens-v2";
592 reg = <0x10ad000 0x2000>;
595 #thermal-sensor-cells = <1>;
598 tcsr_mutex_regs: syscon@1f40000 {
599 compatible = "syscon";
600 reg = <0x1f40000 0x20000>;
603 apcs_glb: mailbox@9820000 {
604 compatible = "qcom,msm8998-apcs-hmss-global";
605 reg = <0x17911000 0x1000>;
610 sdhc2: sdhci@c0a4900 {
611 compatible = "qcom,sdhci-msm-v4";
612 reg = <0xc0a4900 0x314>, <0xc0a4000 0x800>;
613 reg-names = "hc_mem", "core_mem";
615 interrupts = <GIC_SPI 125 IRQ_TYPE_LEVEL_HIGH>,
616 <GIC_SPI 221 IRQ_TYPE_LEVEL_HIGH>;
617 interrupt-names = "hc_irq", "pwr_irq";
619 clock-names = "iface", "core", "xo";
620 clocks = <&gcc GCC_SDCC2_AHB_CLK>,
621 <&gcc GCC_SDCC2_APPS_CLK>,
627 blsp2_uart1: serial@c1b0000 {
628 compatible = "qcom,msm-uartdm-v1.4", "qcom,msm-uartdm";
629 reg = <0xc1b0000 0x1000>;
630 interrupts = <GIC_SPI 114 IRQ_TYPE_LEVEL_HIGH>;
631 clocks = <&gcc GCC_BLSP2_UART2_APPS_CLK>,
632 <&gcc GCC_BLSP2_AHB_CLK>;
633 clock-names = "core", "iface";
638 #address-cells = <1>;
641 compatible = "arm,armv7-timer-mem";
642 reg = <0x17920000 0x1000>;
646 interrupts = <GIC_SPI 8 IRQ_TYPE_LEVEL_HIGH>,
647 <GIC_SPI 7 IRQ_TYPE_LEVEL_HIGH>;
648 reg = <0x17921000 0x1000>,
654 interrupts = <GIC_SPI 9 IRQ_TYPE_LEVEL_HIGH>;
655 reg = <0x17923000 0x1000>;
661 interrupts = <GIC_SPI 10 IRQ_TYPE_LEVEL_HIGH>;
662 reg = <0x17924000 0x1000>;
668 interrupts = <GIC_SPI 11 IRQ_TYPE_LEVEL_HIGH>;
669 reg = <0x17925000 0x1000>;
675 interrupts = <GIC_SPI 12 IRQ_TYPE_LEVEL_HIGH>;
676 reg = <0x17926000 0x1000>;
682 interrupts = <GIC_SPI 13 IRQ_TYPE_LEVEL_HIGH>;
683 reg = <0x17927000 0x1000>;
689 interrupts = <GIC_SPI 14 IRQ_TYPE_LEVEL_HIGH>;
690 reg = <0x17928000 0x1000>;
695 intc: interrupt-controller@17a00000 {
696 compatible = "arm,gic-v3";
697 reg = <0x17a00000 0x10000>, /* GICD */
698 <0x17b00000 0x100000>; /* GICR * 8 */
699 #interrupt-cells = <3>;
700 #address-cells = <1>;
703 interrupt-controller;
704 #redistributor-regions = <1>;
705 redistributor-stride = <0x0 0x20000>;
706 interrupts = <GIC_PPI 9 IRQ_TYPE_LEVEL_HIGH>;
711 #include "msm8998-pins.dtsi"