Merge tag 'usb-5.8-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb
[platform/kernel/linux-rpi.git] / arch / arm64 / boot / dts / qcom / sc7180.dtsi
index bd0d3a7..31b9217 100644 (file)
@@ -10,6 +10,7 @@
 #include <dt-bindings/clock/qcom,gpucc-sc7180.h>
 #include <dt-bindings/clock/qcom,rpmh.h>
 #include <dt-bindings/clock/qcom,videocc-sc7180.h>
+#include <dt-bindings/interconnect/qcom,sc7180.h>
 #include <dt-bindings/interrupt-controller/arm-gic.h>
 #include <dt-bindings/phy/phy-qcom-qusb2.h>
 #include <dt-bindings/power/qcom-aoss-qmp.h>
                #size-cells = <2>;
                ranges;
 
+               hyp_mem: memory@80000000 {
+                       reg = <0x0 0x80000000 0x0 0x600000>;
+                       no-map;
+               };
+
+               xbl_mem: memory@80600000 {
+                       reg = <0x0 0x80600000 0x0 0x200000>;
+                       no-map;
+               };
+
+               aop_mem: memory@80800000 {
+                       reg = <0x0 0x80800000 0x0 0x20000>;
+                       no-map;
+               };
+
                aop_cmd_db_mem: memory@80820000 {
                        reg = <0x0 0x80820000 0x0 0x20000>;
                        compatible = "qcom,cmd-db";
+                       no-map;
+               };
+
+               sec_apps_mem: memory@808ff000 {
+                       reg = <0x0 0x808ff000 0x0 0x1000>;
+                       no-map;
                };
 
                smem_mem: memory@80900000 {
                        no-map;
                };
 
