1 /* Copyright (c) 2016-2018, The Linux Foundation. All rights reserved.
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.
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.
13 #include "skeleton64.dtsi"
14 #include <dt-bindings/clock/qcom,gcc-sdm660.h>
15 #include <dt-bindings/clock/qcom,gpu-sdm660.h>
16 #include <dt-bindings/clock/qcom,mmcc-sdm660.h>
17 #include <dt-bindings/clock/qcom,rpmcc.h>
18 #include <dt-bindings/clock/audio-ext-clk.h>
19 #include <dt-bindings/interrupt-controller/arm-gic.h>
20 #include <dt-bindings/regulator/qcom,rpm-smd-regulator.h>
21 #include <dt-bindings/clock/qcom,cpu-osm.h>
24 model = "Qualcomm Technologies, Inc. SDM 660";
25 compatible = "qcom,sdm660";
26 qcom,msm-id = <317 0x0>;
27 interrupt-parent = <&intc>;
30 serial0 = &uartblsp1dm1;
31 sdhc1 = &sdhc_1; /* SDC1 eMMC slot */
32 sdhc2 = &sdhc_2; /* SDC2 for SD card */
36 stdout-path = "serial0";
37 bootargs = "rcupdate.rcu_expedited=1";
41 compatible = "arm,psci-1.0";
51 compatible = "arm,armv8";
53 enable-method = "psci";
54 qcom,limits-info = <&mitigation_profile0>;
55 qcom,lmh-dcvs = <&lmh_dcvs0>;
58 next-level-cache = <&L2_0>;
60 compatible = "arm,arch-cache";
62 /* A53 L2 dump not supported */
63 qcom,dump-size = <0x0>;
66 compatible = "arm,arch-cache";
67 qcom,dump-size = <0x9040>;
70 compatible = "arm,arch-cache";
71 qcom,dump-size = <0x9040>;
74 qcom,dump-size = <0x2800>;
80 compatible = "arm,armv8";
82 enable-method = "psci";
83 qcom,limits-info = <&mitigation_profile0>;
84 qcom,lmh-dcvs = <&lmh_dcvs0>;
87 next-level-cache = <&L2_0>;
89 compatible = "arm,arch-cache";
90 qcom,dump-size = <0x9040>;
93 compatible = "arm,arch-cache";
94 qcom,dump-size = <0x9040>;
97 qcom,dump-size = <0x2800>;
103 compatible = "arm,armv8";
105 enable-method = "psci";
106 qcom,limits-info = <&mitigation_profile0>;
107 qcom,lmh-dcvs = <&lmh_dcvs0>;
110 next-level-cache = <&L2_0>;
112 compatible = "arm,arch-cache";
113 qcom,dump-size = <0x9040>;
116 compatible = "arm,arch-cache";
117 qcom,dump-size = <0x9040>;
120 qcom,dump-size = <0x2800>;
126 compatible = "arm,armv8";
128 enable-method = "psci";
129 qcom,limits-info = <&mitigation_profile0>;
130 qcom,lmh-dcvs = <&lmh_dcvs0>;
133 next-level-cache = <&L2_0>;
135 compatible = "arm,arch-cache";
136 qcom,dump-size = <0x9040>;
139 compatible = "arm,arch-cache";
140 qcom,dump-size = <0x9040>;
143 qcom,dump-size = <0x2800>;
149 compatible = "arm,armv8";
151 enable-method = "psci";
152 qcom,limits-info = <&mitigation_profile1>;
153 qcom,lmh-dcvs = <&lmh_dcvs1>;
156 next-level-cache = <&L2_1>;
158 compatible = "arm,arch-cache";
161 L1_I_100: l1-icache {
162 compatible = "arm,arch-cache";
163 qcom,dump-size = <0x12000>;
165 L1_D_100: l1-dcache {
166 compatible = "arm,arch-cache";
167 qcom,dump-size = <0x12000>;
170 qcom,dump-size = <0x4800>;
176 compatible = "arm,armv8";
178 enable-method = "psci";
179 qcom,limits-info = <&mitigation_profile2>;
180 qcom,lmh-dcvs = <&lmh_dcvs1>;
183 next-level-cache = <&L2_1>;
184 L1_I_101: l1-icache {
185 compatible = "arm,arch-cache";
186 qcom,dump-size = <0x12000>;
188 L1_D_101: l1-dcache {
189 compatible = "arm,arch-cache";
190 qcom,dump-size = <0x12000>;
193 qcom,dump-size = <0x4800>;
199 compatible = "arm,armv8";
201 enable-method = "psci";
202 qcom,limits-info = <&mitigation_profile3>;
203 qcom,lmh-dcvs = <&lmh_dcvs1>;
206 next-level-cache = <&L2_1>;
207 L1_I_102: l1-icache {
208 compatible = "arm,arch-cache";
209 qcom,dump-size = <0x12000>;
211 L1_D_102: l1-dcache {
212 compatible = "arm,arch-cache";
213 qcom,dump-size = <0x12000>;
216 qcom,dump-size = <0x4800>;
222 compatible = "arm,armv8";
224 enable-method = "psci";
225 qcom,limits-info = <&mitigation_profile4>;
226 qcom,lmh-dcvs = <&lmh_dcvs1>;
229 next-level-cache = <&L2_1>;
230 L1_I_103: l1-icache {
231 compatible = "arm,arch-cache";
232 qcom,dump-size = <0x12000>;
234 L1_D_103: l1-dcache {
235 compatible = "arm,arch-cache";
236 qcom,dump-size = <0x12000>;
239 qcom,dump-size = <0x4800>;
284 compatible = "fixed-clock";
286 clock-frequency = <19200000>;
287 clock-output-names = "xo_board";
291 compatible = "fixed-clock";
293 clock-frequency = <32764>;
294 clock-output-names = "sleep_clk";
302 compatible = "android,firmware";
304 compatible = "android,fstab";
306 compatible = "android,vendor";
307 dev = "/dev/block/platform/soc/c0c4000.sdhci/by-name/vendor";
309 mnt_flags = "ro,barrier=1,discard";
310 fsmgr_flags = "wait,slotselect,verify";
318 #address-cells = <2>;
322 wlan_msa_guard: wlan_msa_guard@85600000 {
323 compatible = "removed-dma-pool";
325 reg = <0x0 0x85600000 0x0 0x100000>;
328 wlan_msa_mem: wlan_msa_mem@85700000 {
329 compatible = "removed-dma-pool";
331 reg = <0x0 0x85700000 0x0 0x100000>;
334 removed_regions: removed_regions@85800000 {
335 compatible = "removed-dma-pool";
337 reg = <0x0 0x85800000 0x0 0x3700000>;
340 modem_fw_mem: modem_fw_region@8ac00000 {
341 compatible = "removed-dma-pool";
343 reg = <0x0 0x8ac00000 0x0 0x7e00000>;
346 adsp_fw_mem: adsp_fw_region@92a00000 {
347 compatible = "removed-dma-pool";
349 reg = <0x0 0x92a00000 0x0 0x1e00000>;
352 pil_mba_mem: pil_mba_region@94800000 {
353 compatible = "removed-dma-pool";
355 reg = <0x0 0x94800000 0x0 0x200000>;
358 cdsp_fw_mem: cdsp_fw_region@94a00000 {
359 compatible = "removed-dma-pool";
361 reg = <0x0 0x94a00000 0x0 0x600000>;
364 venus_fw_mem: venus_fw_region {
365 compatible = "shared-dma-pool";
366 alloc-ranges = <0x0 0x80000000 0x0 0x20000000>;
368 alignment = <0x0 0x400000>;
369 size = <0x0 0x800000>;
372 adsp_mem: adsp_region {
373 compatible = "shared-dma-pool";
374 alloc-ranges = <0x0 0x00000000 0x0 0xffffffff>;
376 alignment = <0x0 0x400000>;
377 size = <0x0 0x800000>;
380 qseecom_mem: qseecom_region {
381 compatible = "shared-dma-pool";
382 alloc-ranges = <0x0 0x00000000 0x0 0xffffffff>;
384 alignment = <0x0 0x400000>;
385 size = <0x0 0x1400000>;
388 secure_display_memory: secure_region {
389 compatible = "shared-dma-pool";
390 alloc-ranges = <0x0 0x00000000 0x0 0xffffffff>;
392 alignment = <0x0 0x400000>;
393 size = <0x0 0x5c00000>;
396 /* global autoconfigured region for contiguous allocations */
398 compatible = "shared-dma-pool";
399 alloc-ranges = <0 0x00000000 0 0xffffffff>;
401 alignment = <0 0x400000>;
402 size = <0 0x2c00000>;
406 cont_splash_mem: splash_region@9d400000 {
407 reg = <0x0 0x9d400000 0x0 0x02400000>;
408 label = "cont_splash_mem";
412 bluetooth: bt_wcn3990 {
413 compatible = "qca,wcn3990";
414 qca,bt-vdd-core-supply = <&pm660_l9>;
415 qca,bt-vdd-pa-supply = <&pm660_l6>;
416 qca,bt-vdd-ldo-supply = <&pm660_l19>;
417 qca,bt-chip-pwd-supply = <&pm660l_bob_pin1>;
418 clocks = <&clock_rpmcc RPM_RF_CLK1_PIN>;
419 clock-names = "rf_clk1";
421 qca,bt-vdd-core-voltage-level = <1800000 1900000>;
422 qca,bt-vdd-pa-voltage-level = <1304000 1370000>;
423 qca,bt-vdd-ldo-voltage-level = <3312000 3400000>;
424 qca,bt-chip-pwd-voltage-level = <3600000 3600000>;
426 qca,bt-vdd-core-current-level = <1>; /* LPM/PFM */
427 qca,bt-vdd-pa-current-level = <1>; /* LPM/PFM */
428 qca,bt-vdd-ldo-current-level = <1>; /* LPM/PFM */
432 #include "sdm660-smp2p.dtsi"
433 #include "sdm660-coresight.dtsi"
435 #address-cells = <1>;
437 ranges = <0 0 0 0xffffffff>;
438 compatible = "simple-bus";
440 intc: interrupt-controller@17a00000 {
441 compatible = "arm,gic-v3";
442 reg = <0x17a00000 0x10000>, /* GICD */
443 <0x17b00000 0x100000>; /* GICR * 8 */
444 #interrupt-cells = <3>;
445 #address-cells = <1>;
448 interrupt-controller;
449 #redistributor-regions = <1>;
450 redistributor-stride = <0x0 0x20000>;
451 interrupts = <1 9 4>;
455 compatible = "arm,armv8-timer";
456 interrupts = <1 1 0xf08>,
460 clock-frequency = <19200000>;
463 dma_blsp1: qcom,sps-dma@0xc144000{ /* BLSP1 */
465 compatible = "qcom,sps-dma";
466 reg = <0xc144000 0x1F000>;
467 interrupts = <0 238 0>;
468 qcom,summing-threshold = <0x10>;
471 dma_blsp2: qcom,sps-dma@0xc184000{ /* BLSP2 */
473 compatible = "qcom,sps-dma";
474 reg = <0xc184000 0x1F000>;
475 interrupts = <0 239 0>;
476 qcom,summing-threshold = <0x10>;
480 compatible = "qcom,pshold";
481 reg = <0x10ac000 0x4>,
483 reg-names = "pshold-base", "tcsr-boot-misc-detect";
486 spmi_bus: qcom,spmi@800f000 {
487 compatible = "qcom,spmi-pmic-arb";
488 reg = <0x800f000 0x1000>,
489 <0x8400000 0x1000000>,
490 <0x9400000 0x1000000>,
491 <0xa400000 0x220000>,
493 reg-names = "core", "chnls", "obsrvr", "intr", "cnfg";
494 interrupt-names = "periph_irq";
495 interrupts = <GIC_SPI 326 IRQ_TYPE_NONE>;
498 qcom,reserved-chan = <511>;
499 #address-cells = <2>;
501 interrupt-controller;
502 #interrupt-cells = <4>;
508 compatible = "qcom,cpuss-dump";
510 qcom,dump-node = <&L1_I_0>;
511 qcom,dump-id = <0x60>;
514 qcom,dump-node = <&L1_I_1>;
515 qcom,dump-id = <0x61>;
518 qcom,dump-node = <&L1_I_2>;
519 qcom,dump-id = <0x62>;
522 qcom,dump-node = <&L1_I_3>;
523 qcom,dump-id = <0x63>;
526 qcom,dump-node = <&L1_I_100>;
527 qcom,dump-id = <0x64>;
530 qcom,dump-node = <&L1_I_101>;
531 qcom,dump-id = <0x65>;
534 qcom,dump-node = <&L1_I_102>;
535 qcom,dump-id = <0x66>;
538 qcom,dump-node = <&L1_I_103>;
539 qcom,dump-id = <0x67>;
542 qcom,dump-node = <&L1_D_0>;
543 qcom,dump-id = <0x80>;
546 qcom,dump-node = <&L1_D_1>;
547 qcom,dump-id = <0x81>;
550 qcom,dump-node = <&L1_D_2>;
551 qcom,dump-id = <0x82>;
554 qcom,dump-node = <&L1_D_3>;
555 qcom,dump-id = <0x83>;
558 qcom,dump-node = <&L1_D_100>;
559 qcom,dump-id = <0x84>;
562 qcom,dump-node = <&L1_D_101>;
563 qcom,dump-id = <0x85>;
566 qcom,dump-node = <&L1_D_102>;
567 qcom,dump-id = <0x86>;
570 qcom,dump-node = <&L1_D_103>;
571 qcom,dump-id = <0x87>;
574 qcom,dump-node = <&L1_TLB_0>;
575 qcom,dump-id = <0x20>;
578 qcom,dump-node = <&L1_TLB_1>;
579 qcom,dump-id = <0x21>;
582 qcom,dump-node = <&L1_TLB_2>;
583 qcom,dump-id = <0x22>;
586 qcom,dump-node = <&L1_TLB_3>;
587 qcom,dump-id = <0x23>;
589 qcom,l1_tlb_dump100 {
590 qcom,dump-node = <&L1_TLB_100>;
591 qcom,dump-id = <0x24>;
593 qcom,l1_tlb_dump101 {
594 qcom,dump-node = <&L1_TLB_101>;
595 qcom,dump-id = <0x25>;
597 qcom,l1_tlb_dump102 {
598 qcom,dump-node = <&L1_TLB_102>;
599 qcom,dump-id = <0x26>;
601 qcom,l1_tlb_dump103 {
602 qcom,dump-node = <&L1_TLB_103>;
603 qcom,dump-id = <0x27>;
607 wdog: qcom,wdt@17817000 {
608 compatible = "qcom,msm-watchdog";
609 reg = <0x17817000 0x1000>;
610 reg-names = "wdt-base";
611 interrupts = <0 3 0>, <0 4 0>;
612 qcom,bark-time = <11000>;
613 qcom,pet-time = <10000>;
616 qcom,scandump-size = <0x40000>;
620 compatible = "qcom,msm_sps_4k";
625 compatible = "qcom,memshare";
628 compatible = "qcom,memshare-peripheral";
629 qcom,peripheral-size = <0x200000>;
630 qcom,client-id = <0>;
631 qcom,allocate-boot-time;
636 compatible = "qcom,memshare-peripheral";
637 qcom,peripheral-size = <0x300000>;
638 qcom,client-id = <2>;
642 mem_client_3_size: qcom,client_3 {
643 compatible = "qcom,memshare-peripheral";
644 qcom,peripheral-size = <0x0>;
645 qcom,client-id = <1>;
646 qcom,allocate-boot-time;
651 tsens: tsens@10ad000 {
652 compatible = "qcom,sdm660-tsens";
653 reg = <0x10ad000 0x2000>,
655 reg-names = "tsens_physical", "tsens_eeprom_physical";
656 interrupts = <0 184 0>, <0 430 0>;
657 interrupt-names = "tsens-upper-lower", "tsens-critical";
658 qcom,client-id = <0 1 2 3 4 5 6 7 8 9 10 11 12 13>;
659 qcom,sensor-id = <0 10 11 4 5 6 7 8 13 2 3 12 9 1>;
661 qcom,slope = <3200 3200 3200 3200 3200 3200 3200 3200
662 3200 3200 3200 3200 3200 3200>;
665 uartblsp1dm1: serial@0c170000 {
666 compatible = "qcom,msm-uartdm-v1.4", "qcom,msm-uartdm";
667 reg = <0xc170000 0x1000>;
668 interrupts = <0 108 0>;
670 clocks = <&clock_gcc GCC_BLSP1_UART2_APPS_CLK>,
671 <&clock_gcc GCC_BLSP1_AHB_CLK>;
672 clock-names = "core", "iface";
676 compatible = "qcom,qbt1000";
677 clock-names = "core", "iface";
678 clocks = <&clock_gcc GCC_BLSP1_QUP3_SPI_APPS_CLK>,
679 <&clock_gcc GCC_BLSP1_AHB_CLK>;
680 clock-frequency = <15000000>;
681 qcom,ipc-gpio = <&tlmm 72 0>;
682 qcom,finger-detect-gpio = <&pm660_gpios 11 0>;
685 qcom,sensor-information {
686 compatible = "qcom,sensor-information";
687 sensor_information0: qcom,sensor-information-0 {
688 qcom,sensor-type = "tsens";
689 qcom,sensor-name = "tsens_tz_sensor0";
690 qcom,scaling-factor = <10>;
692 sensor_information1: qcom,sensor-information-1 {
693 qcom,sensor-type = "tsens";
694 qcom,sensor-name = "tsens_tz_sensor1";
695 qcom,scaling-factor = <10>;
697 sensor_information2: qcom,sensor-information-2 {
698 qcom,sensor-type = "tsens";
699 qcom,sensor-name = "tsens_tz_sensor2";
700 qcom,scaling-factor = <10>;
702 sensor_information3: qcom,sensor-information-3 {
703 qcom,sensor-type = "tsens";
704 qcom,sensor-name = "tsens_tz_sensor3";
705 qcom,scaling-factor = <10>;
707 sensor_information4: qcom,sensor-information-4 {
708 qcom,sensor-type = "tsens";
709 qcom,sensor-name = "tsens_tz_sensor4";
710 qcom,scaling-factor = <10>;
712 sensor_information5: qcom,sensor-information-5 {
713 qcom,sensor-type = "tsens";
714 qcom,sensor-name = "tsens_tz_sensor5";
715 qcom,scaling-factor = <10>;
717 sensor_information6: qcom,sensor-information-6 {
718 qcom,sensor-type = "tsens";
719 qcom,sensor-name = "tsens_tz_sensor6";
720 qcom,scaling-factor = <10>;
722 sensor_information7: qcom,sensor-information-7 {
723 qcom,sensor-type = "tsens";
724 qcom,sensor-name = "tsens_tz_sensor7";
725 qcom,scaling-factor = <10>;
727 sensor_information8: qcom,sensor-information-8 {
728 qcom,sensor-type = "tsens";
729 qcom,sensor-name = "tsens_tz_sensor8";
730 qcom,scaling-factor = <10>;
731 qcom,alias-name = "gpu";
733 sensor_information9: qcom,sensor-information-9 {
734 qcom,sensor-type = "tsens";
735 qcom,sensor-name = "tsens_tz_sensor9";
736 qcom,scaling-factor = <10>;
738 sensor_information10: qcom,sensor-information-10 {
739 qcom,sensor-type = "tsens";
740 qcom,sensor-name = "tsens_tz_sensor10";
741 qcom,scaling-factor = <10>;
743 sensor_information11: qcom,sensor-information-11 {
744 qcom,sensor-type = "tsens";
745 qcom,sensor-name = "tsens_tz_sensor11";
746 qcom,scaling-factor = <10>;
748 sensor_information12: qcom,sensor-information-12 {
749 qcom,sensor-type = "tsens";
750 qcom,sensor-name = "tsens_tz_sensor12";
751 qcom,scaling-factor = <10>;
753 sensor_information13: qcom,sensor-information-13 {
754 qcom,sensor-type = "tsens";
755 qcom,sensor-name = "tsens_tz_sensor13";
756 qcom,scaling-factor = <10>;
758 sensor_information14: qcom,sensor-information-14 {
759 qcom,sensor-type = "alarm";
760 qcom,sensor-name = "pm660_tz";
761 qcom,scaling-factor = <1000>;
763 sensor_information15: qcom,sensor-information-15 {
764 qcom,sensor-type = "adc";
765 qcom,sensor-name = "msm_therm";
767 sensor_information16: qcom,sensor-information-16 {
768 qcom,sensor-type = "adc";
769 qcom,sensor-name = "xo_therm";
771 sensor_information17: qcom,sensor-information-17 {
772 qcom,sensor-type = "adc";
773 qcom,sensor-name = "pa_therm0";
775 sensor_information18: qcom,sensor-information-18 {
776 qcom,sensor-type = "adc";
777 qcom,sensor-name = "pa_therm1";
779 sensor_information19: qcom,sensor-information-19 {
780 qcom,sensor-type = "adc";
781 qcom,sensor-name = "quiet_therm";
783 sensor_information20: qcom,sensor-information-20 {
784 qcom,sensor-type = "llm";
785 qcom,sensor-name = "limits_sensor-00";
787 sensor_information21: qcom,sensor-information-21 {
788 qcom,sensor-type = "llm";
789 qcom,sensor-name = "limits_sensor-01";
793 mitigation_profile0: qcom,limit_info-0 {
794 qcom,temperature-sensor = <&sensor_information1>;
795 qcom,hotplug-mitigation-enable;
798 mitigation_profile1: qcom,limit_info-1 {
799 qcom,temperature-sensor = <&sensor_information3>;
800 qcom,hotplug-mitigation-enable;
803 mitigation_profile2: qcom,limit_info-2 {
804 qcom,temperature-sensor = <&sensor_information4>;
805 qcom,hotplug-mitigation-enable;
808 mitigation_profile3: qcom,limit_info-3 {
809 qcom,temperature-sensor = <&sensor_information5>;
810 qcom,hotplug-mitigation-enable;
813 mitigation_profile4: qcom,limit_info-4 {
814 qcom,temperature-sensor = <&sensor_information6>;
815 qcom,hotplug-mitigation-enable;
819 compatible = "qcom,msm-thermal";
820 qcom,sensor-id = <1>;
821 qcom,poll-ms = <100>;
822 qcom,therm-reset-temp = <115>;
823 qcom,core-limit-temp = <70>;
824 qcom,core-temp-hysteresis = <10>;
825 qcom,hotplug-temp = <105>;
826 qcom,hotplug-temp-hysteresis = <20>;
827 qcom,online-hotplug-core;
828 qcom,synchronous-cluster-id = <0 1>;
829 qcom,synchronous-cluster-map = <0 4 &CPU0 &CPU1 &CPU2 &CPU3>,
830 <1 4 &CPU4 &CPU5 &CPU6 &CPU7>;
833 clocks = <&clock_cpu PWRCL_CLK>;
834 qcom,cxip-lm-enable = <1>;
835 qcom,vdd-restriction-temp = <5>;
836 qcom,vdd-restriction-temp-hysteresis = <10>;
838 vdd-dig-supply = <&pm660l_s3_floor_level>;
839 vdd-gfx-supply = <&gfx_vreg_corner>;
842 qcom,vdd-rstr-reg = "vdd-dig";
843 qcom,levels = <RPM_SMD_REGULATOR_LEVEL_NOM
844 RPM_SMD_REGULATOR_LEVEL_TURBO
845 RPM_SMD_REGULATOR_LEVEL_TURBO>;
846 qcom,min-level = <RPM_SMD_REGULATOR_LEVEL_NONE>;
850 qcom,vdd-rstr-reg = "vdd-gfx";
851 qcom,levels = <5 6 6>; /* Nominal, Turbo, Turbo */
852 qcom,min-level = <1>; /* No Request */
855 msm_thermal_freq: qcom,vdd-apps-rstr{
856 qcom,vdd-rstr-reg = "vdd-apps";
857 qcom,levels = <1248000>;
862 cx_ipeak_lm: cx_ipeak@1fe5040 {
863 compatible = "qcom,cx-ipeak-sdm660";
864 reg = <0x1fe5040 0x28>;
868 compatible = "qcom,bcl";
870 qcom,bcl-framework-interface;
871 qcom,bcl-hotplug-list = <&CPU6 &CPU7>;
872 qcom,bcl-soc-hotplug-list = <&CPU4 &CPU5 &CPU6 &CPU7>;
874 qcom,low-threshold-uamp = <3400000>;
875 qcom,high-threshold-uamp = <4200000>;
876 qcom,vph-high-threshold-uv = <3500000>;
877 qcom,vph-low-threshold-uv = <3300000>;
878 qcom,soc-low-threshold = <10>;
883 compatible = "qcom,lmh_v1";
884 interrupts = <GIC_SPI 134 IRQ_TYPE_LEVEL_HIGH>;
887 qcom,msm-core@780000 {
888 compatible = "qcom,apss-core-ea";
889 reg = <0x780000 0x1000>;
890 qcom,low-hyst-temp = <100>;
891 qcom,high-hyst-temp = <100>;
894 sensor = <&sensor_information1>;
898 sensor = <&sensor_information1>;
902 sensor = <&sensor_information1>;
906 sensor = <&sensor_information1>;
910 sensor = <&sensor_information3>;
914 sensor = <&sensor_information4>;
918 sensor = <&sensor_information5>;
922 sensor = <&sensor_information6>;
926 uartblsp2dm1: serial@0c1b0000 {
927 compatible = "qcom,msm-uartdm-v1.4", "qcom,msm-uartdm";
928 reg = <0xc1b0000 0x1000>;
929 interrupts = <0 114 0>;
931 clocks = <&clock_gcc GCC_BLSP2_UART2_APPS_CLK>,
932 <&clock_gcc GCC_BLSP2_AHB_CLK>;
933 clock-names = "core", "iface";
936 slim_aud: slim@151c0000 {
938 compatible = "qcom,slim-ngd";
939 reg = <0x151c0000 0x2c000>,
940 <0x15184000 0x2a000>;
941 reg-names = "slimbus_physical", "slimbus_bam_physical";
942 interrupts = <0 163 0>, <0 164 0>;
943 interrupt-names = "slimbus_irq", "slimbus_bam_irq";
944 qcom,apps-ch-pipes = <0x7e0000>;
945 qcom,ea-pc = <0x260>;
949 slim_qca: slim@15240000 {
951 compatible = "qcom,slim-ngd";
952 reg = <0x15240000 0x2c000>,
953 <0x15204000 0x20000>;
954 reg-names = "slimbus_physical", "slimbus_bam_physical";
955 interrupts = <0 291 0>, <0 292 0>;
956 interrupt-names = "slimbus_irq", "slimbus_bam_irq";
957 qcom,apps-ch-pipes = <0x1800>;
959 /* Slimbus Slave DT for WCN3990 */
960 btfmslim_codec: wcn3990 {
961 compatible = "qcom,btfmslim_slave";
962 elemental-addr = [00 01 20 02 17 02];
963 qcom,btfm-slim-ifd = "btfmslim_slave_ifd";
964 qcom,btfm-slim-ifd-elemental-addr = [00 00 20 02 17 02];
969 #address-cells = <1>;
972 compatible = "arm,armv7-timer-mem";
973 reg = <0x17920000 0x1000>;
974 clock-frequency = <19200000>;
978 interrupts = <0 8 0x4>,
980 reg = <0x17921000 0x1000>,
986 interrupts = <0 9 0x4>;
987 reg = <0x17923000 0x1000>;
993 interrupts = <0 10 0x4>;
994 reg = <0x17924000 0x1000>;
1000 interrupts = <0 11 0x4>;
1001 reg = <0x17925000 0x1000>;
1002 status = "disabled";
1007 interrupts = <0 12 0x4>;
1008 reg = <0x17926000 0x1000>;
1009 status = "disabled";
1014 interrupts = <0 13 0x4>;
1015 reg = <0x17927000 0x1000>;
1016 status = "disabled";
1021 interrupts = <0 14 0x4>;
1022 reg = <0x17928000 0x1000>;
1023 status = "disabled";
1028 compatible = "arm,arm64-cpu-erp";
1029 interrupts = <0 43 4>,
1034 interrupt-names = "pri-dbe-irq",
1039 poll-delay-ms = <5000>;
1042 clock_rpmcc: qcom,rpmcc {
1043 compatible = "qcom,rpmcc-sdm660", "qcom,rpmcc";
1047 clock_gcc: clock-controller@100000 {
1048 compatible = "qcom,gcc-sdm660", "syscon";
1049 reg = <0x100000 0x94000>;
1050 vdd_dig-supply = <&pm660l_s3_level>;
1051 vdd_dig_ao-supply = <&pm660l_s3_level_ao>;
1056 clock_mmss: clock-controller@c8c0000 {
1057 compatible = "qcom,mmcc-sdm660";
1058 reg = <0xc8c0000 0x40000>;
1059 vdd_mx_mmss-supply = <&pm660l_s5_level>;
1060 vdd_dig_mmss-supply = <&pm660l_s3_level>;
1061 vdda-supply = <&pm660_l10>;
1066 clock_gpu: clock-controller@5065000 {
1067 compatible = "qcom,gpu-sdm660";
1068 reg = <0x5065000 0x10000>;
1073 clock_gfx: gfx@5065000 {
1074 compatible = "qcom,gpucc-sdm660";
1075 reg = <0x5065000 0x10000>;
1076 vdd_dig_gfx-supply = <&pm660l_s3_level>;
1077 vdd_mx_gfx-supply = <&pm660l_s5_level>;
1078 vdd_gfx-supply = <&gfx_vreg_corner>;
1079 qcom,gfxfreq-corner =
1081 < 160000000 1>, /* MinSVS */
1082 < 266000000 2>, /* LowSVS */
1083 < 370000000 3>, /* SVS */
1084 < 465000000 4>, /* SVS_L1 */
1085 < 588000000 5>, /* NOM */
1086 < 647000000 6>, /* NOM_L1 */
1087 < 700000000 7>, /* TURBO */
1088 < 750000000 7>; /* TURBO */
1093 cpu_debug: syscon@1791101c {
1094 compatible = "syscon";
1095 reg = <0x1791101c 0x4>;
1098 gpu_debug: syscon@05065120 {
1099 compatible = "syscon";
1100 reg = <0x05065120 0x4>;
1103 mmss_debug: syscon@c8c0900 {
1104 compatible = "syscon";
1105 reg = <0xc8c0900 0x4>;
1108 clock_debug: qcom,cc-debug@62000 {
1109 compatible = "qcom,gcc-debug-sdm660";
1110 reg = <0x62000 0x4>;
1111 reg-names = "dbg_offset";
1112 clocks = <&clock_rpmcc RPM_XO_CLK_SRC>;
1113 clock-names = "xo_clk_src";
1114 qcom,cc-count = <4>;
1115 qcom,gcc = <&clock_gcc>;
1116 qcom,cpu = <&cpu_debug>;
1117 qcom,mmss = <&mmss_debug>;
1118 qcom,gpu = <&gpu_debug>;
1123 compatible = "qcom,devbw";
1124 governor = "performance";
1125 qcom,src-dst-ports = <1 512>;
1128 < 381 /* 100 MHz */ >,
1129 < 572 /* 150 MHz */ >,
1130 < 762 /* 200 MHz */ >,
1131 < 1144 /* 300 MHz */ >,
1132 < 1571 /* 412 MHz */ >,
1133 < 2086 /* 547 MHz */ >,
1134 < 2597 /* 681 MHz */ >,
1135 < 2929 /* 768 MHz */ >,
1136 < 3879 /* 1017 MHz */ >,
1137 < 4943 /* 1296 MHz */ >,
1138 < 5163 /* 1353 MHz */ >,
1139 < 5931 /* 1555 MHz */ >,
1140 < 6881 /* 1804 MHz */ >;
1143 bwmon: qcom,cpu-bwmon {
1144 compatible = "qcom,bimc-bwmon4";
1145 reg = <0x01008000 0x300>, <0x01001000 0x200>;
1146 reg-names = "base", "global_base";
1147 interrupts = <0 183 4>;
1149 qcom,hw-timer-hz = <19200000>;
1150 qcom,target-dev = <&cpubw>;
1153 mincpubw: qcom,mincpubw {
1154 compatible = "qcom,devbw";
1155 governor = "powersave";
1156 qcom,src-dst-ports = <1 512>;
1159 < 381 /* 100 MHz */ >,
1160 < 572 /* 150 MHz */ >,
1161 < 762 /* 200 MHz */ >,
1162 < 1144 /* 300 MHz */ >,
1163 < 1571 /* 412 MHz */ >,
1164 < 2086 /* 547 MHz */ >,
1165 < 2597 /* 681 MHz */ >,
1166 < 2929 /* 768 MHz */ >,
1167 < 3879 /* 1017 MHz */ >,
1168 < 4943 /* 1296 MHz */ >,
1169 < 5163 /* 1353 MHz */ >,
1170 < 5931 /* 1555 MHz */ >,
1171 < 6881 /* 1804 MHz */ >;
1174 memlat_cpu0: qcom,memlat-cpu0 {
1175 compatible = "qcom,devbw";
1176 governor = "powersave";
1177 qcom,src-dst-ports = <1 512>;
1180 < 381 /* 100 MHz */ >,
1181 < 572 /* 150 MHz */ >,
1182 < 762 /* 200 MHz */ >,
1183 < 1144 /* 300 MHz */ >,
1184 < 1571 /* 412 MHz */ >,
1185 < 2086 /* 547 MHz */ >,
1186 < 2597 /* 681 MHz */ >,
1187 < 2929 /* 768 MHz */ >,
1188 < 3879 /* 1017 MHz */ >,
1189 < 4943 /* 1296 MHz */ >,
1190 < 5163 /* 1353 MHz */ >,
1191 < 5931 /* 1555 MHz */ >,
1192 < 6881 /* 1804 MHz */ >;
1195 memlat_cpu4: qcom,memlat-cpu4 {
1196 compatible = "qcom,devbw";
1197 governor = "powersave";
1198 qcom,src-dst-ports = <1 512>;
1201 < 381 /* 100 MHz */ >,
1202 < 572 /* 150 MHz */ >,
1203 < 762 /* 200 MHz */ >,
1204 < 1144 /* 300 MHz */ >,
1205 < 1571 /* 412 MHz */ >,
1206 < 2086 /* 547 MHz */ >,
1207 < 2597 /* 681 MHz */ >,
1208 < 2929 /* 768 MHz */ >,
1209 < 3879 /* 1017 MHz */ >,
1210 < 4943 /* 1296 MHz */ >,
1211 < 5163 /* 1353 MHz */ >,
1212 < 5931 /* 1555 MHz */ >,
1213 < 6881 /* 1804 MHz */ >;
1216 devfreq_memlat_0: qcom,arm-memlat-mon-0 {
1217 compatible = "qcom,arm-memlat-mon";
1218 qcom,cpulist = <&CPU0 &CPU1 &CPU2 &CPU3>;
1219 qcom,target-dev = <&memlat_cpu0>;
1220 qcom,core-dev-table =
1226 devfreq_memlat_4: qcom,arm-memlat-mon-4 {
1227 compatible = "qcom,arm-memlat-mon";
1228 qcom,cpulist = <&CPU4 &CPU5 &CPU6 &CPU7>;
1229 qcom,target-dev = <&memlat_cpu4>;
1230 qcom,core-dev-table =
1237 devfreq_cpufreq: devfreq-cpufreq {
1239 target-dev = <&mincpubw>;
1253 clock_cpu: qcom,clk-cpu-660@179c0000 {
1254 compatible = "qcom,clk-cpu-osm";
1255 reg = <0x179c0000 0x4000>, <0x17916000 0x1000>,
1256 <0x17816000 0x1000>, <0x179d1000 0x1000>,
1257 <0x00784130 0x8>, <0x00784130 0x8>;
1258 reg-names = "osm", "pwrcl_pll", "perfcl_pll",
1259 "apcs_common", "pwrcl_efuse",
1262 vdd-pwrcl-supply = <&apc0_pwrcl_vreg>;
1263 vdd-perfcl-supply = <&apc1_perfcl_vreg>;
1265 interrupts = <GIC_SPI 35 IRQ_TYPE_EDGE_RISING>,
1266 <GIC_SPI 36 IRQ_TYPE_EDGE_RISING>;
1267 interrupt-names = "pwrcl-irq", "perfcl-irq";
1269 qcom,pwrcl-speedbin0-v0 =
1270 < 300000000 0x0004000f 0x01200020 0x1 1 >,
1271 < 633600000 0x05040021 0x03200020 0x1 2 >,
1272 < 902400000 0x0404002f 0x04260026 0x1 3 >,
1273 < 1113600000 0x0404003a 0x052e002e 0x2 4 >,
1274 < 1401600000 0x04040049 0x073a003a 0x2 5 >,
1275 < 1536000000 0x04040050 0x08400040 0x2 6 >,
1276 < 1747200000 0x0404005b 0x09480048 0x2 7 >,
1277 < 1843200000 0x04040060 0x094c004c 0x3 8 >;
1279 qcom,pwrcl-speedbin1-v0 =
1280 < 300000000 0x0004000f 0x01200020 0x1 1 >,
1281 < 633600000 0x05040021 0x03200020 0x1 2 >,
1282 < 902400000 0x0404002f 0x04260026 0x1 3 >,
1283 < 1113600000 0x0404003a 0x052e002e 0x2 4 >,
1284 < 1401600000 0x04040049 0x073a003a 0x2 5 >,
1285 < 1536000000 0x04040050 0x08400040 0x2 6 >,
1286 < 1747200000 0x0404005b 0x09480048 0x2 7 >,
1287 < 1843200000 0x04040060 0x094c004c 0x3 8 >;
1289 qcom,pwrcl-speedbin3-v0 =
1290 < 300000000 0x0004000f 0x01200020 0x1 1 >,
1291 < 633600000 0x05040021 0x03200020 0x1 2 >,
1292 < 902400000 0x0404002f 0x04260026 0x1 3 >,
1293 < 1113600000 0x0404003a 0x052e002e 0x2 4 >,
1294 < 1401600000 0x04040049 0x073a003a 0x2 5 >,
1295 < 1536000000 0x04040050 0x08400040 0x2 6 >,
1296 < 1612800000 0x04040054 0x09430043 0x2 7 >;
1298 qcom,pwrcl-speedbin4-v0 =
1299 < 300000000 0x0004000f 0x01200020 0x1 1 >,
1300 < 633600000 0x05040021 0x03200020 0x1 2 >,
1301 < 902400000 0x0404002f 0x04260026 0x1 3 >,
1302 < 1113600000 0x0404003a 0x052e002e 0x2 4 >,
1303 < 1401600000 0x04040049 0x073a003a 0x2 5 >,
1304 < 1536000000 0x04040050 0x08400040 0x2 6 >,
1305 < 1747200000 0x0404005b 0x09480048 0x2 7 >,
1306 < 1843200000 0x04040060 0x094c004c 0x3 8 >;
1308 qcom,perfcl-speedbin0-v0 =
1309 < 300000000 0x0004000f 0x01200020 0x1 1 >,
1310 < 1113600000 0x0404003a 0x052e002e 0x1 2 >,
1311 < 1401600000 0x04040049 0x073a003a 0x2 3 >,
1312 < 1747200000 0x0404005b 0x09480048 0x2 4 >,
1313 < 1958400000 0x04040066 0x0a510051 0x2 5 >,
1314 < 2150400000 0x04040070 0x0b590059 0x2 6 >,
1315 < 2457600000 0x04040080 0x0c660066 0x3 7 >;
1317 qcom,perfcl-speedbin1-v0 =
1318 < 300000000 0x0004000f 0x01200020 0x1 1 >,
1319 < 1113600000 0x0404003a 0x052e002e 0x1 2 >,
1320 < 1401600000 0x04040049 0x073a003a 0x2 3 >,
1321 < 1747200000 0x0404005b 0x09480048 0x2 4 >,
1322 < 1958400000 0x04040066 0x0a510051 0x2 5 >,
1323 < 2150400000 0x04040070 0x0b590059 0x2 6 >,
1324 < 2208000000 0x04040073 0x0b5c005c 0x3 7 >;
1326 qcom,perfcl-speedbin3-v0 =
1327 < 300000000 0x0004000f 0x01200020 0x1 1 >,
1328 < 1113600000 0x0404003a 0x052e002e 0x1 2 >,
1329 < 1401600000 0x04040049 0x073a003a 0x2 3 >,
1330 < 1747200000 0x0404005b 0x09480048 0x2 4 >,
1331 < 1804800000 0x0404005e 0x094b004b 0x2 5 >;
1333 qcom,perfcl-speedbin4-v0 =
1334 < 300000000 0x0004000f 0x01200020 0x1 1 >,
1335 < 1113600000 0x0404003a 0x052e002e 0x1 2 >,
1336 < 1401600000 0x04040049 0x073a003a 0x2 3 >,
1337 < 1747200000 0x0404005b 0x09480048 0x2 4 >,
1338 < 1958400000 0x04040066 0x0a510051 0x2 5 >;
1340 qcom,up-timer = <1000 1000>;
1341 qcom,down-timer = <1000 1000>;
1342 qcom,set-ret-inactive;
1343 qcom,enable-llm-freq-vote;
1344 qcom,llm-freq-up-timer = <327675 327675>;
1345 qcom,llm-freq-down-timer = <327675 327675>;
1346 qcom,enable-llm-volt-vote;
1347 qcom,llm-volt-up-timer = <327675 327675>;
1348 qcom,llm-volt-down-timer = <327675 327675>;
1349 qcom,cc-reads = <10>;
1350 qcom,cc-delay = <5>;
1351 qcom,cc-factor = <100>;
1352 qcom,osm-clk-rate = <200000000>;
1353 qcom,xo-clk-rate = <19200000>;
1355 qcom,l-val-base = <0x17916004 0x17816004>;
1356 qcom,apcs-itm-present = <0x179d143c 0x179d143c>;
1357 qcom,apcs-pll-user-ctl = <0x1791600c 0x1781600c>;
1358 qcom,apcs-cfg-rcgr = <0x17911054 0x17811054>;
1359 qcom,apcs-cmd-rcgr = <0x17911050 0x17811050>;
1360 qcom,apm-mode-ctl = <0x179d0004 0x179d0010>;
1361 qcom,apm-ctrl-status = <0x179d000c 0x179d0018>;
1363 qcom,apm-threshold-voltage = <872000>;
1371 clock-names = "aux_clk", "xo_a";
1372 clocks = <&clock_gcc HMSS_GPLL0_CLK_SRC>,
1373 <&clock_rpmcc RPM_XO_A_CLK_SRC>;
1378 msm_cpufreq: qcom,msm-cpufreq {
1379 compatible = "qcom,msm-cpufreq";
1380 clock-names = "cpu0_clk", "cpu4_clk";
1381 clocks = <&clock_cpu PWRCL_CLK>,
1382 <&clock_cpu PERFCL_CLK>;
1384 qcom,governor-per-policy;
1386 qcom,cpufreq-table-0 =
1396 qcom,cpufreq-table-4 =
1407 sdhc_1: sdhci@c0c4000 {
1408 compatible = "qcom,sdhci-msm-v5";
1409 reg = <0xc0c4000 0x1000>, <0xc0c5000 0x1000>;
1410 reg-names = "hc_mem", "cmdq_mem";
1412 interrupts = <0 110 0>, <0 112 0>;
1413 interrupt-names = "hc_irq", "pwr_irq";
1415 qcom,bus-width = <8>;
1416 qcom,large-address-bus;
1417 sdhc-msm-crypto = <&sdcc1_ice>;
1419 qcom,devfreq,freq-table = <50000000 200000000>;
1421 qcom,msm-bus,name = "sdhc1";
1422 qcom,msm-bus,num-cases = <9>;
1423 qcom,msm-bus,num-paths = <2>;
1424 qcom,msm-bus,vectors-KBps =
1426 <78 512 0 0>, <1 606 0 0>,
1431 <78 512 52286 80000>,
1432 <1 606 80000 80000>,
1434 <78 512 65360 100000>,
1435 <1 606 100000 100000>,
1437 <78 512 130718 200000>,
1438 <1 606 133320 133320>,
1440 <78 512 130718 200000>,
1441 <1 606 150000 150000>,
1443 <78 512 261438 400000>,
1444 <1 606 300000 300000>,
1446 <78 512 261438 400000>,
1447 <1 606 300000 300000>,
1448 /* Max. bandwidth */
1449 <78 512 1338562 4096000>,
1450 <1 606 1338562 4096000>;
1451 qcom,bus-bw-vectors-bps = <0 400000 20000000 25000000 50000000
1452 100000000 200000000 400000000 4294967295>;
1454 clocks = <&clock_gcc GCC_SDCC1_AHB_CLK>,
1455 <&clock_gcc GCC_SDCC1_APPS_CLK>,
1456 <&clock_gcc GCC_SDCC1_ICE_CORE_CLK>;
1457 clock-names = "iface_clk", "core_clk", "ice_core_clk";
1458 qcom,ice-clk-rates = <300000000 75000000>;
1460 status = "disabled";
1463 sdhc_2: sdhci@c084000 {
1464 compatible = "qcom,sdhci-msm-v5";
1465 reg = <0xc084000 0x1000>;
1466 reg-names = "hc_mem";
1468 interrupts = <0 125 0>, <0 221 0>;
1469 interrupt-names = "hc_irq", "pwr_irq";
1471 qcom,bus-width = <4>;
1472 qcom,large-address-bus;
1474 qcom,msm-bus,name = "sdhc2";
1475 qcom,msm-bus,num-cases = <8>;
1476 qcom,msm-bus,num-paths = <2>;
1477 qcom,msm-bus,vectors-KBps =
1479 <81 512 0 0>, <1 608 0 0>,
1484 <81 512 52286 80000>,
1485 <1 608 80000 80000>,
1487 <81 512 65360 100000>,
1488 <1 608 100000 100000>,
1490 <81 512 130718 200000>,
1491 <1 608 133320 133320>,
1493 <81 512 261438 200000>,
1494 <1 608 150000 150000>,
1496 <81 512 261438 400000>,
1497 <1 608 300000 300000>,
1498 /* Max. bandwidth */
1499 <81 512 1338562 4096000>,
1500 <1 608 1338562 4096000>;
1501 qcom,bus-bw-vectors-bps = <0 400000 20000000 25000000 50000000
1502 100000000 200000000 4294967295>;
1504 qcom,devfreq,freq-table = <50000000 200000000>;
1505 clocks = <&clock_gcc GCC_SDCC2_AHB_CLK>,
1506 <&clock_gcc GCC_SDCC2_APPS_CLK>;
1507 clock-names = "iface_clk", "core_clk";
1509 status = "disabled";
1512 ipa_hw: qcom,ipa@14780000 {
1513 compatible = "qcom,ipa";
1514 reg = <0x14780000 0x4effc>, <0x14784000 0x26934>;
1515 reg-names = "ipa-base", "bam-base";
1516 interrupts = <0 333 0>,
1518 interrupt-names = "ipa-irq", "bam-irq";
1519 qcom,ipa-hw-ver = <6>; /* IPA core version = IPAv2.6L */
1520 qcom,ipa-hw-mode = <0>; /* IPA hw type = Normal */
1521 qcom,wan-rx-ring-size = <192>; /* IPA WAN-rx-ring-size*/
1522 qcom,lan-rx-ring-size = <192>; /* IPA LAN-rx-ring-size*/
1523 clocks = <&clock_rpmcc RPM_IPA_CLK>,
1524 <&clock_rpmcc AGGR2_NOC_SMMU_CLK>;
1525 clock-names = "core_clk", "smmu_clk";
1527 qcom,smmu-disable-htw;
1528 qcom,smmu-s1-bypass;
1530 qcom,use-ipa-tethering-bridge;
1531 qcom,modem-cfg-emb-pipe-flt;
1534 qcom,msm-bus,name = "ipa";
1535 qcom,msm-bus,num-cases = <4>;
1536 qcom,msm-bus,num-paths = <2>;
1537 qcom,msm-bus,vectors-KBps =
1542 <90 512 80000 640000>,
1543 <1 676 80000 80000>,
1545 <90 512 206000 960000>,
1546 <1 676 206000 160000>,
1548 <90 512 206000 960000>,
1549 <1 676 206000 160000>;
1550 qcom,bus-vector-names = "MIN", "SVS", "PERF", "TURBO";
1551 qcom,rx-polling-sleep-ms = <1>; /* Polling sleep interval */
1552 qcom,ipa-polling-iteration = <40>; /* Polling Iteration */
1554 ipa_smmu_ap: ipa_smmu_ap {
1555 compatible = "qcom,ipa-smmu-ap-cb";
1556 iommus = <&anoc2_smmu 0x19C0>;
1557 qcom,iova-mapping = <0x10000000 0x40000000>;
1560 ipa_smmu_wlan: ipa_smmu_wlan {
1561 status = "disabled";
1562 compatible = "qcom,ipa-smmu-wlan-cb";
1563 iommus = <&anoc2_smmu 0x19C1>;
1566 ipa_smmu_uc: ipa_smmu_uc {
1567 compatible = "qcom,ipa-smmu-uc-cb";
1568 iommus = <&anoc2_smmu 0x19C2>;
1569 qcom,iova-mapping = <0x40000000 0x20000000>;
1573 qcom,rmtfs_sharedmem@85e00000 {
1574 compatible = "qcom,sharedmem-uio";
1575 reg = <0x85e00000 0x200000>;
1576 reg-names = "rmtfs";
1577 qcom,client-id = <0x00000001>;
1581 compatible = "qcom,rmnet-ipa";
1584 qcom,ipa-advertise-sg-support;
1587 qcom,ipc-spinlock@1f40000 {
1588 compatible = "qcom,ipc-spinlock-sfpb";
1589 reg = <0x1f40000 0x8000>;
1590 qcom,num-locks = <8>;
1593 qcom,smem@86000000 {
1594 compatible = "qcom,smem";
1595 reg = <0x86000000 0x200000>,
1599 reg-names = "smem", "irq-reg-base", "aux-mem1",
1600 "smem_targ_info_reg";
1604 qcom,msm-cdsp-loader {
1605 compatible = "qcom,cdsp-loader";
1606 qcom,proc-img-to-load = "cdsp";
1609 qcom,msm-adsprpc-mem {
1610 compatible = "qcom,msm-adsprpc-mem-region";
1611 memory-region = <&adsp_mem>;
1615 compatible = "qcom,msm-fastrpc-adsp";
1617 qcom,fastrpc-vmid-heap-shared;
1619 qcom,msm_fastrpc_compute_cb1 {
1620 compatible = "qcom,msm-fastrpc-compute-cb";
1621 label = "adsprpc-smd";
1622 iommus = <&lpass_q6_smmu 3>;
1625 qcom,msm_fastrpc_compute_cb2 {
1626 compatible = "qcom,msm-fastrpc-compute-cb";
1627 label = "adsprpc-smd";
1628 iommus = <&lpass_q6_smmu 7>;
1631 qcom,msm_fastrpc_compute_cb3 {
1632 compatible = "qcom,msm-fastrpc-compute-cb";
1633 label = "adsprpc-smd";
1634 iommus = <&lpass_q6_smmu 8>;
1637 qcom,msm_fastrpc_compute_cb4 {
1638 compatible = "qcom,msm-fastrpc-compute-cb";
1639 label = "adsprpc-smd";
1640 iommus = <&lpass_q6_smmu 9>;
1643 qcom,msm_fastrpc_compute_cb5 {
1644 compatible = "qcom,msm-fastrpc-compute-cb";
1645 label = "cdsprpc-smd";
1646 iommus = <&turing_q6_smmu 3>;
1649 qcom,msm_fastrpc_compute_cb6 {
1650 compatible = "qcom,msm-fastrpc-compute-cb";
1651 label = "cdsprpc-smd";
1652 iommus = <&turing_q6_smmu 4>;
1655 qcom,msm_fastrpc_compute_cb7 {
1656 compatible = "qcom,msm-fastrpc-compute-cb";
1657 label = "cdsprpc-smd";
1658 iommus = <&turing_q6_smmu 5>;
1662 qcom,msm_fastrpc_compute_cb8 {
1663 compatible = "qcom,msm-fastrpc-compute-cb";
1664 label = "cdsprpc-smd";
1665 iommus = <&turing_q6_smmu 6>;
1668 qcom,msm_fastrpc_compute_cb9 {
1669 compatible = "qcom,msm-fastrpc-compute-cb";
1670 label = "cdsprpc-smd";
1671 iommus = <&turing_q6_smmu 7>;
1674 qcom,msm_fastrpc_compute_cb10 {
1675 compatible = "qcom,msm-fastrpc-compute-cb";
1676 label = "cdsprpc-smd";
1677 iommus = <&turing_q6_smmu 8>;
1680 qcom,msm_fastrpc_compute_cb11 {
1681 compatible = "qcom,msm-fastrpc-compute-cb";
1682 label = "cdsprpc-smd";
1683 iommus = <&turing_q6_smmu 9>;
1686 qcom,msm_fastrpc_compute_cb12 {
1687 compatible = "qcom,msm-fastrpc-compute-cb";
1688 label = "cdsprpc-smd";
1689 iommus = <&turing_q6_smmu 10>;
1692 qcom,msm_fastrpc_compute_cb13 {
1693 compatible = "qcom,msm-fastrpc-compute-cb";
1694 label = "cdsprpc-smd";
1695 iommus = <&turing_q6_smmu 11>;
1702 compatible = "qcom,dcc";
1703 reg = <0x10b3000 0x1000>,
1705 reg-names = "dcc-base", "dcc-ram-base";
1707 clocks = <&clock_gcc GCC_DCC_AHB_CLK>;
1708 clock-names = "dcc_clk";
1711 qcom,glink-smem-native-xprt-modem@86000000 {
1712 compatible = "qcom,glink-smem-native-xprt";
1713 reg = <0x86000000 0x200000>,
1715 reg-names = "smem", "irq-reg-base";
1716 qcom,irq-mask = <0x8000>;
1717 interrupts = <0 452 1>;
1721 qcom,glink-smem-native-xprt-adsp@86000000 {
1722 compatible = "qcom,glink-smem-native-xprt";
1723 reg = <0x86000000 0x200000>,
1725 reg-names = "smem", "irq-reg-base";
1726 qcom,irq-mask = <0x200>;
1727 interrupts = <0 157 1>;
1729 qcom,qos-config = <&glink_qos_adsp>;
1730 qcom,ramp-time = <0xaf>;
1733 glink_qos_adsp: qcom,glink-qos-config-adsp {
1734 compatible = "qcom,glink-qos-config";
1735 qcom,flow-info = <0x3c 0x0>,
1739 qcom,mtu-size = <0x800>;
1740 qcom,tput-stats-cycle = <0xa>;
1743 qcom,glink-smem-native-xprt-cdsp@86000000 {
1744 compatible = "qcom,glink-smem-native-xprt";
1745 reg = <0x86000000 0x200000>,
1747 reg-names = "smem", "irq-reg-base";
1748 qcom,irq-mask = <0x20000000>;
1749 interrupts = <0 513 1>;
1753 qcom,glink-smem-native-xprt-rpm@778000 {
1754 compatible = "qcom,glink-rpm-native-xprt";
1755 reg = <0x778000 0x7000>,
1757 reg-names = "msgram", "irq-reg-base";
1758 qcom,irq-mask = <0x1>;
1759 interrupts = <0 168 1>;
1763 glink_mpss: qcom,glink-ssr-modem {
1764 compatible = "qcom,glink_ssr";
1767 qcom,notify-edges = <&glink_lpass>, <&glink_rpm>,
1772 glink_lpass: qcom,glink-ssr-adsp {
1773 compatible = "qcom,glink_ssr";
1775 qcom,edge = "lpass";
1776 qcom,notify-edges = <&glink_mpss>, <&glink_rpm>,
1781 glink_rpm: qcom,glink-ssr-rpm {
1782 compatible = "qcom,glink_ssr";
1785 qcom,notify-edges = <&glink_lpass>, <&glink_mpss>,
1790 glink_cdsp: qcom,glink-ssr-cdsp {
1791 compatible = "qcom,glink_ssr";
1794 qcom,notify-edges = <&glink_lpass>, <&glink_mpss>,
1799 glink_spi_xprt_wdsp: qcom,glink-spi-xprt-wdsp {
1800 compatible = "qcom,glink-spi-xprt";
1802 qcom,remote-fifo-config = <&glink_fifo_wdsp>;
1803 qcom,qos-config = <&glink_qos_wdsp>;
1804 qcom,ramp-time = <0x10>,
1810 glink_fifo_wdsp: qcom,glink-fifo-config-wdsp {
1811 compatible = "qcom,glink-fifo-config";
1812 qcom,out-read-idx-reg = <0x12000>;
1813 qcom,out-write-idx-reg = <0x12004>;
1814 qcom,in-read-idx-reg = <0x1200c>;
1815 qcom,in-write-idx-reg = <0x12010>;
1818 glink_qos_wdsp: qcom,glink-qos-config-wdsp {
1819 compatible = "qcom,glink-qos-config";
1820 qcom,flow-info = <0x80 0x0>,
1824 qcom,mtu-size = <0x800>;
1825 qcom,tput-stats-cycle = <0xa>;
1829 compatible = "qcom,glinkpkt";
1831 qcom,glinkpkt-at-mdm0 {
1832 qcom,glinkpkt-transport = "smem";
1833 qcom,glinkpkt-edge = "mpss";
1834 qcom,glinkpkt-ch-name = "DS";
1835 qcom,glinkpkt-dev-name = "at_mdm0";
1838 qcom,glinkpkt-loopback_cntl {
1839 qcom,glinkpkt-transport = "lloop";
1840 qcom,glinkpkt-edge = "local";
1841 qcom,glinkpkt-ch-name = "LOCAL_LOOPBACK_CLNT";
1842 qcom,glinkpkt-dev-name = "glink_pkt_loopback_ctrl";
1845 qcom,glinkpkt-loopback_data {
1846 qcom,glinkpkt-transport = "lloop";
1847 qcom,glinkpkt-edge = "local";
1848 qcom,glinkpkt-ch-name = "glink_pkt_lloop_CLNT";
1849 qcom,glinkpkt-dev-name = "glink_pkt_loopback";
1852 qcom,glinkpkt-apr-apps2 {
1853 qcom,glinkpkt-transport = "smem";
1854 qcom,glinkpkt-edge = "adsp";
1855 qcom,glinkpkt-ch-name = "apr_apps2";
1856 qcom,glinkpkt-dev-name = "apr_apps2";
1859 qcom,glinkpkt-data40-cntl {
1860 qcom,glinkpkt-transport = "smem";
1861 qcom,glinkpkt-edge = "mpss";
1862 qcom,glinkpkt-ch-name = "DATA40_CNTL";
1863 qcom,glinkpkt-dev-name = "smdcntl8";
1866 qcom,glinkpkt-data1 {
1867 qcom,glinkpkt-transport = "smem";
1868 qcom,glinkpkt-edge = "mpss";
1869 qcom,glinkpkt-ch-name = "DATA1";
1870 qcom,glinkpkt-dev-name = "smd7";
1873 qcom,glinkpkt-data4 {
1874 qcom,glinkpkt-transport = "smem";
1875 qcom,glinkpkt-edge = "mpss";
1876 qcom,glinkpkt-ch-name = "DATA4";
1877 qcom,glinkpkt-dev-name = "smd8";
1880 qcom,glinkpkt-data11 {
1881 qcom,glinkpkt-transport = "smem";
1882 qcom,glinkpkt-edge = "mpss";
1883 qcom,glinkpkt-ch-name = "DATA11";
1884 qcom,glinkpkt-dev-name = "smd11";
1888 rpm_bus: qcom,rpm-smd {
1889 compatible = "qcom,rpm-glink";
1890 qcom,glink-edge = "rpm";
1891 rpm-channel-name = "rpm_requests";
1895 compatible = "qcom,ipc_router";
1899 qcom,ipc_router_modem_xprt {
1900 compatible = "qcom,ipc_router_glink_xprt";
1901 qcom,ch-name = "IPCRTR";
1902 qcom,xprt-remote = "mpss";
1903 qcom,glink-xprt = "smem";
1904 qcom,xprt-linkid = <1>;
1905 qcom,xprt-version = <1>;
1906 qcom,fragmented-data;
1909 qcom,ipc_router_q6_xprt {
1910 compatible = "qcom,ipc_router_glink_xprt";
1911 qcom,ch-name = "IPCRTR";
1912 qcom,xprt-remote = "lpass";
1913 qcom,glink-xprt = "smem";
1914 qcom,xprt-linkid = <1>;
1915 qcom,xprt-version = <1>;
1916 qcom,fragmented-data;
1919 qcom,ipc_router_cdsp_xprt {
1920 compatible = "qcom,ipc_router_glink_xprt";
1921 qcom,ch-name = "IPCRTR";
1922 qcom,xprt-remote = "cdsp";
1923 qcom,glink-xprt = "smem";
1924 qcom,xprt-linkid = <1>;
1925 qcom,xprt-version = <1>;
1926 qcom,fragmented-data;
1929 qcom,venus@cce0000 {
1930 compatible = "qcom,pil-tz-generic";
1931 reg = <0xcce0000 0x4000>;
1933 vdd-supply = <&gdsc_venus>;
1934 qcom,proxy-reg-names = "vdd";
1936 clocks = <&clock_mmss MMSS_VIDEO_CORE_CLK>,
1937 <&clock_mmss MMSS_MNOC_AHB_CLK>,
1938 <&clock_mmss MMSS_VIDEO_AHB_CLK>,
1939 <&clock_rpmcc MMSSNOC_AXI_CLK>,
1940 <&clock_mmss MMSS_VIDEO_AXI_CLK>;
1941 clock-names = "core_clk", "mnoc_ahb_clk", "iface_clk",
1942 "noc_axi_clk", "bus_clk";
1943 qcom,proxy-clock-names = "core_clk", "mnoc_ahb_clk",
1944 "iface_clk", "noc_axi_clk", "bus_clk";
1946 qcom,msm-bus,name = "pil-venus";
1947 qcom,msm-bus,num-cases = <2>;
1948 qcom,msm-bus,num-paths = <1>;
1949 qcom,msm-bus,vectors-KBps =
1954 qcom,proxy-timeout-ms = <100>;
1955 qcom,firmware-name = "venus";
1956 memory-region = <&venus_fw_mem>;
1960 qcom,icnss@18800000 {
1961 compatible = "qcom,icnss";
1962 reg = <0x18800000 0x800000>,
1963 <0xa0000000 0x10000000>,
1964 <0xb0000000 0x10000>;
1965 reg-names = "membase", "smmu_iova_base", "smmu_iova_ipa";
1966 iommus = <&anoc2_smmu 0x1a00>,
1967 <&anoc2_smmu 0x1a01>;
1968 clocks = <&clock_rpmcc RPM_RF_CLK1_PIN>;
1969 clock-names = "cxo_ref_clk_pin";
1970 interrupts = <0 413 0>, /* CE0 */
1971 <0 414 0>, /* CE1 */
1972 <0 415 0>, /* CE2 */
1973 <0 416 0>, /* CE3 */
1974 <0 417 0>, /* CE4 */
1975 <0 418 0>, /* CE5 */
1976 <0 420 0>, /* CE6 */
1977 <0 421 0>, /* CE7 */
1978 <0 422 0>, /* CE8 */
1979 <0 423 0>, /* CE9 */
1980 <0 424 0>, /* CE10 */
1981 <0 425 0>; /* CE11 */
1982 vdd-0.8-cx-mx-supply = <&pm660_l5>;
1983 vdd-1.8-xo-supply = <&pm660_l9_pin_ctrl>;
1984 vdd-1.3-rfa-supply = <&pm660_l6_pin_ctrl>;
1985 vdd-3.3-ch0-supply = <&pm660_l19_pin_ctrl>;
1986 qcom,vdd-0.8-cx-mx-config = <848000 848000>;
1987 qcom,vdd-1.8-xo-config = <1750000 1900000>;
1988 qcom,vdd-1.3-rfa-config = <1200000 1370000>;
1989 qcom,vdd-3.3-ch0-config = <3200000 3400000>;
1990 qcom,wlan-msa-memory = <0x100000>;
1991 qcom,wlan-msa-fixed-region = <&wlan_msa_mem>;
1992 qcom,smmu-s1-bypass;
1995 qcom,lpass@15700000 {
1996 compatible = "qcom,pil-tz-generic";
1997 reg = <0x15700000 0x00100>;
1998 reg-names = "base_reg";
1999 interrupts = <0 162 1>;
2001 vdd_cx-supply = <&pm660l_l9_level>;
2002 qcom,proxy-reg-names = "vdd_cx";
2003 qcom,vdd_cx-uV-uA = <RPM_SMD_REGULATOR_LEVEL_TURBO 100000>;
2005 clocks = <&clock_rpmcc CXO_PIL_LPASS_CLK>;
2007 qcom,proxy-clock-names = "xo";
2010 qcom,proxy-timeout-ms = <10000>;
2011 qcom,smem-id = <423>;
2012 qcom,sysmon-id = <1>;
2013 qcom,ssctl-instance-id = <0x14>;
2014 qcom,firmware-name = "adsp";
2015 memory-region = <&adsp_fw_mem>;
2017 /* GPIO inputs from lpass */
2018 qcom,gpio-err-fatal = <&smp2pgpio_ssr_smp2p_2_in 0 0>;
2019 qcom,gpio-proxy-unvote = <&smp2pgpio_ssr_smp2p_2_in 2 0>;
2020 qcom,gpio-err-ready = <&smp2pgpio_ssr_smp2p_2_in 1 0>;
2021 qcom,gpio-stop-ack = <&smp2pgpio_ssr_smp2p_2_in 3 0>;
2023 /* GPIO output to lpass */
2024 qcom,gpio-force-stop = <&smp2pgpio_ssr_smp2p_2_out 0 0>;
2028 qcom,turing@1a300000 {
2029 compatible = "qcom,pil-tz-generic";
2030 reg = <0x1a300000 0x00100>;
2031 reg-names = "base_reg";
2032 interrupts = <0 518 1>;
2034 vdd_cx-supply = <&pm660l_s3_level>;
2035 qcom,proxy-reg-names = "vdd_cx";
2036 qcom,vdd_cx-uV-uA = <RPM_SMD_REGULATOR_LEVEL_TURBO 100000>;
2038 clocks = <&clock_rpmcc CXO_PIL_CDSP_CLK>;
2040 qcom,proxy-clock-names = "xo";
2043 qcom,proxy-timeout-ms = <10000>;
2044 qcom,smem-id = <601>;
2045 qcom,sysmon-id = <7>;
2046 qcom,ssctl-instance-id = <0x17>;
2047 qcom,firmware-name = "cdsp";
2048 memory-region = <&cdsp_fw_mem>;
2050 /* GPIO inputs from turing */
2051 qcom,gpio-err-fatal = <&smp2pgpio_ssr_smp2p_5_in 0 0>;
2052 qcom,gpio-proxy-unvote = <&smp2pgpio_ssr_smp2p_5_in 2 0>;
2053 qcom,gpio-err-ready = <&smp2pgpio_ssr_smp2p_5_in 1 0>;
2054 qcom,gpio-stop-ack = <&smp2pgpio_ssr_smp2p_5_in 3 0>;
2056 /* GPIO output to turing*/
2057 qcom,gpio-force-stop = <&smp2pgpio_ssr_smp2p_5_out 0 0>;
2061 pil_modem: qcom,mss@4080000 {
2062 compatible = "qcom,pil-q6v55-mss";
2063 reg = <0x4080000 0x100>,
2070 reg-names = "qdsp6_base", "halt_q6", "halt_modem",
2071 "halt_nc", "rmb_base", "restart_reg",
2072 "cxip_lm_vote_clear";
2074 clocks = <&clock_rpmcc RPM_XO_CLK_SRC>,
2075 <&clock_gcc GCC_MSS_CFG_AHB_CLK>,
2076 <&clock_gcc GCC_BIMC_MSS_Q6_AXI_CLK>,
2077 <&clock_gcc GCC_BOOT_ROM_AHB_CLK>,
2078 <&clock_gcc GPLL0_OUT_MSSCC>,
2079 <&clock_gcc GCC_MSS_SNOC_AXI_CLK>,
2080 <&clock_gcc GCC_MSS_MNOC_BIMC_AXI_CLK>,
2081 <&clock_rpmcc RPM_QDSS_CLK>;
2082 clock-names = "xo", "iface_clk", "bus_clk",
2083 "mem_clk", "gpll0_mss_clk", "snoc_axi_clk",
2084 "mnoc_axi_clk", "qdss_clk";
2085 qcom,proxy-clock-names = "xo", "qdss_clk";
2086 qcom,active-clock-names = "iface_clk", "bus_clk", "mem_clk",
2087 "gpll0_mss_clk", "snoc_axi_clk",
2090 interrupts = <0 448 1>;
2091 vdd_cx-supply = <&pm660l_s3_level>;
2092 vdd_cx-voltage = <RPM_SMD_REGULATOR_LEVEL_TURBO>;
2093 vdd_mx-supply = <&pm660l_s5_level>;
2094 vdd_mx-uV = <RPM_SMD_REGULATOR_LEVEL_TURBO>;
2095 qcom,firmware-name = "modem";
2097 qcom,sysmon-id = <0>;
2098 qcom,minidump-id = <0>;
2099 qcom,ssctl-instance-id = <0x12>;
2101 memory-region = <&modem_fw_mem>;
2102 qcom,mem-protect-id = <0xF>;
2105 /* GPIO inputs from mss */
2106 qcom,gpio-err-fatal = <&smp2pgpio_ssr_smp2p_1_in 0 0>;
2107 qcom,gpio-err-ready = <&smp2pgpio_ssr_smp2p_1_in 1 0>;
2108 qcom,gpio-proxy-unvote = <&smp2pgpio_ssr_smp2p_1_in 2 0>;
2109 qcom,gpio-stop-ack = <&smp2pgpio_ssr_smp2p_1_in 3 0>;
2110 qcom,gpio-shutdown-ack = <&smp2pgpio_ssr_smp2p_1_in 7 0>;
2112 /* GPIO output to mss */
2113 qcom,gpio-force-stop = <&smp2pgpio_ssr_smp2p_1_out 0 0>;
2116 compatible = "qcom,pil-mba-mem";
2117 memory-region = <&pil_mba_mem>;
2122 compatible = "qcom,msm-rtb";
2123 qcom,rtb-size = <0x100000>;
2126 qcom,mpm2-sleep-counter@10a3000 {
2127 compatible = "qcom,mpm2-sleep-counter";
2128 reg = <0x10a3000 0x1000>;
2129 clock-frequency = <32768>;
2132 qcom,msm-imem@146bf000 {
2133 compatible = "qcom,msm-imem";
2134 reg = <0x146bf000 0x1000>;
2135 ranges = <0x0 0x146bf000 0x1000>;
2136 #address-cells = <1>;
2140 compatible = "qcom,msm-imem-mem_dump_table";
2145 compatible = "qcom,msm-imem-dload-type";
2149 restart_reason@65c {
2150 compatible = "qcom,msm-imem-restart_reason";
2155 compatible = "qcom,msm-imem-boot_stats";
2160 compatible = "qcom,msm-imem-kaslr_offset";
2165 compatible = "qcom,msm-imem-pil";
2170 compatible = "qcom,msm-imem-diag-dload";
2175 compatible = "qcom,msm-imem-minidump";
2181 compatible = "qcom,gladiator-hang-detect";
2182 qcom,threshold-arr = <0x179d141c 0x179d1420
2183 0x179d1424 0x179d1428
2184 0x179d142c 0x179d1430>;
2185 qcom,config-reg = <0x179d1434>;
2188 qcom,msm-gladiator-v2@17900000 {
2189 compatible = "qcom,msm-gladiator-v2";
2190 reg = <0x17900000 0xe000>;
2191 reg-names = "gladiator_base";
2192 interrupts = <0 22 0>;
2193 clock-names = "atb_clk";
2194 clocks = <&clock_rpmcc RPM_QDSS_CLK>;
2198 compatible = "arm,armv8-pmuv3";
2200 interrupts = <1 6 4>;
2203 qcom_seecom: qseecom@86d00000 {
2204 compatible = "qcom,qseecom";
2205 reg = <0x86d00000 0x2200000>;
2206 reg-names = "secapp-region";
2207 qcom,hlos-num-ce-hw-instances = <1>;
2208 qcom,hlos-ce-hw-instance = <0>;
2209 qcom,qsee-ce-hw-instance = <0>;
2210 qcom,disk-encrypt-pipe-pair = <2>;
2213 qcom,no-clock-support;
2214 qcom,msm-bus,name = "qseecom-noc";
2215 qcom,msm-bus,num-cases = <4>;
2216 qcom,msm-bus,num-paths = <1>;
2217 qcom,msm-bus,vectors-KBps =
2219 <55 512 200000 400000>,
2220 <55 512 300000 800000>,
2221 <55 512 400000 1000000>;
2222 clock-names = "core_clk_src", "core_clk",
2223 "iface_clk", "bus_clk";
2224 clocks = <&clock_rpmcc QSEECOM_CE1_CLK>,
2225 <&clock_rpmcc QSEECOM_CE1_CLK>,
2226 <&clock_rpmcc QSEECOM_CE1_CLK>,
2227 <&clock_rpmcc QSEECOM_CE1_CLK>;
2228 qcom,ce-opp-freq = <171430000>;
2229 qcom,qsee-reentrancy-support = <2>;
2232 qcom_cedev: qcedev@1de0000{
2233 compatible = "qcom,qcedev";
2234 reg = <0x1de0000 0x20000>,
2235 <0x1dc4000 0x24000>;
2236 reg-names = "crypto-base","crypto-bam-base";
2237 interrupts = <0 206 0>;
2238 qcom,bam-pipe-pair = <1>;
2239 qcom,ce-hw-instance = <0>;
2240 qcom,ce-device = <0>;
2243 qcom,msm-bus,name = "qcedev-noc";
2244 qcom,msm-bus,num-cases = <2>;
2245 qcom,msm-bus,num-paths = <1>;
2246 qcom,msm-bus,vectors-KBps =
2248 <55 512 393600 393600>;
2249 clock-names = "core_clk_src", "core_clk",
2250 "iface_clk", "bus_clk";
2251 clocks = <&clock_rpmcc QCEDEV_CE1_CLK>,
2252 <&clock_rpmcc QCEDEV_CE1_CLK>,
2253 <&clock_rpmcc QCEDEV_CE1_CLK>,
2254 <&clock_rpmcc QCEDEV_CE1_CLK>;
2255 qcom,ce-opp-freq = <171430000>;
2258 qcom_crypto: qcrypto@1de0000 {
2259 compatible = "qcom,qcrypto";
2260 reg = <0x1de0000 0x20000>,
2261 <0x1dc4000 0x24000>;
2262 reg-names = "crypto-base","crypto-bam-base";
2263 interrupts = <0 206 0>;
2264 qcom,bam-pipe-pair = <2>;
2265 qcom,ce-hw-instance = <0>;
2266 qcom,ce-device = <0>;
2269 qcom,clk-mgmt-sus-res;
2270 qcom,msm-bus,name = "qcrypto-noc";
2271 qcom,msm-bus,num-cases = <2>;
2272 qcom,msm-bus,num-paths = <1>;
2273 qcom,msm-bus,vectors-KBps =
2275 <55 512 393600 393600>;
2276 clock-names = "core_clk_src", "core_clk",
2277 "iface_clk", "bus_clk";
2278 clocks = <&clock_rpmcc QCRYPTO_CE1_CLK>,
2279 <&clock_rpmcc QCRYPTO_CE1_CLK>,
2280 <&clock_rpmcc QCRYPTO_CE1_CLK>,
2281 <&clock_rpmcc QCRYPTO_CE1_CLK>;
2282 qcom,ce-opp-freq = <171430000>;
2283 qcom,use-sw-aes-cbc-ecb-ctr-algo;
2284 qcom,use-sw-aes-xts-algo;
2285 qcom,use-sw-aes-ccm-algo;
2286 qcom,use-sw-ahash-algo;
2287 qcom,use-sw-aead-algo;
2288 qcom,use-sw-hmac-algo;
2291 qcom_tzlog: tz-log@146bf720 {
2292 compatible = "qcom,tz-log";
2293 reg = <0x146bf720 0x3000>;
2294 qcom,hyplog-enabled;
2295 hyplog-address-offset = <0x410>;
2296 hyplog-size-offset = <0x414>;
2299 qcom_rng: qrng@793000 {
2300 compatible = "qcom,msm-rng";
2301 reg = <0x793000 0x1000>;
2302 qcom,msm-rng-iface-clk;
2303 qcom,no-qrng-config;
2304 qcom,msm-bus,name = "msm-rng-noc";
2305 qcom,msm-bus,num-cases = <2>;
2306 qcom,msm-bus,num-paths = <1>;
2307 qcom,msm-bus,vectors-KBps =
2308 <1 618 0 0>, /* No vote */
2309 <1 618 0 800>; /* 100 KHz */
2310 clocks = <&clock_gcc GCC_PRNG_AHB_CLK>;
2311 clock-names = "iface_clk";
2315 compatible = "qcom,core-hang-detect";
2317 qcom,threshold-arr = <0x179880b0 0x179980b0
2318 0x179a80b0 0x179b80b0>;
2319 qcom,config-arr = <0x179880b8 0x179980b8
2320 0x179a80b8 0x179b80b8>;
2324 compatible = "qcom,core-hang-detect";
2326 qcom,threshold-arr = <0x178880b0 0x178980b0
2327 0x178a80b0 0x178b80b0>;
2328 qcom,config-arr = <0x178880b8 0x178980b8
2329 0x178a80b8 0x178b80b8>;
2332 ufsphy1: ufsphy@1da7000 {
2333 compatible = "qcom,ufs-phy-qmp-v3-660";
2334 reg = <0x1da7000 0xdb8>;
2335 reg-names = "phy_mem";
2337 clock-names = "ref_clk_src",
2340 clocks = <&clock_rpmcc RPM_LN_BB_CLK1>,
2341 <&clock_gcc GCC_UFS_CLKREF_CLK>,
2342 <&clock_gcc GCC_UFS_PHY_AUX_CLK>;
2343 status = "disabled";
2346 ufs1: ufshc@1da4000 {
2347 compatible = "qcom,ufshc";
2348 reg = <0x1da4000 0x3000>;
2349 interrupts = <0 265 0>;
2351 phy-names = "ufsphy";
2352 ufs-qcom-crypto = <&ufs_ice>;
2361 "tx_lane0_sync_clk",
2362 "rx_lane0_sync_clk";
2364 <&clock_gcc GCC_UFS_AXI_CLK>,
2365 <&clock_gcc GCC_AGGRE2_UFS_AXI_CLK>,
2366 <&clock_gcc GCC_UFS_AHB_CLK>,
2367 <&clock_gcc GCC_UFS_UNIPRO_CORE_CLK>,
2368 <&clock_gcc GCC_UFS_ICE_CORE_CLK>,
2369 <&clock_rpmcc RPM_LN_BB_CLK1>,
2370 <&clock_gcc GCC_UFS_TX_SYMBOL_0_CLK>,
2371 <&clock_gcc GCC_UFS_RX_SYMBOL_0_CLK>;
2373 <50000000 200000000>,
2376 <37500000 150000000>,
2377 <75000000 300000000>,
2382 lanes-per-direction = <1>;
2386 qcom,msm-bus,name = "ufs1";
2387 qcom,msm-bus,num-cases = <12>;
2388 qcom,msm-bus,num-paths = <2>;
2389 qcom,msm-bus,vectors-KBps =
2390 <95 512 0 0>, <1 650 0 0>, /* No vote */
2391 <95 512 922 0>, <1 650 1000 0>, /* PWM G1 */
2392 <95 512 1844 0>, <1 650 1000 0>, /* PWM G2 */
2393 <95 512 3688 0>, <1 650 1000 0>, /* PWM G3 */
2394 <95 512 7376 0>, <1 650 1000 0>, /* PWM G4 */
2395 <95 512 127796 0>, <1 650 1000 0>, /* HS G1 RA */
2396 <95 512 255591 0>, <1 650 1000 0>, /* HS G2 RA */
2397 <95 512 2097152 0>, <1 650 102400 0>, /* HS G3 RA */
2398 <95 512 149422 0>, <1 650 1000 0>, /* HS G1 RB */
2399 <95 512 298189 0>, <1 650 1000 0>, /* HS G2 RB */
2400 <95 512 2097152 0>, <1 650 102400 0>, /* HS G3 RB */
2401 <95 512 7643136 0>, <1 650 307200 0>; /* Max. bandwidth */
2402 qcom,bus-vector-names = "MIN",
2403 "PWM_G1_L1", "PWM_G2_L1", "PWM_G3_L1", "PWM_G4_L1",
2404 "HS_RA_G1_L1", "HS_RA_G2_L1", "HS_RA_G3_L1",
2405 "HS_RB_G1_L1", "HS_RB_G2_L1", "HS_RB_G3_L1",
2408 resets = <&clock_gcc GCC_UFS_BCR>;
2409 reset-names = "core_reset";
2411 status = "disabled";
2414 jtag_fuse: jtagfuse@786040 {
2415 compatible = "qcom,jtag-fuse-v4";
2416 reg = <0x786040 0x8>;
2417 reg-names = "fuse-base";
2420 jtag_mm0: jtagmm@7840000 {
2421 compatible = "qcom,jtagv8-mm";
2422 reg = <0x7840000 0x1000>;
2423 reg-names = "etm-base";
2425 clocks = <&clock_rpmcc RPM_QDSS_CLK>,
2426 <&clock_rpmcc RPM_QDSS_A_CLK>;
2427 clock-names = "core_clk", "core_a_clk";
2429 qcom,coresight-jtagmm-cpu = <&CPU0>;
2432 jtag_mm1: jtagmm@7940000 {
2433 compatible = "qcom,jtagv8-mm";
2434 reg = <0x7940000 0x1000>;
2435 reg-names = "etm-base";
2437 clocks = <&clock_rpmcc RPM_QDSS_CLK>,
2438 <&clock_rpmcc RPM_QDSS_A_CLK>;
2439 clock-names = "core_clk", "core_a_clk";
2441 qcom,coresight-jtagmm-cpu = <&CPU1>;
2444 jtag_mm2: jtagmm@7a40000 {
2445 compatible = "qcom,jtagv8-mm";
2446 reg = <0x7a40000 0x1000>;
2447 reg-names = "etm-base";
2449 clocks = <&clock_rpmcc RPM_QDSS_CLK>,
2450 <&clock_rpmcc RPM_QDSS_A_CLK>;
2451 clock-names = "core_clk", "core_a_clk";
2453 qcom,coresight-jtagmm-cpu = <&CPU2>;
2456 jtag_mm3: jtagmm@7b40000 {
2457 compatible = "qcom,jtagv8-mm";
2458 reg = <0x7b40000 0x1000>;
2459 reg-names = "etm-base";
2461 clocks = <&clock_rpmcc RPM_QDSS_CLK>,
2462 <&clock_rpmcc RPM_QDSS_A_CLK>;
2463 clock-names = "core_clk", "core_a_clk";
2465 qcom,coresight-jtagmm-cpu = <&CPU3>;
2468 jtag_mm4: jtagmm@7c40000 {
2469 compatible = "qcom,jtagv8-mm";
2470 reg = <0x7c40000 0x1000>;
2471 reg-names = "etm-base";
2473 clocks = <&clock_rpmcc RPM_QDSS_CLK>,
2474 <&clock_rpmcc RPM_QDSS_A_CLK>;
2475 clock-names = "core_clk", "core_a_clk";
2477 qcom,coresight-jtagmm-cpu = <&CPU4>;
2480 jtag_mm5: jtagmm@7d40000 {
2481 compatible = "qcom,jtagv8-mm";
2482 reg = <0x7d40000 0x1000>;
2483 reg-names = "etm-base";
2485 clocks = <&clock_rpmcc RPM_QDSS_CLK>,
2486 <&clock_rpmcc RPM_QDSS_A_CLK>;
2487 clock-names = "core_clk", "core_a_clk";
2489 qcom,coresight-jtagmm-cpu = <&CPU5>;
2492 jtag_mm6: jtagmm@7e40000 {
2493 compatible = "qcom,jtagv8-mm";
2494 reg = <0x7e40000 0x1000>;
2495 reg-names = "etm-base";
2497 clocks = <&clock_rpmcc RPM_QDSS_CLK>,
2498 <&clock_rpmcc RPM_QDSS_A_CLK>;
2499 clock-names = "core_clk", "core_a_clk";
2501 qcom,coresight-jtagmm-cpu = <&CPU6>;
2504 jtag_mm7: jtagmm@7f40000 {
2505 compatible = "qcom,jtagv8-mm";
2506 reg = <0x7f40000 0x1000>;
2507 reg-names = "etm-base";
2509 clocks = <&clock_rpmcc RPM_QDSS_CLK>,
2510 <&clock_rpmcc RPM_QDSS_A_CLK>;
2511 clock-names = "core_clk", "core_a_clk";
2513 qcom,coresight-jtagmm-cpu = <&CPU7>;
2517 #include "sdm660-ion.dtsi"
2518 #include "sdm660-bus.dtsi"
2519 #include "msm-pm660.dtsi"
2520 #include "msm-pm660l.dtsi"
2521 #include "msm-pm660-rpm-regulator.dtsi"
2522 #include "msm-pm660l-rpm-regulator.dtsi"
2523 #include "sdm660-regulator.dtsi"
2524 #include "msm-gdsc-660.dtsi"
2525 #include "sdm660-gpu.dtsi"
2526 #include "sdm660-pm.dtsi"
2537 clock-names = "bus_clk";
2538 clocks = <&clock_mmss MMSS_BIMC_SMMU_AXI_CLK>;
2539 proxy-supply = <&gdsc_bimc_smmu>;
2540 qcom,proxy-consumer-enable;
2544 &gdsc_hlos1_vote_lpass_adsp {
2548 &gdsc_hlos1_vote_turing_adsp {
2552 &gdsc_hlos2_vote_turing_adsp {
2561 qcom,support-hw-trigger;
2570 parent-supply = <&gdsc_camss_top>;
2575 parent-supply = <&gdsc_camss_top>;
2580 parent-supply = <&gdsc_camss_top>;
2581 qcom,support-hw-trigger;
2586 proxy-supply = <&gdsc_mdss>;
2587 qcom,proxy-consumer-enable;
2592 clock-names = "core_root_clk";
2593 clocks = <&clock_gfx GFX3D_CLK_SRC>;
2594 qcom,force-enable-root-clk;
2595 parent-supply = <&gfx_vreg_corner>;
2604 lmh_dcvs0: qcom,limits-dcvs@0 {
2605 compatible = "qcom,msm-hw-limits";
2606 interrupts = <GIC_SPI 37 IRQ_TYPE_LEVEL_HIGH>;
2609 lmh_dcvs1: qcom,limits-dcvs@1 {
2610 compatible = "qcom,msm-hw-limits";
2611 interrupts = <GIC_SPI 38 IRQ_TYPE_LEVEL_HIGH>;
2615 #include "msm-arm-smmu-660.dtsi"
2616 #include "msm-arm-smmu-impl-defs-660.dtsi"
2617 #include "sdm660-common.dtsi"
2618 #include "sdm660-blsp.dtsi"
2619 #include "msm-rdbg.dtsi"
2620 #include "sdm660-camera.dtsi"
2621 #include "sdm660-vidc.dtsi"
2622 #include "msm-audio.dtsi"
2623 #include "sdm660-audio.dtsi"
2626 /* GPIO 7 for VOL_UP */
2633 qcom,out-strength = <1>;
2638 qcom,cx-ipeak-data = <&cx_ipeak_lm 4>;
2639 qcom,clock-freq-threshold = <518400000>;
2645 compatible = "gpio-keys";
2646 input-name = "gpio-keys";
2647 pinctrl-names = "tlmm_gpio_key_active","tlmm_gpio_key_suspend";
2648 pinctrl-0 = <&gpio_key_active>;
2649 pinctrl-1 = <&gpio_key_suspend>;
2652 label = "camera_focus";
2653 gpios = <&tlmm 64 0x1>;
2654 linux,input-type = <1>;
2655 linux,code = <0x210>;
2656 debounce-interval = <15>;
2660 label = "camera_snapshot";
2661 gpios = <&tlmm 113 0x1>;
2662 linux,input-type = <1>;
2663 linux,code = <0x2fe>;
2664 debounce-interval = <15>;
2668 label = "volume_up";
2669 gpios = <&pm660l_gpios 7 0x1>;
2670 linux,input-type = <1>;
2673 debounce-interval = <15>;
2682 #include "sdm660-mdss.dtsi"
2683 #include "sdm660-mdss-pll.dtsi"