1 // SPDX-License-Identifier: BSD-3-Clause
3 * Copyright (c) 2016-2022, AngeloGioacchino Del Regno
4 * <angelogioacchino.delregno@collabora.com>
5 * Copyright (c) 2022, Konrad Dybcio <konrad.dybcio@somainline.org>
6 * Copyright (c) 2022, Marijn Suijten <marijn.suijten@somainline.org>
9 #include <dt-bindings/clock/qcom,gcc-msm8976.h>
10 #include <dt-bindings/clock/qcom,rpmcc.h>
11 #include <dt-bindings/gpio/gpio.h>
12 #include <dt-bindings/interrupt-controller/arm-gic.h>
13 #include <dt-bindings/interrupt-controller/irq.h>
14 #include <dt-bindings/power/qcom-rpmpd.h>
17 interrupt-parent = <&intc>;
25 compatible = "fixed-clock";
36 compatible = "arm,cortex-a53";
38 enable-method = "psci";
39 cpu-idle-states = <&little_cpu_sleep_0>;
40 capacity-dmips-mhz = <573>;
41 next-level-cache = <&l2_0>;
47 compatible = "arm,cortex-a53";
49 enable-method = "psci";
50 cpu-idle-states = <&little_cpu_sleep_0>;
51 capacity-dmips-mhz = <573>;
52 next-level-cache = <&l2_0>;
58 compatible = "arm,cortex-a53";
60 enable-method = "psci";
61 cpu-idle-states = <&little_cpu_sleep_0>;
62 capacity-dmips-mhz = <573>;
63 next-level-cache = <&l2_0>;
69 compatible = "arm,cortex-a53";
71 enable-method = "psci";
72 cpu-idle-states = <&little_cpu_sleep_0>;
73 capacity-dmips-mhz = <573>;
74 next-level-cache = <&l2_0>;
80 compatible = "arm,cortex-a72";
82 enable-method = "psci";
83 cpu-idle-states = <&big_cpu_sleep_0 &big_cpu_sleep_1>;
84 capacity-dmips-mhz = <1024>;
85 next-level-cache = <&l2_1>;
91 compatible = "arm,cortex-a72";
93 enable-method = "psci";
94 cpu-idle-states = <&big_cpu_sleep_0 &big_cpu_sleep_1>;
95 capacity-dmips-mhz = <1024>;
96 next-level-cache = <&l2_1>;
102 compatible = "arm,cortex-a72";
104 enable-method = "psci";
105 cpu-idle-states = <&big_cpu_sleep_0 &big_cpu_sleep_1>;
106 capacity-dmips-mhz = <1024>;
107 next-level-cache = <&l2_1>;
108 #cooling-cells = <2>;
113 compatible = "arm,cortex-a72";
115 enable-method = "psci";
116 cpu-idle-states = <&big_cpu_sleep_0 &big_cpu_sleep_1>;
117 capacity-dmips-mhz = <1024>;
118 next-level-cache = <&l2_1>;
119 #cooling-cells = <2>;
161 entry-method = "psci";
163 little_cpu_sleep_0: cpu-sleep-0-0 {
164 compatible = "arm,idle-state";
165 idle-state-name = "little-power-collapse";
166 arm,psci-suspend-param = <0x40000003>;
167 entry-latency-us = <181>;
168 exit-latency-us = <149>;
169 min-residency-us = <703>;
173 big_cpu_sleep_0: cpu-sleep-1-0 {
174 compatible = "arm,idle-state";
175 idle-state-name = "big-retention";
176 arm,psci-suspend-param = <0x00000002>;
177 entry-latency-us = <142>;
178 exit-latency-us = <99>;
179 min-residency-us = <242>;
182 big_cpu_sleep_1: cpu-sleep-1-1 {
183 compatible = "arm,idle-state";
184 idle-state-name = "big-power-collapse";
185 arm,psci-suspend-param = <0x40000003>;
186 entry-latency-us = <158>;
187 exit-latency-us = <144>;
188 min-residency-us = <863>;
194 compatible = "cache";
200 compatible = "cache";
208 compatible = "qcom,scm-msm8976", "qcom,scm";
209 clocks = <&gcc GCC_CRYPTO_CLK>,
210 <&gcc GCC_CRYPTO_AXI_CLK>,
211 <&gcc GCC_CRYPTO_AHB_CLK>;
212 clock-names = "core", "bus", "iface";
215 qcom,dload-mode = <&tcsr 0x6100>;
220 device_type = "memory";
221 /* We expect the bootloader to fill in the size */
222 reg = <0x0 0x80000000 0x0 0x0>;
226 compatible = "arm,armv8-pmuv3";
227 interrupts = <GIC_PPI 7 (GIC_CPU_MASK_SIMPLE(8) | IRQ_TYPE_LEVEL_HIGH)>;
231 compatible = "arm,psci-1.0";
236 #address-cells = <2>;
240 ext-region@85b00000 {
241 reg = <0x0 0x85b00000 0x0 0x500000>;
246 compatible = "qcom,smem";
247 reg = <0x0 0x86300000 0x0 0x100000>;
250 hwlocks = <&tcsr_mutex 3>;
251 qcom,rpm-msg-ram = <&rpm_msg_ram>;
255 reg = <0x0 0x86400000 0x0 0x800000>;
259 mpss_mem: mpss@86c00000 {
260 reg = <0x0 0x86c00000 0x0 0x5600000>;
264 lpass_mem: lpass@8c200000 {
265 reg = <0x0 0x8c200000 0x0 0x1800000>;
269 venus_mem: memory@8da00000 {
270 reg = <0x0 0x8da00000 0x0 0x2600000>;
275 reg = <0x0 0x8dd00000 0x0 0x1400000>;
281 compatible = "qcom,smp2p";
282 interrupts = <GIC_SPI 291 IRQ_TYPE_EDGE_RISING>;
283 qcom,ipc = <&apcs 8 10>;
285 qcom,local-pid = <0>;
286 qcom,remote-pid = <2>;
287 qcom,smem = <443>, <429>;
289 adsp_smp2p_out: master-kernel {
290 qcom,entry-name = "master-kernel";
292 #qcom,smem-state-cells = <1>;
295 adsp_smp2p_in: slave-kernel {
296 qcom,entry-name = "slave-kernel";
298 interrupt-controller;
299 #interrupt-cells = <2>;
304 compatible = "qcom,smp2p";
305 interrupts = <GIC_SPI 27 IRQ_TYPE_EDGE_RISING>;
306 qcom,ipc = <&apcs 8 13>;
308 qcom,local-pid = <0>;
309 qcom,remote-pid = <1>;
310 qcom,smem = <435>, <428>;
312 modem_smp2p_out: master-kernel {
313 qcom,entry-name = "master-kernel";
315 #qcom,smem-state-cells = <1>;
318 modem_smp2p_in: slave-kernel {
319 qcom,entry-name = "slave-kernel";
321 interrupt-controller;
322 #interrupt-cells = <2>;
327 compatible = "qcom,smp2p";
328 interrupts = <GIC_SPI 143 IRQ_TYPE_EDGE_RISING>;
329 qcom,ipc = <&apcs 8 17>;
331 qcom,local-pid = <0>;
332 qcom,remote-pid = <4>;
333 qcom,smem = <451>, <431>;
335 wcnss_smp2p_out: master-kernel {
336 qcom,entry-name = "master-kernel";
338 #qcom,smem-state-cells = <1>;
341 wcnss_smp2p_in: slave-kernel {
342 qcom,entry-name = "slave-kernel";
344 interrupt-controller;
345 #interrupt-cells = <2>;
350 compatible = "qcom,smd";
353 interrupts = <GIC_SPI 168 IRQ_TYPE_EDGE_RISING>;
354 qcom,ipc = <&apcs 8 0>;
355 qcom,smd-edge = <15>;
357 rpm_requests: rpm-requests {
358 compatible = "qcom,rpm-msm8976";
359 qcom,smd-channels = "rpm_requests";
361 rpmcc: clock-controller {
362 compatible = "qcom,rpmcc-msm8976", "qcom,rpmcc";
363 clocks = <&xo_board>;
368 rpmpd: power-controller {
369 compatible = "qcom,msm8976-rpmpd";
370 #power-domain-cells = <1>;
371 operating-points-v2 = <&rpmpd_opp_table>;
373 rpmpd_opp_table: opp-table {
374 compatible = "operating-points-v2";
376 rpmpd_opp_ret: opp1 {
377 opp-level = <RPM_SMD_LEVEL_RETENTION>;
380 rpmpd_opp_ret_plus: opp2 {
381 opp-level = <RPM_SMD_LEVEL_RETENTION_PLUS>;
384 rpmpd_opp_min_svs: opp3 {
385 opp-level = <RPM_SMD_LEVEL_MIN_SVS>;
388 rpmpd_opp_low_svs: opp4 {
389 opp-level = <RPM_SMD_LEVEL_LOW_SVS>;
392 rpmpd_opp_svs: opp5 {
393 opp-level = <RPM_SMD_LEVEL_SVS>;
396 rpmpd_opp_svs_plus: opp6 {
397 opp-level = <RPM_SMD_LEVEL_SVS_PLUS>;
400 rpmpd_opp_nom: opp7 {
401 opp-level = <RPM_SMD_LEVEL_NOM>;
404 rpmpd_opp_nom_plus: opp8 {
405 opp-level = <RPM_SMD_LEVEL_NOM_PLUS>;
408 rpmpd_opp_turbo: opp9 {
409 opp-level = <RPM_SMD_LEVEL_TURBO>;
412 rpmpd_opp_turbo_no_cpr: opp10 {
413 opp-level = <RPM_SMD_LEVEL_TURBO_NO_CPR>;
416 rpmpd_opp_turbo_high: opp111 {
417 opp-level = <RPM_SMD_LEVEL_TURBO_HIGH>;
426 compatible = "qcom,smsm";
428 #address-cells = <1>;
431 qcom,ipc-1 = <&apcs 8 12>;
432 qcom,ipc-2 = <&apcs 8 9>;
433 qcom,ipc-3 = <&apcs 8 18>;
437 #qcom,smem-state-cells = <1>;
440 hexagon_smsm: hexagon@1 {
442 interrupts = <0 290 IRQ_TYPE_EDGE_RISING>;
444 interrupt-controller;
445 #interrupt-cells = <2>;
448 wcnss_smsm: wcnss@6 {
450 interrupts = <GIC_SPI 144 IRQ_TYPE_EDGE_RISING>;
452 interrupt-controller;
453 #interrupt-cells = <2>;
458 #address-cells = <1>;
460 ranges = <0 0 0 0xffffffff>;
461 compatible = "simple-bus";
464 compatible = "qcom,prng";
465 reg = <0x00022000 0x140>;
466 clocks = <&gcc GCC_PRNG_AHB_CLK>;
467 clock-names = "core";
470 rpm_msg_ram: sram@60000 {
471 compatible = "qcom,rpm-msg-ram";
472 reg = <0x00060000 0x8000>;
475 usb_hs_phy: phy@6c000 {
476 compatible = "qcom,usb-hs-28nm-femtophy";
477 reg = <0x0006c000 0x200>;
479 clocks = <&rpmcc RPM_SMD_XO_CLK_SRC>,
480 <&gcc GCC_USB_HS_PHY_CFG_AHB_CLK>,
481 <&gcc GCC_USB2A_PHY_SLEEP_CLK>;
482 clock-names = "ref", "ahb", "sleep";
483 resets = <&gcc RST_QUSB2_PHY_BCR>,
484 <&gcc RST_USB2_HS_PHY_ONLY_BCR>;
485 reset-names = "phy", "por";
489 qfprom: qfprom@a4000 {
490 compatible = "qcom,msm8976-qfprom", "qcom,qfprom";
491 reg = <0x000a4000 0x1000>;
492 #address-cells = <1>;
495 tsens_base1: base1@218 {
500 tsens_s0_p1: s0-p1@219 {
505 tsens_s0_p2: s0-p2@219 {
510 tsens_s1_p1: s1-p1@21a {
515 tsens_s1_p2: s1-p2@21b {
520 tsens_s2_p1: s2-p1@21c {
525 tsens_s2_p2: s2-p2@21c {
530 tsens_s3_p1: s3-p1@21d {
535 tsens_s3_p2: s3-p2@21e {
540 tsens_base2: base2@220 {
545 tsens_s4_p1: s4-p1@221 {
550 tsens_s4_p2: s4-p2@221 {
555 tsens_s5_p1: s5-p1@222 {
560 tsens_s5_p2: s5-p2@223 {
565 tsens_s6_p1: s6-p1@224 {
570 tsens_s6_p2: s6-p2@224 {
575 tsens_s7_p1: s7-p1@225 {
580 tsens_s7_p2: s7-p2@226 {
585 tsens_mode: mode@228 {
590 tsens_s8_p1: s8-p1@228 {
595 tsens_s8_p2: s8-p2@229 {
600 tsens_s9_p1: s9-p1@229 {
605 tsens_s9_p2: s9-p2@22a {
610 tsens_s10_p1: s10-p1@22b {
615 tsens_s10_p2: s10-p2@22c {
621 tsens: thermal-sensor@4a9000 {
622 compatible = "qcom,msm8976-tsens", "qcom,tsens-v1";
623 reg = <0x004a9000 0x1000>, /* TM */
624 <0x004a8000 0x1000>; /* SROT */
625 interrupts = <GIC_SPI 184 IRQ_TYPE_LEVEL_HIGH>;
626 interrupt-names = "uplow";
627 nvmem-cells = <&tsens_mode>,
628 <&tsens_base1>, <&tsens_base2>,
629 <&tsens_s0_p1>, <&tsens_s0_p2>,
630 <&tsens_s1_p1>, <&tsens_s1_p2>,
631 <&tsens_s2_p1>, <&tsens_s2_p2>,
632 <&tsens_s3_p1>, <&tsens_s3_p2>,
633 <&tsens_s4_p1>, <&tsens_s4_p2>,
634 <&tsens_s5_p1>, <&tsens_s5_p2>,
635 <&tsens_s6_p1>, <&tsens_s6_p2>,
636 <&tsens_s7_p1>, <&tsens_s7_p2>,
637 <&tsens_s8_p1>, <&tsens_s8_p2>,
638 <&tsens_s9_p1>, <&tsens_s9_p2>,
639 <&tsens_s10_p1>, <&tsens_s10_p2>;
640 nvmem-cell-names = "mode",
653 #qcom,sensors = <11>;
654 #thermal-sensor-cells = <1>;
657 tlmm: pinctrl@1000000 {
658 compatible = "qcom,msm8976-pinctrl";
659 reg = <0x01000000 0x300000>;
660 interrupts = <GIC_SPI 208 IRQ_TYPE_LEVEL_HIGH>;
663 gpio-ranges = <&tlmm 0 0 145>;
664 interrupt-controller;
665 #interrupt-cells = <2>;
667 spi1_default: spi0-default-state {
669 pins = "gpio0", "gpio1", "gpio3";
670 function = "blsp_spi1";
671 drive-strength = <12>;
677 function = "blsp_spi1";
678 drive-strength = <2>;
683 spi1_sleep: spi0-sleep-state {
685 pins = "gpio0", "gpio1", "gpio3";
687 drive-strength = <2>;
694 drive-strength = <2>;
699 blsp1_i2c2_default: blsp1-i2c2-default-state {
700 pins = "gpio6", "gpio7";
701 function = "blsp_i2c2";
702 drive-strength = <2>;
706 blsp1_i2c2_sleep: blsp1-i2c2-sleep-state {
707 pins = "gpio6", "gpio7";
709 drive-strength = <2>;
713 blsp1_i2c4_default: blsp1-i2c4-default-state {
714 pins = "gpio14", "gpio15";
715 function = "blsp_i2c4";
716 drive-strength = <2>;
720 blsp1_i2c4_sleep: blsp1-i2c4-sleep-state {
721 pins = "gpio14", "gpio15";
723 drive-strength = <2>;
727 blsp2_uart2_active: blsp2-uart2-active-state {
728 pins = "gpio20", "gpio21";
729 function = "blsp_uart6";
730 drive-strength = <4>;
734 blsp2_uart2_sleep: blsp2-uart2-sleep-state {
735 pins = "gpio20", "gpio21";
737 drive-strength = <2>;
741 /* 4 (not 6!) interfaces per QUP, BLSP2 indexes are numbered (n)+4 */
742 blsp2_i2c2_default: blsp2-i2c2-default-state {
743 pins = "gpio22", "gpio23";
744 function = "blsp_i2c6";
745 drive-strength = <2>;
749 blsp2_i2c2_sleep: blsp2-i2c2-sleep-state {
750 pins = "gpio22", "gpio23";
752 drive-strength = <2>;
756 blsp2_i2c4_default: blsp2-i2c4-default-state {
757 pins = "gpio18", "gpio19";
758 function = "blsp_i2c8";
759 drive-strength = <2>;
763 blsp2_i2c4_sleep: blsp2-i2c4-sleep-state {
764 pins = "gpio18", "gpio19";
766 drive-strength = <2>;
771 gcc: clock-controller@1800000 {
772 compatible = "qcom,gcc-msm8976";
773 reg = <0x01800000 0x80000>;
776 #power-domain-cells = <1>;
778 assigned-clocks = <&gcc GPLL3>;
779 assigned-clock-rates = <1100000000>;
781 clocks = <&rpmcc RPM_SMD_XO_CLK_SRC>,
782 <&rpmcc RPM_SMD_XO_A_CLK_SRC>,
795 tcsr_mutex: hwlock@1905000 {
796 compatible = "qcom,tcsr-mutex";
797 reg = <0x01905000 0x20000>;
801 tcsr: syscon@1937000 {
802 compatible = "qcom,msm8976-tcsr", "syscon";
803 reg = <0x01937000 0x30000>;
806 spmi_bus: spmi@200f000 {
807 compatible = "qcom,spmi-pmic-arb";
808 reg = <0x0200f000 0x1000>,
809 <0x02400000 0x800000>,
810 <0x02c00000 0x800000>,
811 <0x03800000 0x200000>,
813 reg-names = "core", "chnls", "obsrvr", "intr", "cnfg";
814 interrupts = <GIC_SPI 190 IRQ_TYPE_LEVEL_HIGH>;
815 interrupt-names = "periph_irq";
819 #address-cells = <2>;
821 interrupt-controller;
822 #interrupt-cells = <4>;
825 sdhc_1: mmc@7824000 {
826 compatible = "qcom,msm8976-sdhci", "qcom,sdhci-msm-v4";
827 reg = <0x07824900 0x500>, <0x07824000 0x800>;
828 reg-names = "hc", "core";
830 interrupts = <GIC_SPI 123 IRQ_TYPE_LEVEL_HIGH>,
831 <GIC_SPI 138 IRQ_TYPE_LEVEL_HIGH>;
832 interrupt-names = "hc_irq", "pwr_irq";
834 clocks = <&gcc GCC_SDCC1_AHB_CLK>,
835 <&gcc GCC_SDCC1_APPS_CLK>,
836 <&rpmcc RPM_SMD_XO_CLK_SRC>;
837 clock-names = "iface", "core", "xo";
841 sdhc_2: mmc@7864000 {
842 compatible = "qcom,msm8976-sdhci", "qcom,sdhci-msm-v4";
843 reg = <0x07864900 0x11c>, <0x07864000 0x800>;
844 reg-names = "hc", "core";
846 interrupts = <GIC_SPI 125 IRQ_TYPE_LEVEL_HIGH>,
847 <GIC_SPI 221 IRQ_TYPE_LEVEL_HIGH>;
848 interrupt-names = "hc_irq", "pwr_irq";
850 clocks = <&gcc GCC_SDCC2_AHB_CLK>,
851 <&gcc GCC_SDCC2_APPS_CLK>,
852 <&rpmcc RPM_SMD_XO_CLK_SRC>;
853 clock-names = "iface", "core", "xo";
857 blsp1_dma: dma-controller@7884000 {
858 compatible = "qcom,bam-v1.7.0";
859 reg = <0x07884000 0x1f000>;
860 interrupts = <GIC_SPI 238 IRQ_TYPE_LEVEL_HIGH>;
861 clocks = <&gcc GCC_BLSP1_AHB_CLK>;
862 clock-names = "bam_clk";
867 blsp1_uart1: serial@78af000 {
868 compatible = "qcom,msm-uartdm-v1.4", "qcom,msm-uartdm";
869 reg = <0x078af000 0x200>;
870 interrupts = <GIC_SPI 107 IRQ_TYPE_LEVEL_HIGH>;
871 clocks = <&gcc GCC_BLSP1_UART1_APPS_CLK>, <&gcc GCC_BLSP1_AHB_CLK>;
872 clock-names = "core", "iface";
873 dmas = <&blsp1_dma 0>, <&blsp1_dma 1>;
874 dma-names = "tx", "rx";
878 blsp1_uart2: serial@78b0000 {
879 compatible = "qcom,msm-uartdm-v1.4", "qcom,msm-uartdm";
880 reg = <0x078b0000 0x200>;
881 interrupts = <GIC_SPI 108 IRQ_TYPE_LEVEL_HIGH>;
882 clocks = <&gcc GCC_BLSP1_UART2_APPS_CLK>, <&gcc GCC_BLSP1_AHB_CLK>;
883 clock-names = "core", "iface";
884 dmas = <&blsp1_dma 2>, <&blsp1_dma 3>;
885 dma-names = "tx", "rx";
889 blsp1_spi1: spi@78b5000 {
890 compatible = "qcom,spi-qup-v2.2.1";
891 reg = <0x078b5000 0x500>;
892 interrupts = <GIC_SPI 95 IRQ_TYPE_LEVEL_HIGH>;
893 clocks = <&gcc GCC_BLSP1_QUP1_SPI_APPS_CLK>, <&gcc GCC_BLSP1_AHB_CLK>;
894 clock-names = "core", "iface";
895 dmas = <&blsp1_dma 4>, <&blsp1_dma 5>;
896 dma-names = "tx", "rx";
897 pinctrl-names = "default", "sleep";
898 pinctrl-0 = <&spi1_default>;
899 pinctrl-1 = <&spi1_sleep>;
900 #address-cells = <1>;
905 blsp1_i2c2: i2c@78b6000 {
906 compatible = "qcom,i2c-qup-v2.2.1";
907 reg = <0x078b6000 0x500>;
908 interrupts = <GIC_SPI 96 IRQ_TYPE_LEVEL_HIGH>;
909 clocks = <&gcc GCC_BLSP1_QUP2_I2C_APPS_CLK>, <&gcc GCC_BLSP1_AHB_CLK>;
910 clock-names = "core", "iface";
911 clock-frequency = <400000>;
912 dmas = <&blsp1_dma 6>, <&blsp1_dma 7>;
913 dma-names = "tx", "rx";
914 pinctrl-names = "default", "sleep";
915 pinctrl-0 = <&blsp1_i2c2_default>;
916 pinctrl-1 = <&blsp1_i2c2_default>;
917 #address-cells = <1>;
922 blsp1_i2c4: i2c@78b8000 {
923 compatible = "qcom,i2c-qup-v2.2.1";
924 reg = <0x078b8000 0x500>;
925 interrupts = <GIC_SPI 98 IRQ_TYPE_LEVEL_HIGH>;
926 clocks = <&gcc GCC_BLSP1_QUP4_I2C_APPS_CLK>, <&gcc GCC_BLSP1_AHB_CLK>;
927 clock-names = "core", "iface";
928 clock-frequency = <400000>;
929 dmas = <&blsp1_dma 10>, <&blsp1_dma 11>;
930 dma-names = "tx", "rx";
931 pinctrl-names = "default", "sleep";
932 pinctrl-0 = <&blsp1_i2c4_default>;
933 pinctrl-1 = <&blsp1_i2c4_sleep>;
934 #address-cells = <1>;
940 compatible = "qcom,ci-hdrc";
941 reg = <0x078db000 0x200>,
943 interrupts = <GIC_SPI 134 IRQ_TYPE_LEVEL_HIGH>,
944 <GIC_SPI 140 IRQ_TYPE_LEVEL_HIGH>;
945 clocks = <&gcc GCC_USB_HS_AHB_CLK>, <&gcc GCC_USB_HS_SYSTEM_CLK>;
946 clock-names = "iface", "core";
947 assigned-clocks = <&gcc GCC_USB_HS_SYSTEM_CLK>;
948 assigned-clock-rates = <80000000>;
949 resets = <&gcc RST_USB_HS_BCR>;
950 reset-names = "core";
951 ahb-burst-config = <0>;
952 dr_mode = "peripheral";
954 phy-names = "usb-phy";
955 phys = <&usb_hs_phy>;
960 sdhc_3: mmc@7a24000 {
961 compatible = "qcom,msm8976-sdhci", "qcom,sdhci-msm-v4";
962 reg = <0x07a24900 0x11c>, <0x07a24000 0x800>;
963 reg-names = "hc", "core";
965 interrupts = <GIC_SPI 295 IRQ_TYPE_LEVEL_HIGH>,
966 <GIC_SPI 297 IRQ_TYPE_LEVEL_HIGH>;
967 interrupt-names = "hc_irq", "pwr_irq";
969 clocks = <&gcc GCC_SDCC3_AHB_CLK>,
970 <&gcc GCC_SDCC3_APPS_CLK>,
971 <&rpmcc RPM_SMD_XO_CLK_SRC>;
972 clock-names = "iface", "core", "xo";
977 blsp2_dma: dma-controller@7ac4000 {
978 compatible = "qcom,bam-v1.7.0";
979 reg = <0x07ac4000 0x1f000>;
980 interrupts = <GIC_SPI 239 IRQ_TYPE_LEVEL_HIGH>;
981 clocks = <&gcc GCC_BLSP2_AHB_CLK>;
982 clock-names = "bam_clk";
987 blsp2_uart2: serial@7af0000 {
988 compatible = "qcom,msm-uartdm-v1.4", "qcom,msm-uartdm";
989 reg = <0x07af0000 0x200>;
990 interrupts = <GIC_SPI 307 IRQ_TYPE_LEVEL_HIGH>;
991 clocks = <&gcc GCC_BLSP2_UART2_APPS_CLK>, <&gcc GCC_BLSP2_AHB_CLK>;
992 clock-names = "core", "iface";
993 dmas = <&blsp2_dma 0>, <&blsp2_dma 1>;
994 dma-names = "tx", "rx";
998 blsp2_i2c2: i2c@7af6000 {
999 compatible = "qcom,i2c-qup-v2.2.1";
1000 reg = <0x07af6000 0x600>;
1001 interrupts = <GIC_SPI 300 IRQ_TYPE_LEVEL_HIGH>;
1002 clocks = <&gcc GCC_BLSP2_QUP2_I2C_APPS_CLK>, <&gcc GCC_BLSP2_AHB_CLK>;
1003 clock-names = "core", "iface";
1004 clock-frequency = <400000>;
1005 dmas = <&blsp2_dma 6>, <&blsp2_dma 7>;
1006 dma-names = "tx", "rx";
1007 pinctrl-names = "default", "sleep";
1008 pinctrl-0 = <&blsp2_i2c2_default>;
1009 pinctrl-1 = <&blsp2_i2c2_sleep>;
1010 #address-cells = <1>;
1012 status = "disabled";
1015 blsp2_i2c4: i2c@7af8000 {
1016 compatible = "qcom,i2c-qup-v2.2.1";
1017 reg = <0x07af8000 0x600>;
1018 interrupts = <GIC_SPI 302 IRQ_TYPE_LEVEL_HIGH>;
1019 clocks = <&gcc GCC_BLSP2_QUP4_I2C_APPS_CLK>, <&gcc GCC_BLSP2_AHB_CLK>;
1020 clock-names = "core", "iface";
1021 clock-frequency = <400000>;
1022 dmas = <&blsp2_dma 10>, <&blsp2_dma 11>;
1023 dma-names = "tx", "rx";
1024 pinctrl-names = "default", "sleep";
1025 pinctrl-0 = <&blsp2_i2c4_default>;
1026 pinctrl-1 = <&blsp2_i2c4_sleep>;
1027 #address-cells = <1>;
1029 status = "disabled";
1032 intc: interrupt-controller@b000000 {
1033 compatible = "qcom,msm-qgic2";
1034 reg = <0x0b000000 0x1000>, <0x0b002000 0x1000>;
1035 interrupt-controller;
1036 #interrupt-cells = <3>;
1039 apcs: mailbox@b011000 {
1040 compatible = "qcom,msm8976-apcs-kpss-global",
1041 "qcom,msm8994-apcs-kpss-global", "syscon";
1042 reg = <0x0b011000 0x1000>;
1047 compatible = "arm,armv7-timer-mem";
1048 reg = <0x0b120000 0x1000>;
1049 #address-cells = <1>;
1052 clock-frequency = <19200000>;
1055 reg = <0x0b121000 0x1000>, <0x0b122000 0x1000>;
1056 interrupts = <GIC_SPI 8 IRQ_TYPE_LEVEL_HIGH>,
1057 <GIC_SPI 7 IRQ_TYPE_LEVEL_HIGH>;
1062 reg = <0x0b123000 0x1000>;
1063 interrupts = <GIC_SPI 9 IRQ_TYPE_LEVEL_HIGH>;
1065 status = "disabled";
1069 reg = <0x0b124000 0x1000>;
1070 interrupts = <GIC_SPI 10 IRQ_TYPE_LEVEL_HIGH>;
1072 status = "disabled";
1076 reg = <0x0b125000 0x1000>;
1077 interrupts = <GIC_SPI 11 IRQ_TYPE_LEVEL_HIGH>;
1079 status = "disabled";
1083 reg = <0x0b126000 0x1000>;
1084 interrupts = <GIC_SPI 12 IRQ_TYPE_LEVEL_HIGH>;
1086 status = "disabled";
1090 reg = <0x0b127000 0x1000>;
1091 interrupts = <GIC_SPI 13 IRQ_TYPE_LEVEL_HIGH>;
1093 status = "disabled";
1097 reg = <0x0b128000 0x1000>;
1098 interrupts = <GIC_SPI 14 IRQ_TYPE_LEVEL_HIGH>;
1100 status = "disabled";
1104 imem: sram@8600000 {
1105 compatible = "qcom,msm8976-imem", "syscon", "simple-mfd";
1106 reg = <0x08600000 0x1000>;
1107 #address-cells = <1>;
1110 ranges = <0 0x08600000 0x1000>;
1113 compatible = "qcom,pil-reloc-info";
1121 polling-delay-passive = <250>;
1122 polling-delay = <1000>;
1124 thermal-sensors = <&tsens 0>;
1127 aoss0_alert0: trip-point0 {
1128 temperature = <75000>;
1129 hysteresis = <2000>;
1136 polling-delay-passive = <250>;
1137 polling-delay = <1000>;
1139 thermal-sensors = <&tsens 1>;
1141 modem_alert0: trip-point0 {
1142 temperature = <75000>;
1143 hysteresis = <2000>;
1150 polling-delay-passive = <250>;
1151 polling-delay = <1000>;
1153 thermal-sensors = <&tsens 2>;
1155 qdsp_alert0: trip-point0 {
1156 temperature = <75000>;
1157 hysteresis = <2000>;
1164 polling-delay-passive = <250>;
1165 polling-delay = <1000>;
1167 thermal-sensors = <&tsens 3>;
1169 cam_isp_alert0: trip-point0 {
1170 temperature = <75000>;
1171 hysteresis = <2000>;
1178 polling-delay-passive = <250>;
1179 polling-delay = <1000>;
1180 thermal-sensors = <&tsens 4>;
1183 cpu4_alert0: trip-point0 {
1184 temperature = <50000>;
1185 hysteresis = <2000>;
1188 cpu4_alert1: trip-point1 {
1189 temperature = <55000>;
1190 hysteresis = <2000>;
1193 cpu4_crit: cpu-crit {
1194 temperature = <75000>;
1195 hysteresis = <2000>;
1202 polling-delay-passive = <250>;
1203 polling-delay = <1000>;
1204 thermal-sensors = <&tsens 5>;
1207 cpu5_alert0: trip-point0 {
1208 temperature = <50000>;
1209 hysteresis = <2000>;
1212 cpu5_alert1: trip-point1 {
1213 temperature = <55000>;
1214 hysteresis = <2000>;
1217 cpu5_crit: cpu-crit {
1218 temperature = <75000>;
1219 hysteresis = <2000>;
1226 polling-delay-passive = <250>;
1227 polling-delay = <1000>;
1228 thermal-sensors = <&tsens 6>;
1231 cpu6_alert0: trip-point0 {
1232 temperature = <50000>;
1233 hysteresis = <2000>;
1236 cpu6_alert1: trip-point1 {
1237 temperature = <55000>;
1238 hysteresis = <2000>;
1241 cpu6_crit: cpu-crit {
1242 temperature = <75000>;
1243 hysteresis = <2000>;
1250 polling-delay-passive = <250>;
1251 polling-delay = <1000>;
1252 thermal-sensors = <&tsens 7>;
1255 cpu7_alert0: trip-point0 {
1256 temperature = <50000>;
1257 hysteresis = <2000>;
1260 cpu7_alert1: trip-point1 {
1261 temperature = <55000>;
1262 hysteresis = <2000>;
1265 cpu7_crit: cpu-crit {
1266 temperature = <75000>;
1267 hysteresis = <2000>;
1274 polling-delay-passive = <250>;
1275 polling-delay = <1000>;
1276 thermal-sensors = <&tsens 8>;
1279 l2_alert0: trip-point0 {
1280 temperature = <50000>;
1281 hysteresis = <2000>;
1284 l2_alert1: trip-point1 {
1285 temperature = <55000>;
1286 hysteresis = <2000>;
1290 temperature = <75000>;
1291 hysteresis = <2000>;
1298 polling-delay-passive = <250>;
1299 polling-delay = <1000>;
1300 thermal-sensors = <&tsens 9>;
1303 cpu0_alert0: trip-point0 {
1304 temperature = <50000>;
1305 hysteresis = <2000>;
1308 cpu0_alert1: trip-point1 {
1309 temperature = <55000>;
1310 hysteresis = <2000>;
1313 cpu0_crit: cpu-crit {
1314 temperature = <75000>;
1315 hysteresis = <2000>;
1322 polling-delay-passive = <250>;
1323 polling-delay = <1000>;
1324 thermal-sensors = <&tsens 10>;
1327 gpu_alert0: trip-point0 {
1328 temperature = <50000>;
1329 hysteresis = <2000>;
1332 gpu_alert1: trip-point1 {
1333 temperature = <55000>;
1334 hysteresis = <2000>;
1337 gpu_crit: gpu-crit {
1338 temperature = <75000>;
1339 hysteresis = <2000>;
1347 compatible = "arm,armv8-timer";
1348 interrupts = <GIC_PPI 2 (GIC_CPU_MASK_SIMPLE(8) | IRQ_TYPE_LEVEL_LOW)>,
1349 <GIC_PPI 3 (GIC_CPU_MASK_SIMPLE(8) | IRQ_TYPE_LEVEL_LOW)>,
1350 <GIC_PPI 4 (GIC_CPU_MASK_SIMPLE(8) | IRQ_TYPE_LEVEL_LOW)>,
1351 <GIC_PPI 1 (GIC_CPU_MASK_SIMPLE(8) | IRQ_TYPE_LEVEL_LOW)>;
1352 clock-frequency = <19200000>;