-               venus_mem: memory@8f600000 {
-                       reg = <0 0x8f600000 0 0x500000>;
+               tz_mem: memory@80b00000 {
+                       reg = <0x0 0x80b00000 0x0 0x3900000>;
+                       no-map;
+               };
+
+               rmtfs_mem: memory@84400000 {
+                       compatible = "qcom,rmtfs-mem";
+                       reg = <0x0 0x84400000 0x0 0x200000>;
                        no-map;
+
+                       qcom,client-id = <1>;
+                       qcom,vmid = <15>;
                };
        };
 
 
                CPU0: cpu@0 {
                        device_type = "cpu";
-                       compatible = "arm,armv8";
+                       compatible = "qcom,kryo468";
                        reg = <0x0 0x0>;
                        enable-method = "psci";
+                       cpu-idle-states = <&LITTLE_CPU_SLEEP_0
+                                          &LITTLE_CPU_SLEEP_1
+                                          &CLUSTER_SLEEP_0>;
                        capacity-dmips-mhz = <1024>;
                        dynamic-power-coefficient = <100>;
                        next-level-cache = <&L2_0>;
 
                CPU1: cpu@100 {
                        device_type = "cpu";
-                       compatible = "arm,armv8";
+                       compatible = "qcom,kryo468";
                        reg = <0x0 0x100>;
                        enable-method = "psci";
+                       cpu-idle-states = <&LITTLE_CPU_SLEEP_0
+                                          &LITTLE_CPU_SLEEP_1
+                                          &CLUSTER_SLEEP_0>;
                        capacity-dmips-mhz = <1024>;
                        dynamic-power-coefficient = <100>;
                        next-level-cache = <&L2_100>;
 
                CPU2: cpu@200 {
                        device_type = "cpu";
-                       compatible = "arm,armv8";
+                       compatible = "qcom,kryo468";
                        reg = <0x0 0x200>;
                        enable-method = "psci";
+                       cpu-idle-states = <&LITTLE_CPU_SLEEP_0
+                                          &LITTLE_CPU_SLEEP_1
+                                          &CLUSTER_SLEEP_0>;
                        capacity-dmips-mhz = <1024>;
                        dynamic-power-coefficient = <100>;
                        next-level-cache = <&L2_200>;
 
                CPU3: cpu@300 {
                        device_type = "cpu";
-                       compatible = "arm,armv8";
+                       compatible = "qcom,kryo468";
                        reg = <0x0 0x300>;
                        enable-method = "psci";
+                       cpu-idle-states = <&LITTLE_CPU_SLEEP_0
+                                          &LITTLE_CPU_SLEEP_1
+                                          &CLUSTER_SLEEP_0>;
                        capacity-dmips-mhz = <1024>;
                        dynamic-power-coefficient = <100>;
                        next-level-cache = <&L2_300>;
 
                CPU4: cpu@400 {
                        device_type = "cpu";
-                       compatible = "arm,armv8";
+                       compatible = "qcom,kryo468";
                        reg = <0x0 0x400>;
                        enable-method = "psci";
+                       cpu-idle-states = <&LITTLE_CPU_SLEEP_0
+                                          &LITTLE_CPU_SLEEP_1
+                                          &CLUSTER_SLEEP_0>;
                        capacity-dmips-mhz = <1024>;
                        dynamic-power-coefficient = <100>;
                        next-level-cache = <&L2_400>;
 
                CPU5: cpu@500 {
                        device_type = "cpu";
-                       compatible = "arm,armv8";
+                       compatible = "qcom,kryo468";
                        reg = <0x0 0x500>;
                        enable-method = "psci";
+                       cpu-idle-states = <&LITTLE_CPU_SLEEP_0
+                                          &LITTLE_CPU_SLEEP_1
+                                          &CLUSTER_SLEEP_0>;
                        capacity-dmips-mhz = <1024>;
                        dynamic-power-coefficient = <100>;
                        next-level-cache = <&L2_500>;
 
                CPU6: cpu@600 {
                        device_type = "cpu";
-                       compatible = "arm,armv8";
+                       compatible = "qcom,kryo468";
                        reg = <0x0 0x600>;
                        enable-method = "psci";
+                       cpu-idle-states = <&BIG_CPU_SLEEP_0
+                                          &BIG_CPU_SLEEP_1
+                                          &CLUSTER_SLEEP_0>;
                        capacity-dmips-mhz = <1740>;
                        dynamic-power-coefficient = <405>;
                        next-level-cache = <&L2_600>;
 
                CPU7: cpu@700 {
                        device_type = "cpu";
-                       compatible = "arm,armv8";
+                       compatible = "qcom,kryo468";
                        reg = <0x0 0x700>;
                        enable-method = "psci";
+                       cpu-idle-states = <&BIG_CPU_SLEEP_0
+                                          &BIG_CPU_SLEEP_1
+                                          &CLUSTER_SLEEP_0>;
                        capacity-dmips-mhz = <1740>;
                        dynamic-power-coefficient = <405>;
                        next-level-cache = <&L2_700>;
                                };
                        };
                };
+
+               idle-states {
+                       entry-method = "psci";
+
+                       LITTLE_CPU_SLEEP_0: cpu-sleep-0-0 {
+                               compatible = "arm,idle-state";
+                               idle-state-name = "little-power-down";
+                               arm,psci-suspend-param = <0x40000003>;
+                               entry-latency-us = <549>;
+                               exit-latency-us = <901>;
+                               min-residency-us = <1774>;
+                               local-timer-stop;
+                       };
+
+                       LITTLE_CPU_SLEEP_1: cpu-sleep-0-1 {
+                               compatible = "arm,idle-state";
+                               idle-state-name = "little-rail-power-down";
+                               arm,psci-suspend-param = <0x40000004>;
+                               entry-latency-us = <702>;
+                               exit-latency-us = <915>;
+                               min-residency-us = <4001>;
+                               local-timer-stop;
+                       };
+
+                       BIG_CPU_SLEEP_0: cpu-sleep-1-0 {
+                               compatible = "arm,idle-state";
+                               idle-state-name = "big-power-down";
+                               arm,psci-suspend-param = <0x40000003>;
+                               entry-latency-us = <523>;
+                               exit-latency-us = <1244>;
+                               min-residency-us = <2207>;
+                               local-timer-stop;
+                       };
+
+                       BIG_CPU_SLEEP_1: cpu-sleep-1-1 {
+                               compatible = "arm,idle-state";
+                               idle-state-name = "big-rail-power-down";
+                               arm,psci-suspend-param = <0x40000004>;
+                               entry-latency-us = <526>;
+                               exit-latency-us = <1854>;
+                               min-residency-us = <5555>;
+                               local-timer-stop;
+                       };
+
+                       CLUSTER_SLEEP_0: cluster-sleep-0 {
+                               compatible = "arm,idle-state";
+                               idle-state-name = "cluster-power-down";
+                               arm,psci-suspend-param = <0x40003444>;
+                               entry-latency-us = <3263>;
+                               exit-latency-us = <6562>;
+                               min-residency-us = <9926>;
+                               local-timer-stop;
+                       };
+               };
        };
 
        memory@80000000 {
                        interrupt-controller;
                        #interrupt-cells = <2>;
                };
+
+               ipa_smp2p_out: ipa-ap-to-modem {
+                       qcom,entry-name = "ipa";
+                       #qcom,smem-state-cells = <1>;
+               };
+
+               ipa_smp2p_in: ipa-modem-to-ap {
+                       qcom,entry-name = "ipa";
+                       interrupt-controller;
+                       #interrupt-cells = <2>;
+               };
        };
 
        psci {
                        qcom,bcm-voters = <&apps_bcm_voter>;
                };
 
+               ipa: ipa@1e40000 {
+                       compatible = "qcom,sc7180-ipa";
+
+                       iommus = <&apps_smmu 0x440 0x3>;
+                       reg = <0 0x1e40000 0 0x7000>,
+                             <0 0x1e47000 0 0x2000>,
+                             <0 0x1e04000 0 0x2c000>;
+                       reg-names = "ipa-reg",
+                                   "ipa-shared",
+                                   "gsi";
+
+                       interrupts-extended = <&intc 0 311 IRQ_TYPE_EDGE_RISING>,
+                                             <&intc 0 432 IRQ_TYPE_LEVEL_HIGH>,
+                                             <&ipa_smp2p_in 0 IRQ_TYPE_EDGE_RISING>,
+                                             <&ipa_smp2p_in 1 IRQ_TYPE_EDGE_RISING>;
+                       interrupt-names = "ipa",
+                                         "gsi",
+                                         "ipa-clock-query",
+                                         "ipa-setup-ready";
+
+                       clocks = <&rpmhcc RPMH_IPA_CLK>;
+                       clock-names = "core";
+
+                       interconnects = <&aggre2_noc MASTER_IPA &mc_virt SLAVE_EBI1>,
+                                       <&aggre2_noc MASTER_IPA &system_noc SLAVE_IMEM>,
+                                       <&gem_noc MASTER_APPSS_PROC &config_noc SLAVE_IPA_CFG>;
+                       interconnect-names = "memory",
+                                            "imem",
+                                            "config";
+
+                       qcom,smem-states = <&ipa_smp2p_out 0>,
+                                          <&ipa_smp2p_out 1>;
+                       qcom,smem-state-names = "ipa-clock-enabled-valid",
+                                               "ipa-clock-enabled";
+
+                       modem-remoteproc = <&remoteproc_mpss>;
+
+                       status = "disabled";
+               };
+
                tcsr_mutex_regs: syscon@1f40000 {
                        compatible = "syscon";
                        reg = <0 0x01f40000 0 0x40000>;
                };
 
+               tcsr_regs: syscon@1fc0000 {
+                       compatible = "syscon";
+                       reg = <0 0x01fc0000 0 0x40000>;
+               };
+
                tlmm: pinctrl@3500000 {
                        compatible = "qcom,sc7180-pinctrl";
                        reg = <0 0x03500000 0 0x300000>,
                        };
                };
 
-               sdhc_2: sdhci@8804000 {
-                       compatible = "qcom,sc7180-sdhci", "qcom,sdhci-msm-v5";
-                       reg = <0 0x08804000 0 0x1000>;
+               gpu: gpu@5000000 {
+                       compatible = "qcom,adreno-618.0", "qcom,adreno";
+                       #stream-id-cells = <16>;
+                       reg = <0 0x05000000 0 0x40000>, <0 0x0509e000 0 0x1000>,
+                               <0 0x05061000 0 0x800>;
+                       reg-names = "kgsl_3d0_reg_memory", "cx_mem", "cx_dbgc";
+                       interrupts = <GIC_SPI 300 IRQ_TYPE_LEVEL_HIGH>;
+                       iommus = <&adreno_smmu 0>;
+                       operating-points-v2 = <&gpu_opp_table>;
+                       qcom,gmu = <&gmu>;
 
-                       iommus = <&apps_smmu 0x80 0>;
-                       interrupts = <GIC_SPI 204 IRQ_TYPE_LEVEL_HIGH>,
-                                       <GIC_SPI 222 IRQ_TYPE_LEVEL_HIGH>;
-                       interrupt-names = "hc_irq", "pwr_irq";
+                       gpu_opp_table: opp-table {
+                               compatible = "operating-points-v2";
 
-                       clocks = <&gcc GCC_SDCC2_APPS_CLK>,
-                                       <&gcc GCC_SDCC2_AHB_CLK>;
-                       clock-names = "core", "iface";
+                               opp-800000000 {
+                                       opp-hz = /bits/ 64 <800000000>;
+                                       opp-level = <RPMH_REGULATOR_LEVEL_TURBO>;
+                               };
 
-                       bus-width = <4>;
+                               opp-650000000 {
+                                       opp-hz = /bits/ 64 <650000000>;
+                                       opp-level = <RPMH_REGULATOR_LEVEL_NOM_L1>;
+                               };
 
-                       status = "disabled";
+                               opp-565000000 {
+                                       opp-hz = /bits/ 64 <565000000>;
+                                       opp-level = <RPMH_REGULATOR_LEVEL_NOM>;
+                               };
+
+                               opp-430000000 {
+                                       opp-hz = /bits/ 64 <430000000>;
+                                       opp-level = <RPMH_REGULATOR_LEVEL_SVS_L1>;
+                               };
+
+                               opp-355000000 {
+                                       opp-hz = /bits/ 64 <355000000>;
+                                       opp-level = <RPMH_REGULATOR_LEVEL_SVS>;
+                               };
+
+                               opp-267000000 {
+                                       opp-hz = /bits/ 64 <267000000>;
+                                       opp-level = <RPMH_REGULATOR_LEVEL_LOW_SVS>;
+                               };
+
+                               opp-180000000 {
+                                       opp-hz = /bits/ 64 <180000000>;
+                                       opp-level = <RPMH_REGULATOR_LEVEL_MIN_SVS>;
+                               };
+                       };
+               };
+
+               adreno_smmu: iommu@5040000 {
+                       compatible = "qcom,sc7180-smmu-v2", "qcom,smmu-v2";
+                       reg = <0 0x05040000 0 0x10000>;
+                       #iommu-cells = <1>;
+                       #global-interrupts = <2>;
+                       interrupts = <GIC_SPI 229 IRQ_TYPE_LEVEL_HIGH>,
+                                       <GIC_SPI 231 IRQ_TYPE_LEVEL_HIGH>,
+                                       <GIC_SPI 364 IRQ_TYPE_EDGE_RISING>,
+                                       <GIC_SPI 365 IRQ_TYPE_EDGE_RISING>,
+                                       <GIC_SPI 366 IRQ_TYPE_EDGE_RISING>,
+                                       <GIC_SPI 367 IRQ_TYPE_EDGE_RISING>,
+                                       <GIC_SPI 368 IRQ_TYPE_EDGE_RISING>,
+                                       <GIC_SPI 369 IRQ_TYPE_EDGE_RISING>,
+                                       <GIC_SPI 370 IRQ_TYPE_EDGE_RISING>,
+                                       <GIC_SPI 371 IRQ_TYPE_EDGE_RISING>;
+
+                       clocks = <&gcc GCC_GPU_MEMNOC_GFX_CLK>,
+                               <&gcc GCC_GPU_CFG_AHB_CLK>;
+                       clock-names = "bus", "iface";
+
+                       power-domains = <&gpucc CX_GDSC>;
+               };
+
+               gmu: gmu@506a000 {
+                       compatible="qcom,adreno-gmu-618.0", "qcom,adreno-gmu";
+                       reg = <0 0x0506a000 0 0x31000>, <0 0x0b290000 0 0x10000>,
+                               <0 0x0b490000 0 0x10000>;
+                       reg-names = "gmu", "gmu_pdc", "gmu_pdc_seq";
+                       interrupts = <GIC_SPI 304 IRQ_TYPE_LEVEL_HIGH>,
+                                  <GIC_SPI 305 IRQ_TYPE_LEVEL_HIGH>;
+                       interrupt-names = "hfi", "gmu";
+                       clocks = <&gpucc GPU_CC_CX_GMU_CLK>,
+                              <&gpucc GPU_CC_CXO_CLK>,
+                              <&gcc GCC_DDRSS_GPU_AXI_CLK>,
+                              <&gcc GCC_GPU_MEMNOC_GFX_CLK>;
+                       clock-names = "gmu", "cxo", "axi", "memnoc";
+                       power-domains = <&gpucc CX_GDSC>, <&gpucc GX_GDSC>;
+                       power-domain-names = "cx", "gx";
+                       iommus = <&adreno_smmu 5>;
+                       operating-points-v2 = <&gmu_opp_table>;
+
+                       gmu_opp_table: opp-table {
+                               compatible = "operating-points-v2";
+
+                               opp-200000000 {
+                                       opp-hz = /bits/ 64 <200000000>;
+                                       opp-level = <RPMH_REGULATOR_LEVEL_MIN_SVS>;
+                               };
+                       };
                };
 
                gpucc: clock-controller@5090000 {
                        #power-domain-cells = <1>;
                };
 
+               stm@6002000 {
+                       compatible = "arm,coresight-stm", "arm,primecell";
+                       reg = <0 0x06002000 0 0x1000>,
+                             <0 0x16280000 0 0x180000>;
+                       reg-names = "stm-base", "stm-stimulus-base";
+
+                       clocks = <&aoss_qmp>;
+                       clock-names = "apb_pclk";
+
+                       out-ports {
+                               port {
+                                       stm_out: endpoint {
+                                               remote-endpoint = <&funnel0_in7>;
+                                       };
+                               };
+                       };
+               };
+
+               funnel@6041000 {
+                       compatible = "arm,coresight-dynamic-funnel", "arm,primecell";
+                       reg = <0 0x06041000 0 0x1000>;
+
+                       clocks = <&aoss_qmp>;
+                       clock-names = "apb_pclk";
+
+                       out-ports {
+                               port {
+                                       funnel0_out: endpoint {
+                                               remote-endpoint = <&merge_funnel_in0>;
+                                       };
+                               };
+                       };
+
+                       in-ports {
+                               #address-cells = <1>;
+                               #size-cells = <0>;
+
+                               port@7 {
+                                       reg = <7>;
+                                       funnel0_in7: endpoint {
+                                               remote-endpoint = <&stm_out>;
+                                       };
+                               };
+                       };
+               };
+
+               funnel@6042000 {
+                       compatible = "arm,coresight-dynamic-funnel", "arm,primecell";
+                       reg = <0 0x06042000 0 0x1000>;
+
+                       clocks = <&aoss_qmp>;
+                       clock-names = "apb_pclk";
+
+                       out-ports {
+                               port {
+                                       funnel1_out: endpoint {
+                                               remote-endpoint = <&merge_funnel_in1>;
+                                       };
+                               };
+                       };
+
+                       in-ports {
+                               #address-cells = <1>;
+                               #size-cells = <0>;
+
+                               port@4 {
+                                       reg = <4>;
+                                       funnel1_in4: endpoint {
+                                               remote-endpoint = <&apss_merge_funnel_out>;
+                                       };
+                               };
+                       };
+               };
+
+               funnel@6045000 {
+                       compatible = "arm,coresight-dynamic-funnel", "arm,primecell";
+                       reg = <0 0x06045000 0 0x1000>;
+
+                       clocks = <&aoss_qmp>;
+                       clock-names = "apb_pclk";
+
+                       out-ports {
+                               port {
+                                       merge_funnel_out: endpoint {
+                                               remote-endpoint = <&swao_funnel_in>;
+                                       };
+                               };
+                       };
+
+                       in-ports {
+                               #address-cells = <1>;
+                               #size-cells = <0>;
+
+                               port@0 {
+                                       reg = <0>;
+                                       merge_funnel_in0: endpoint {
+                                               remote-endpoint = <&funnel0_out>;
+                                       };
+                               };
+
+                               port@1 {
+                                       reg = <1>;
+                                       merge_funnel_in1: endpoint {
+                                               remote-endpoint = <&funnel1_out>;
+                                       };
+                               };
+                       };
+               };
+
+               replicator@6046000 {
+                       compatible = "arm,coresight-dynamic-replicator", "arm,primecell";
+                       reg = <0 0x06046000 0 0x1000>;
+
+                       clocks = <&aoss_qmp>;
+                       clock-names = "apb_pclk";
+
+                       out-ports {
+                               port {
+                                       replicator_out: endpoint {
+                                               remote-endpoint = <&etr_in>;
+                                       };
+                               };
+                       };
+
+                       in-ports {
+                               port {
+                                       replicator_in: endpoint {
+                                               remote-endpoint = <&swao_replicator_out>;
+                                       };
+                               };
+                       };
+               };
+
+               etr@6048000 {
+                       compatible = "arm,coresight-tmc", "arm,primecell";
+                       reg = <0 0x06048000 0 0x1000>;
+
+                       clocks = <&aoss_qmp>;
+                       clock-names = "apb_pclk";
+                       arm,scatter-gather;
+
+                       in-ports {
+                               port {
+                                       etr_in: endpoint {
+                                               remote-endpoint = <&replicator_out>;
+                                       };
+                               };
+                       };
+               };
+
+               funnel@6b04000 {
+                       compatible = "arm,coresight-dynamic-funnel", "arm,primecell";
+                       reg = <0 0x06b04000 0 0x1000>;
+
+                       clocks = <&aoss_qmp>;
+                       clock-names = "apb_pclk";
+
+                       out-ports {
+                               port {
+                                       swao_funnel_out: endpoint {
+                                               remote-endpoint = <&etf_in>;
+                                       };
+                               };
+                       };
+
+                       in-ports {
+                               #address-cells = <1>;
+                               #size-cells = <0>;
+
+                               port@7 {
+                                       reg = <7>;
+                                       swao_funnel_in: endpoint {
+                                               remote-endpoint = <&merge_funnel_out>;
+                                       };
+                               };
+                       };
+               };
+
+               etf@6b05000 {
+                       compatible = "arm,coresight-tmc", "arm,primecell";
+                       reg = <0 0x06b05000 0 0x1000>;
+
+                       clocks = <&aoss_qmp>;
+                       clock-names = "apb_pclk";
+
+                       out-ports {
+                               port {
+                                       etf_out: endpoint {
+                                               remote-endpoint = <&swao_replicator_in>;
+                                       };
+                               };
+                       };
+
+                       in-ports {
+                               port {
+                                       etf_in: endpoint {
+                                               remote-endpoint = <&swao_funnel_out>;
+                                       };
+                               };
+                       };
+               };
+
+               replicator@6b06000 {
+                       compatible = "arm,coresight-dynamic-replicator", "arm,primecell";
+                       reg = <0 0x06b06000 0 0x1000>;
+
+                       clocks = <&aoss_qmp>;
+                       clock-names = "apb_pclk";
+
+                       out-ports {
+                               port {
+                                       swao_replicator_out: endpoint {
+                                               remote-endpoint = <&replicator_in>;
+                                       };
+                               };
+                       };
+
+                       in-ports {
+                               port {
+                                       swao_replicator_in: endpoint {
+                                               remote-endpoint = <&etf_out>;
+                                       };
+                               };
+                       };
+               };
+
+               etm@7040000 {
+                       compatible = "arm,coresight-etm4x", "arm,primecell";
+                       reg = <0 0x07040000 0 0x1000>;
+
+                       cpu = <&CPU0>;
+
+                       clocks = <&aoss_qmp>;
+                       clock-names = "apb_pclk";
+                       arm,coresight-loses-context-with-cpu;
+
+                       out-ports {
+                               port {
+                                       etm0_out: endpoint {
+                                               remote-endpoint = <&apss_funnel_in0>;
+                                       };
+                               };
+                       };
+               };
+
+               etm@7140000 {
+                       compatible = "arm,coresight-etm4x", "arm,primecell";
+                       reg = <0 0x07140000 0 0x1000>;
+
+                       cpu = <&CPU1>;
+
+                       clocks = <&aoss_qmp>;
+                       clock-names = "apb_pclk";
+                       arm,coresight-loses-context-with-cpu;
+
+                       out-ports {
+                               port {
+                                       etm1_out: endpoint {
+                                               remote-endpoint = <&apss_funnel_in1>;
+                                       };
+                               };
+                       };
+               };
+
+               etm@7240000 {
+                       compatible = "arm,coresight-etm4x", "arm,primecell";
+                       reg = <0 0x07240000 0 0x1000>;
+
+                       cpu = <&CPU2>;
+
+                       clocks = <&aoss_qmp>;
+                       clock-names = "apb_pclk";
+                       arm,coresight-loses-context-with-cpu;
+
+                       out-ports {
+                               port {
+                                       etm2_out: endpoint {
+                                               remote-endpoint = <&apss_funnel_in2>;
+                                       };
+                               };
+                       };
+               };
+
+               etm@7340000 {
+                       compatible = "arm,coresight-etm4x", "arm,primecell";
+                       reg = <0 0x07340000 0 0x1000>;
+
+                       cpu = <&CPU3>;
+
+                       clocks = <&aoss_qmp>;
+                       clock-names = "apb_pclk";
+                       arm,coresight-loses-context-with-cpu;
+
+                       out-ports {
+                               port {
+                                       etm3_out: endpoint {
+                                               remote-endpoint = <&apss_funnel_in3>;
+                                       };
+                               };
+                       };
+               };
+
+               etm@7440000 {
+                       compatible = "arm,coresight-etm4x", "arm,primecell";
+                       reg = <0 0x07440000 0 0x1000>;
+
+                       cpu = <&CPU4>;
+
+                       clocks = <&aoss_qmp>;
+                       clock-names = "apb_pclk";
+                       arm,coresight-loses-context-with-cpu;
+
+                       out-ports {
+                               port {
+                                       etm4_out: endpoint {
+                                               remote-endpoint = <&apss_funnel_in4>;
+                                       };
+                               };
+                       };
+               };
+
+               etm@7540000 {
+                       compatible = "arm,coresight-etm4x", "arm,primecell";
+                       reg = <0 0x07540000 0 0x1000>;
+
+                       cpu = <&CPU5>;
+
+                       clocks = <&aoss_qmp>;
+                       clock-names = "apb_pclk";
+                       arm,coresight-loses-context-with-cpu;
+
+                       out-ports {
+                               port {
+                                       etm5_out: endpoint {
+                                               remote-endpoint = <&apss_funnel_in5>;
+                                       };
+                               };
+                       };
+               };
+
+               etm@7640000 {
+                       compatible = "arm,coresight-etm4x", "arm,primecell";
+                       reg = <0 0x07640000 0 0x1000>;
+
+                       cpu = <&CPU6>;
+
+                       clocks = <&aoss_qmp>;
+                       clock-names = "apb_pclk";
+                       arm,coresight-loses-context-with-cpu;
+
+                       out-ports {
+                               port {
+                                       etm6_out: endpoint {
+                                               remote-endpoint = <&apss_funnel_in6>;
+                                       };
+                               };
+                       };
+               };
+
+               etm@7740000 {
+                       compatible = "arm,coresight-etm4x", "arm,primecell";
+                       reg = <0 0x07740000 0 0x1000>;
+
+                       cpu = <&CPU7>;
+
+                       clocks = <&aoss_qmp>;
+                       clock-names = "apb_pclk";
+                       arm,coresight-loses-context-with-cpu;
+
+                       out-ports {
+                               port {
+                                       etm7_out: endpoint {
+                                               remote-endpoint = <&apss_funnel_in7>;
+                                       };
+                               };
+                       };
+               };
+
+               funnel@7800000 { /* APSS Funnel */
+                       compatible = "arm,coresight-dynamic-funnel", "arm,primecell";
+                       reg = <0 0x07800000 0 0x1000>;
+
+                       clocks = <&aoss_qmp>;
+                       clock-names = "apb_pclk";
+
+                       out-ports {
+                               port {
+                                       apss_funnel_out: endpoint {
+                                               remote-endpoint = <&apss_merge_funnel_in>;
+                                       };
+                               };
+                       };
+
+                       in-ports {
+                               #address-cells = <1>;
+                               #size-cells = <0>;
+
+                               port@0 {
+                                       reg = <0>;
+                                       apss_funnel_in0: endpoint {
+                                               remote-endpoint = <&etm0_out>;
+                                       };
+                               };
+
+                               port@1 {
+                                       reg = <1>;
+                                       apss_funnel_in1: endpoint {
+                                               remote-endpoint = <&etm1_out>;
+                                       };
+                               };
+
+                               port@2 {
+                                       reg = <2>;
+                                       apss_funnel_in2: endpoint {
+                                               remote-endpoint = <&etm2_out>;
+                                       };
+                               };
+
+                               port@3 {
+                                       reg = <3>;
+                                       apss_funnel_in3: endpoint {
+                                               remote-endpoint = <&etm3_out>;
+                                       };
+                               };
+
+                               port@4 {
+                                       reg = <4>;
+                                       apss_funnel_in4: endpoint {
+                                               remote-endpoint = <&etm4_out>;
+                                       };
+                               };
+
+                               port@5 {
+                                       reg = <5>;
+                                       apss_funnel_in5: endpoint {
+                                               remote-endpoint = <&etm5_out>;
+                                       };
+                               };
+
+                               port@6 {
+                                       reg = <6>;
+                                       apss_funnel_in6: endpoint {
+                                               remote-endpoint = <&etm6_out>;
+                                       };
+                               };
+
+                               port@7 {
+                                       reg = <7>;
+                                       apss_funnel_in7: endpoint {
+                                               remote-endpoint = <&etm7_out>;
+                                       };
+                               };
+                       };
+               };
+
+               funnel@7810000 {
+                       compatible = "arm,coresight-dynamic-funnel", "arm,primecell";
+                       reg = <0 0x07810000 0 0x1000>;
+
+                       clocks = <&aoss_qmp>;
+                       clock-names = "apb_pclk";
+
+                       out-ports {
+                               port {
+                                       apss_merge_funnel_out: endpoint {
+                                               remote-endpoint = <&funnel1_in4>;
+                                       };
+                               };
+                       };
+
+                       in-ports {
+                               port {
+                                       apss_merge_funnel_in: endpoint {
+                                               remote-endpoint = <&apss_funnel_out>;
+                                       };
+                               };
+                       };
+               };
+
+               remoteproc_mpss: remoteproc@4080000 {
+                       compatible = "qcom,sc7180-mpss-pas";
+                       reg = <0 0x04080000 0 0x4040>, <0 0x04180000 0 0x48>;
+                       reg-names = "qdsp6", "rmb";
+
+                       interrupts-extended = <&intc GIC_SPI 266 IRQ_TYPE_EDGE_RISING>,
+                                             <&modem_smp2p_in 0 IRQ_TYPE_EDGE_RISING>,
+                                             <&modem_smp2p_in 1 IRQ_TYPE_EDGE_RISING>,
+                                             <&modem_smp2p_in 2 IRQ_TYPE_EDGE_RISING>,
+                                             <&modem_smp2p_in 3 IRQ_TYPE_EDGE_RISING>,
+                                             <&modem_smp2p_in 7 IRQ_TYPE_EDGE_RISING>;
+                       interrupt-names = "wdog", "fatal", "ready", "handover",
+                                         "stop-ack", "shutdown-ack";
+
+                       clocks = <&gcc GCC_MSS_CFG_AHB_CLK>,
+                                <&gcc GCC_MSS_Q6_MEMNOC_AXI_CLK>,
+                                <&gcc GCC_MSS_NAV_AXI_CLK>,
+                                <&gcc GCC_MSS_SNOC_AXI_CLK>,
+                                <&gcc GCC_MSS_MFAB_AXIS_CLK>,
+                                <&rpmhcc RPMH_CXO_CLK>;
+                       clock-names = "iface", "bus", "nav", "snoc_axi",
+                                     "mnoc_axi", "xo";
+
+                       power-domains = <&aoss_qmp AOSS_QMP_LS_MODEM>,
+                                       <&rpmhpd SC7180_CX>,
+                                       <&rpmhpd SC7180_MX>,
+                                       <&rpmhpd SC7180_MSS>;
+                       power-domain-names = "load_state", "cx", "mx", "mss";
+
+                       memory-region = <&mpss_mem>;
+
+                       qcom,smem-states = <&modem_smp2p_out 0>;
+                       qcom,smem-state-names = "stop";
+
+                       resets = <&aoss_reset AOSS_CC_MSS_RESTART>,
+                                <&pdc_reset PDC_MODEM_SYNC_RESET>;
+                       reset-names = "mss_restart", "pdc_reset";
+
+                       qcom,halt-regs = <&tcsr_mutex_regs 0x23000 0x25000 0x24000>;
+                       qcom,spare-regs = <&tcsr_regs 0xb3e4>;
+
+                       status = "disabled";
+
+                       glink-edge {
+                               interrupts = <GIC_SPI 449 IRQ_TYPE_EDGE_RISING>;
+                               label = "modem";
+                               qcom,remote-pid = <1>;
+                               mboxes = <&apss_shared 12>;
+                       };
+               };
+
+               sdhc_2: sdhci@8804000 {
+                       compatible = "qcom,sc7180-sdhci", "qcom,sdhci-msm-v5";
+                       reg = <0 0x08804000 0 0x1000>;
+
+                       iommus = <&apps_smmu 0x80 0>;
+                       interrupts = <GIC_SPI 204 IRQ_TYPE_LEVEL_HIGH>,
+                                       <GIC_SPI 222 IRQ_TYPE_LEVEL_HIGH>;
+                       interrupt-names = "hc_irq", "pwr_irq";
+
+                       clocks = <&gcc GCC_SDCC2_APPS_CLK>,
+                                       <&gcc GCC_SDCC2_AHB_CLK>;
+                       clock-names = "core", "iface";
+
+                       bus-width = <4>;
+
+                       status = "disabled";
+               };
+
                qspi: spi@88dc000 {
                        compatible = "qcom,qspi-v1";
                        reg = <0 0x088dc000 0 0x600>;
                };
 
                usb_1_hsphy: phy@88e3000 {
-                       compatible = "qcom,sc7180-qusb2-phy";
+                       compatible = "qcom,sc7180-qusb2-phy", "qcom,qusb2-v2-phy";
                        reg = <0 0x088e3000 0 0x400>;
                        status = "disabled";
                        #phy-cells = <0>;
                                      "vcodec0_core", "vcodec0_bus";
                        iommus = <&apps_smmu 0x0c00 0x60>;
                        memory-region = <&venus_mem>;
+                       interconnects = <&mmss_noc MASTER_VIDEO_P0 &mc_virt SLAVE_EBI1>,
+                                       <&gem_noc MASTER_APPSS_PROC &config_noc SLAVE_VENUS_CFG>;
+                       interconnect-names = "video-mem", "cpu-cfg";
 
                        video-decoder {
                                compatible = "venus-decoder";
                                clock-names = "iface", "rot", "lut", "core",
                                              "vsync";
                                assigned-clocks = <&dispcc DISP_CC_MDSS_MDP_CLK>,
-                                                 <&dispcc DISP_CC_MDSS_VSYNC_CLK>;
+                                                 <&dispcc DISP_CC_MDSS_VSYNC_CLK>,
+                                                 <&dispcc DISP_CC_MDSS_ROT_CLK>,
+                                                 <&dispcc DISP_CC_MDSS_AHB_CLK>;
                                assigned-clock-rates = <300000000>,
+                                                      <19200000>,
+                                                      <19200000>,
                                                       <19200000>;
 
                                interrupt-parent = <&mdss>;
                pdc: interrupt-controller@b220000 {
                        compatible = "qcom,sc7180-pdc", "qcom,pdc";
                        reg = <0 0x0b220000 0 0x30000>;
-                       qcom,pdc-ranges = <0 480 15>, <17 497 98>,
-                                         <119 634 4>, <124 639 1>;
+                       qcom,pdc-ranges = <0 480 94>, <94 609 31>, <125 63 1>;
                        #interrupt-cells = <2>;
                        interrupt-parent = <&intc>;
                        interrupt-controller;
 
        thermal-zones {
                cpu0-thermal {
-                       polling-delay-passive = <250>;
-                       polling-delay = <1000>;
+                       polling-delay-passive = <0>;
+                       polling-delay = <0>;
 
                        thermal-sensors = <&tsens0 1>;
 
                };
 
                cpu1-thermal {
-                       polling-delay-passive = <250>;
-                       polling-delay = <1000>;
+                       polling-delay-passive = <0>;
+                       polling-delay = <0>;
 
                        thermal-sensors = <&tsens0 2>;
 
                };
 
                cpu2-thermal {
-                       polling-delay-passive = <250>;
-                       polling-delay = <1000>;
+                       polling-delay-passive = <0>;
+                       polling-delay = <0>;
 
                        thermal-sensors = <&tsens0 3>;
 
                };
 
                cpu3-thermal {
-                       polling-delay-passive = <250>;
-                       polling-delay = <1000>;
+                       polling-delay-passive = <0>;
+                       polling-delay = <0>;
 
                        thermal-sensors = <&tsens0 4>;
 
                };
 
                cpu4-thermal {
-                       polling-delay-passive = <250>;
-                       polling-delay = <1000>;
+                       polling-delay-passive = <0>;
+                       polling-delay = <0>;
 
                        thermal-sensors = <&tsens0 5>;
 
                };
 
                cpu5-thermal {
-                       polling-delay-passive = <250>;
-                       polling-delay = <1000>;
+                       polling-delay-passive = <0>;
+                       polling-delay = <0>;
 
                        thermal-sensors = <&tsens0 6>;
 
                };
 
                cpu6-thermal {
-                       polling-delay-passive = <250>;
-                       polling-delay = <1000>;
+                       polling-delay-passive = <0>;
+                       polling-delay = <0>;
 
                        thermal-sensors = <&tsens0 9>;
 
                };
 
                cpu7-thermal {
-                       polling-delay-passive = <250>;
-                       polling-delay = <1000>;
+                       polling-delay-passive = <0>;
+                       polling-delay = <0>;
 
                        thermal-sensors = <&tsens0 10>;
 
                };
 
                cpu8-thermal {
-                       polling-delay-passive = <250>;
-                       polling-delay = <1000>;
+                       polling-delay-passive = <0>;
+                       polling-delay = <0>;
 
                        thermal-sensors = <&tsens0 11>;
 
                };
 
                cpu9-thermal {
-                       polling-delay-passive = <250>;
-                       polling-delay = <1000>;
+                       polling-delay-passive = <0>;
+                       polling-delay = <0>;
 
                        thermal-sensors = <&tsens0 12>;
 
                };
 
                aoss0-thermal {
-                       polling-delay-passive = <250>;
-                       polling-delay = <1000>;
+                       polling-delay-passive = <0>;
+                       polling-delay = <0>;
 
                        thermal-sensors = <&tsens0 0>;
 
                };
 
                cpuss0-thermal {
-                       polling-delay-passive = <250>;
-                       polling-delay = <1000>;
+                       polling-delay-passive = <0>;
+                       polling-delay = <0>;
 
                        thermal-sensors = <&tsens0 7>;
 
                };
 
                cpuss1-thermal {
-                       polling-delay-passive = <250>;
-                       polling-delay = <1000>;
+                       polling-delay-passive = <0>;
+                       polling-delay = <0>;
 
                        thermal-sensors = <&tsens0 8>;
 
                };
 
                gpuss0-thermal {
-                       polling-delay-passive = <250>;
-                       polling-delay = <1000>;
+                       polling-delay-passive = <0>;
+                       polling-delay = <0>;
 
                        thermal-sensors = <&tsens0 13>;
 
                };
 
                gpuss1-thermal {
-                       polling-delay-passive = <250>;
-                       polling-delay = <1000>;
+                       polling-delay-passive = <0>;
+                       polling-delay = <0>;
 
                        thermal-sensors = <&tsens0 14>;
 
                };
 
                aoss1-thermal {
-                       polling-delay-passive = <250>;
-                       polling-delay = <1000>;
+                       polling-delay-passive = <0>;
+                       polling-delay = <0>;
 
                        thermal-sensors = <&tsens1 0>;
 
                };
 
                cwlan-thermal {
-                       polling-delay-passive = <250>;
-                       polling-delay = <1000>;
+                       polling-delay-passive = <0>;
+                       polling-delay = <0>;
 
                        thermal-sensors = <&tsens1 1>;
 
                };
 
                audio-thermal {
-                       polling-delay-passive = <250>;
-                       polling-delay = <1000>;
+                       polling-delay-passive = <0>;
+                       polling-delay = <0>;
 
                        thermal-sensors = <&tsens1 2>;
 
                };
 
                ddr-thermal {
-                       polling-delay-passive = <250>;
-                       polling-delay = <1000>;
+                       polling-delay-passive = <0>;
+                       polling-delay = <0>;
 
                        thermal-sensors = <&tsens1 3>;
 
                };
 
                q6-hvx-thermal {
-                       polling-delay-passive = <250>;
-                       polling-delay = <1000>;
+                       polling-delay-passive = <0>;
+                       polling-delay = <0>;
 
                        thermal-sensors = <&tsens1 4>;
 
                };
 
                camera-thermal {
-                       polling-delay-passive = <250>;
-                       polling-delay = <1000>;
+                       polling-delay-passive = <0>;
+                       polling-delay = <0>;
 
                        thermal-sensors = <&tsens1 5>;
 
                };
 
                mdm-core-thermal {
-                       polling-delay-passive = <250>;
-                       polling-delay = <1000>;
+                       polling-delay-passive = <0>;
+                       polling-delay = <0>;
 
                        thermal-sensors = <&tsens1 6>;
 
                };
 
                mdm-dsp-thermal {
-                       polling-delay-passive = <250>;
-                       polling-delay = <1000>;
+                       polling-delay-passive = <0>;
+                       polling-delay = <0>;
 
                        thermal-sensors = <&tsens1 7>;
 
                };
 
                npu-thermal {
-                       polling-delay-passive = <250>;
-                       polling-delay = <1000>;
+                       polling-delay-passive = <0>;
+                       polling-delay = <0>;
 
                        thermal-sensors = <&tsens1 8>;
 
                };
 
                video-thermal {
-                       polling-delay-passive = <250>;
-                       polling-delay = <1000>;
+                       polling-delay-passive = <0>;
+                       polling-delay = <0>;
 
                        thermal-sensors = <&tsens1 9>;