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>
8 interrupt-parent = <&intc>;
10 qcom,msm-id = <292 0x0>;
18 device_type = "memory";
19 /* We expect the bootloader to fill in the reg */
29 reg = <0x0 0x85800000 0x0 0x800000>;
33 smem_mem: smem-mem@86000000 {
34 reg = <0x0 0x86000000 0x0 0x200000>;
39 reg = <0x0 0x86200000 0x0 0x2600000>;
44 compatible = "qcom,rmtfs-mem";
46 size = <0x0 0x200000>;
47 alloc-ranges = <0x0 0xa0000000 0x0 0x2000000>;
57 compatible = "fixed-clock";
59 clock-frequency = <19200000>;
63 compatible = "fixed-clock";
65 clock-frequency = <32764>;
75 compatible = "arm,armv8";
77 enable-method = "psci";
79 next-level-cache = <&L2_0>;
81 compatible = "arm,arch-cache";
85 compatible = "arm,arch-cache";
88 compatible = "arm,arch-cache";
94 compatible = "arm,armv8";
96 enable-method = "psci";
98 next-level-cache = <&L2_0>;
100 compatible = "arm,arch-cache";
103 compatible = "arm,arch-cache";
109 compatible = "arm,armv8";
111 enable-method = "psci";
113 next-level-cache = <&L2_0>;
115 compatible = "arm,arch-cache";
118 compatible = "arm,arch-cache";
124 compatible = "arm,armv8";
126 enable-method = "psci";
128 next-level-cache = <&L2_0>;
130 compatible = "arm,arch-cache";
133 compatible = "arm,arch-cache";
139 compatible = "arm,armv8";
141 enable-method = "psci";
143 next-level-cache = <&L2_1>;
145 compatible = "arm,arch-cache";
148 L1_I_100: l1-icache {
149 compatible = "arm,arch-cache";
151 L1_D_100: l1-dcache {
152 compatible = "arm,arch-cache";
158 compatible = "arm,armv8";
160 enable-method = "psci";
162 next-level-cache = <&L2_1>;
163 L1_I_101: l1-icache {
164 compatible = "arm,arch-cache";
166 L1_D_101: l1-dcache {
167 compatible = "arm,arch-cache";
173 compatible = "arm,armv8";
175 enable-method = "psci";
177 next-level-cache = <&L2_1>;
178 L1_I_102: l1-icache {
179 compatible = "arm,arch-cache";
181 L1_D_102: l1-dcache {
182 compatible = "arm,arch-cache";
188 compatible = "arm,armv8";
190 enable-method = "psci";
192 next-level-cache = <&L2_1>;
193 L1_I_103: l1-icache {
194 compatible = "arm,arch-cache";
196 L1_D_103: l1-dcache {
197 compatible = "arm,arch-cache";
242 compatible = "qcom,scm-msm8998";
247 compatible = "qcom,tcsr-mutex";
248 syscon = <&tcsr_mutex_regs 0 0x1000>;
253 compatible = "arm,psci-1.0";
258 compatible = "qcom,glink-rpm";
260 interrupts = <GIC_SPI 168 IRQ_TYPE_EDGE_RISING>;
261 qcom,rpm-msg-ram = <&rpm_msg_ram>;
262 mboxes = <&apcs_glb 0>;
264 rpm_requests: rpm-requests {
265 compatible = "qcom,rpm-msm8998";
266 qcom,glink-channels = "rpm_requests";
271 compatible = "qcom,smem";
272 memory-region = <&smem_mem>;
273 hwlocks = <&tcsr_mutex 3>;
277 compatible = "qcom,smp2p";
278 qcom,smem = <443>, <429>;
280 interrupts = <GIC_SPI 158 IRQ_TYPE_EDGE_RISING>;
282 mboxes = <&apcs_glb 10>;
284 qcom,local-pid = <0>;
285 qcom,remote-pid = <2>;
287 adsp_smp2p_out: master-kernel {
288 qcom,entry-name = "master-kernel";
289 #qcom,smem-state-cells = <1>;
292 adsp_smp2p_in: slave-kernel {
293 qcom,entry-name = "slave-kernel";
295 interrupt-controller;
296 #interrupt-cells = <2>;
301 compatible = "qcom,smp2p";
302 qcom,smem = <435>, <428>;
303 interrupts = <GIC_SPI 451 IRQ_TYPE_EDGE_RISING>;
304 mboxes = <&apcs_glb 14>;
305 qcom,local-pid = <0>;
306 qcom,remote-pid = <1>;
308 modem_smp2p_out: master-kernel {
309 qcom,entry-name = "master-kernel";
310 #qcom,smem-state-cells = <1>;
313 modem_smp2p_in: slave-kernel {
314 qcom,entry-name = "slave-kernel";
315 interrupt-controller;
316 #interrupt-cells = <2>;
321 compatible = "qcom,smp2p";
322 qcom,smem = <481>, <430>;
323 interrupts = <GIC_SPI 178 IRQ_TYPE_EDGE_RISING>;
324 mboxes = <&apcs_glb 26>;
325 qcom,local-pid = <0>;
326 qcom,remote-pid = <3>;
328 slpi_smp2p_out: master-kernel {
329 qcom,entry-name = "master-kernel";
330 #qcom,smem-state-cells = <1>;
333 slpi_smp2p_in: slave-kernel {
334 qcom,entry-name = "slave-kernel";
335 interrupt-controller;
336 #interrupt-cells = <2>;
342 polling-delay-passive = <250>;
343 polling-delay = <1000>;
345 thermal-sensors = <&tsens0 6>;
349 temperature = <75000>;
355 temperature = <110000>;
363 polling-delay-passive = <250>;
364 polling-delay = <1000>;
366 thermal-sensors = <&tsens0 7>;
370 temperature = <75000>;
376 temperature = <110000>;
384 polling-delay-passive = <250>;
385 polling-delay = <1000>;
387 thermal-sensors = <&tsens0 8>;
391 temperature = <75000>;
397 temperature = <110000>;
405 polling-delay-passive = <250>;
406 polling-delay = <1000>;
408 thermal-sensors = <&tsens0 9>;
412 temperature = <75000>;
418 temperature = <110000>;
426 polling-delay-passive = <250>;
427 polling-delay = <1000>;
429 thermal-sensors = <&tsens0 10>;
433 temperature = <75000>;
439 temperature = <110000>;
447 polling-delay-passive = <250>;
448 polling-delay = <1000>;
450 thermal-sensors = <&tsens0 11>;
454 temperature = <75000>;
460 temperature = <110000>;
468 polling-delay-passive = <250>;
469 polling-delay = <1000>;
471 thermal-sensors = <&tsens1 0>;
475 temperature = <75000>;
481 temperature = <110000>;
489 polling-delay-passive = <250>;
490 polling-delay = <1000>;
492 thermal-sensors = <&tsens1 1>;
496 temperature = <75000>;
502 temperature = <110000>;
510 polling-delay-passive = <250>;
511 polling-delay = <1000>;
513 thermal-sensors = <&tsens1 3>;
518 compatible = "arm,armv8-timer";
519 interrupts = <GIC_PPI 1 IRQ_TYPE_LEVEL_LOW>,
520 <GIC_PPI 2 IRQ_TYPE_LEVEL_LOW>,
521 <GIC_PPI 3 IRQ_TYPE_LEVEL_LOW>,
522 <GIC_PPI 0 IRQ_TYPE_LEVEL_LOW>;
526 #address-cells = <1>;
528 ranges = <0 0 0 0xffffffff>;
529 compatible = "simple-bus";
531 rpm_msg_ram: memory@68000 {
532 compatible = "qcom,rpm-msg-ram";
533 reg = <0x778000 0x7000>;
536 qfprom: qfprom@780000 {
537 compatible = "qcom,qfprom";
538 reg = <0x780000 0x621c>;
539 #address-cells = <1>;
543 gcc: clock-controller@100000 {
544 compatible = "qcom,gcc-msm8998";
547 #power-domain-cells = <1>;
548 reg = <0x100000 0xb0000>;
551 tlmm: pinctrl@3400000 {
552 compatible = "qcom,msm8998-pinctrl";
553 reg = <0x3400000 0xc00000>;
554 interrupts = <GIC_SPI 208 IRQ_TYPE_LEVEL_HIGH>;
557 interrupt-controller;
558 #interrupt-cells = <0x2>;
561 spmi_bus: spmi@800f000 {
562 compatible = "qcom,spmi-pmic-arb";
563 reg = <0x800f000 0x1000>,
564 <0x8400000 0x1000000>,
565 <0x9400000 0x1000000>,
566 <0xa400000 0x220000>,
568 reg-names = "core", "chnls", "obsrvr", "intr", "cnfg";
569 interrupt-names = "periph_irq";
570 interrupts = <GIC_SPI 326 IRQ_TYPE_LEVEL_HIGH>;
573 #address-cells = <2>;
575 interrupt-controller;
576 #interrupt-cells = <4>;
580 tsens0: thermal@10aa000 {
581 compatible = "qcom,msm8998-tsens", "qcom,tsens-v2";
582 reg = <0x10aa000 0x2000>;
584 #qcom,sensors = <12>;
585 #thermal-sensor-cells = <1>;
588 tsens1: thermal@10ad000 {
589 compatible = "qcom,msm8998-tsens", "qcom,tsens-v2";
590 reg = <0x10ad000 0x2000>;
593 #thermal-sensor-cells = <1>;
596 tcsr_mutex_regs: syscon@1f40000 {
597 compatible = "syscon";
598 reg = <0x1f40000 0x20000>;
601 apcs_glb: mailbox@9820000 {
602 compatible = "qcom,msm8998-apcs-hmss-global";
603 reg = <0x17911000 0x1000>;
608 blsp2_uart1: serial@c1b0000 {
609 compatible = "qcom,msm-uartdm-v1.4", "qcom,msm-uartdm";
610 reg = <0xc1b0000 0x1000>;
611 interrupts = <GIC_SPI 114 IRQ_TYPE_LEVEL_HIGH>;
612 clocks = <&gcc GCC_BLSP2_UART2_APPS_CLK>,
613 <&gcc GCC_BLSP2_AHB_CLK>;
614 clock-names = "core", "iface";
619 #address-cells = <1>;
622 compatible = "arm,armv7-timer-mem";
623 reg = <0x17920000 0x1000>;
627 interrupts = <GIC_SPI 8 IRQ_TYPE_LEVEL_HIGH>,
628 <GIC_SPI 7 IRQ_TYPE_LEVEL_HIGH>;
629 reg = <0x17921000 0x1000>,
635 interrupts = <GIC_SPI 9 IRQ_TYPE_LEVEL_HIGH>;
636 reg = <0x17923000 0x1000>;
642 interrupts = <GIC_SPI 10 IRQ_TYPE_LEVEL_HIGH>;
643 reg = <0x17924000 0x1000>;
649 interrupts = <GIC_SPI 11 IRQ_TYPE_LEVEL_HIGH>;
650 reg = <0x17925000 0x1000>;
656 interrupts = <GIC_SPI 12 IRQ_TYPE_LEVEL_HIGH>;
657 reg = <0x17926000 0x1000>;
663 interrupts = <GIC_SPI 13 IRQ_TYPE_LEVEL_HIGH>;
664 reg = <0x17927000 0x1000>;
670 interrupts = <GIC_SPI 14 IRQ_TYPE_LEVEL_HIGH>;
671 reg = <0x17928000 0x1000>;
676 intc: interrupt-controller@17a00000 {
677 compatible = "arm,gic-v3";
678 reg = <0x17a00000 0x10000>, /* GICD */
679 <0x17b00000 0x100000>; /* GICR * 8 */
680 #interrupt-cells = <3>;
681 #address-cells = <1>;
684 interrupt-controller;
685 #redistributor-regions = <1>;
686 redistributor-stride = <0x0 0x20000>;
687 interrupts = <GIC_PPI 9 IRQ_TYPE_LEVEL_HIGH>;