Merge tag 'dt-5.16' of git://git.kernel.org/pub/scm/linux/kernel/git/soc/soc
[platform/kernel/linux-starfive.git] / arch / arm64 / boot / dts / qcom / sdm845.dtsi
index b3b9119..5260875 100644 (file)
@@ -12,6 +12,7 @@
 #include <dt-bindings/clock/qcom,lpass-sdm845.h>
 #include <dt-bindings/clock/qcom,rpmh.h>
 #include <dt-bindings/clock/qcom,videocc-sdm845.h>
+#include <dt-bindings/gpio/gpio.h>
 #include <dt-bindings/interconnect/qcom,osm-l3.h>
 #include <dt-bindings/interconnect/qcom,sdm845.h>
 #include <dt-bindings/interrupt-controller/arm-gic.h>
                        no-map;
                };
 
-               smem_mem: memory@86000000 {
+               smem@86000000 {
+                       compatible = "qcom,smem";
                        reg = <0x0 0x86000000 0 0x200000>;
                        no-map;
+                       hwlocks = <&tcsr_mutex 3>;
                };
 
                tz_mem: memory@86200000 {
 
                memory-region = <&adsp_mem>;
 
+               qcom,qmp = <&aoss_qmp>;
+
                qcom,smem-states = <&adsp_smp2p_out 0>;
                qcom,smem-state-names = "stop";
 
 
                memory-region = <&cdsp_mem>;
 
+               qcom,qmp = <&aoss_qmp>;
+
                qcom,smem-states = <&cdsp_smp2p_out 0>;
                qcom,smem-state-names = "stop";
 
                #hwlock-cells = <1>;
        };
 
-       smem {
-               compatible = "qcom,smem";
-               memory-region = <&smem_mem>;
-               hwlocks = <&tcsr_mutex 3>;
-       };
-
        smp2p-cdsp {
                compatible = "qcom,smp2p";
                qcom,smem = <94>, <432>;
                        interrupt-names = "msi";
                        #interrupt-cells = <1>;
                        interrupt-map-mask = <0 0 0 0x7>;
-                       interrupt-map = <0 0 0 1 &intc 0 149 IRQ_TYPE_LEVEL_HIGH>, /* int_a */
-                                       <0 0 0 2 &intc 0 150 IRQ_TYPE_LEVEL_HIGH>, /* int_b */
-                                       <0 0 0 3 &intc 0 151 IRQ_TYPE_LEVEL_HIGH>, /* int_c */
-                                       <0 0 0 4 &intc 0 152 IRQ_TYPE_LEVEL_HIGH>; /* int_d */
+                       interrupt-map = <0 0 0 1 &intc 0 0 0 149 IRQ_TYPE_LEVEL_HIGH>, /* int_a */
+                                       <0 0 0 2 &intc 0 0 0 150 IRQ_TYPE_LEVEL_HIGH>, /* int_b */
+                                       <0 0 0 3 &intc 0 0 0 151 IRQ_TYPE_LEVEL_HIGH>, /* int_c */
+                                       <0 0 0 4 &intc 0 0 0 152 IRQ_TYPE_LEVEL_HIGH>; /* int_d */
 
                        clocks = <&gcc GCC_PCIE_0_PIPE_CLK>,
                                 <&gcc GCC_PCIE_0_AUX_CLK>,
 
                        status = "disabled";
 
-                       pcie0_lane: lanes@1c06200 {
+                       pcie0_lane: phy@1c06200 {
                                reg = <0 0x01c06200 0 0x128>,
                                      <0 0x01c06400 0 0x1fc>,
                                      <0 0x01c06800 0 0x218>,
                        interrupt-names = "msi";
                        #interrupt-cells = <1>;
                        interrupt-map-mask = <0 0 0 0x7>;
-                       interrupt-map = <0 0 0 1 &intc 0 434 IRQ_TYPE_LEVEL_HIGH>, /* int_a */
-                                       <0 0 0 2 &intc 0 435 IRQ_TYPE_LEVEL_HIGH>, /* int_b */
-                                       <0 0 0 3 &intc 0 438 IRQ_TYPE_LEVEL_HIGH>, /* int_c */
-                                       <0 0 0 4 &intc 0 439 IRQ_TYPE_LEVEL_HIGH>; /* int_d */
+                       interrupt-map = <0 0 0 1 &intc 0 0 0 434 IRQ_TYPE_LEVEL_HIGH>, /* int_a */
+                                       <0 0 0 2 &intc 0 0 0 435 IRQ_TYPE_LEVEL_HIGH>, /* int_b */
+                                       <0 0 0 3 &intc 0 0 0 438 IRQ_TYPE_LEVEL_HIGH>, /* int_c */
+                                       <0 0 0 4 &intc 0 0 0 439 IRQ_TYPE_LEVEL_HIGH>; /* int_d */
 
                        clocks = <&gcc GCC_PCIE_1_PIPE_CLK>,
                                 <&gcc GCC_PCIE_1_AUX_CLK>,
 
                        status = "disabled";
 
-                       pcie1_lane: lanes@1c06200 {
+                       pcie1_lane: phy@1c06200 {
                                reg = <0 0x01c0a800 0 0x800>,
                                      <0 0x01c0a800 0 0x800>,
                                      <0 0x01c0b800 0 0x400>;
                        reset-names = "ufsphy";
                        status = "disabled";
 
-                       ufs_mem_phy_lanes: lanes@1d87400 {
+                       ufs_mem_phy_lanes: phy@1d87400 {
                                reg = <0 0x01d87400 0 0x108>,
                                      <0 0x01d87600 0 0x1e0>,
                                      <0 0x01d87c00 0 0x1dc>,
                        };
                };
 
-               cryptobam: dma@1dc4000 {
+               cryptobam: dma-controller@1dc4000 {
                        compatible = "qcom,bam-v1.7.0";
                        reg = <0 0x01dc4000 0 0x24000>;
                        interrupts = <GIC_SPI 272 IRQ_TYPE_LEVEL_HIGH>;
-                       clocks = <&rpmhcc 15>;
+                       clocks = <&rpmhcc RPMH_CE_CLK>;
                        clock-names = "bam_clk";
                        #dma-cells = <1>;
                        qcom,ee = <0>;
-                       qcom,controlled-remotely = <1>;
+                       qcom,controlled-remotely;
                        iommus = <&apps_smmu 0x704 0x1>,
                                 <&apps_smmu 0x706 0x1>,
                                 <&apps_smmu 0x714 0x1>,
                        compatible = "qcom,crypto-v5.4";
                        reg = <0 0x01dfa000 0 0x6000>;
                        clocks = <&gcc GCC_CE1_AHB_CLK>,
-                                <&gcc GCC_CE1_AHB_CLK>,
-                                <&rpmhcc 15>;
+                                <&gcc GCC_CE1_AXI_CLK>,
+                                <&rpmhcc RPMH_CE_CLK>;
                        clock-names = "iface", "bus", "core";
                        dmas = <&cryptobam 6>, <&cryptobam 7>;
                        dma-names = "rx", "tx";
                        clock-names = "iface", "bus", "mem", "gpll0_mss",
                                      "snoc_axi", "mnoc_axi", "prng", "xo";
 
+                       qcom,qmp = <&aoss_qmp>;
+
                        qcom,smem-states = <&modem_smp2p_out 0>;
                        qcom,smem-state-names = "stop";
 
 
                        qcom,halt-regs = <&tcsr_mutex_regs 0x23000 0x25000 0x24000>;
 
-                       power-domains = <&aoss_qmp 2>,
-                                       <&rpmhpd SDM845_CX>,
+                       power-domains = <&rpmhpd SDM845_CX>,
                                        <&rpmhpd SDM845_MX>,
                                        <&rpmhpd SDM845_MSS>;
-                       power-domain-names = "load_state", "cx", "mx", "mss";
+                       power-domain-names = "cx", "mx", "mss";
+
+                       status = "disabled";
 
                        mba {
                                memory-region = <&mba_region>;
                        interrupt-names = "hc_irq", "pwr_irq";
 
                        clocks = <&gcc GCC_SDCC2_AHB_CLK>,
-                                <&gcc GCC_SDCC2_APPS_CLK>;
-                       clock-names = "iface", "core";
+                                <&gcc GCC_SDCC2_APPS_CLK>,
+                                <&rpmhcc RPMH_CXO_CLK>;
+                       clock-names = "iface", "core", "xo";
                        iommus = <&apps_smmu 0xa0 0xf>;
                        power-domains = <&rpmhpd SDM845_CX>;
                        operating-points-v2 = <&sdhc2_opp_table>;
                        };
                };
 
+               lmh_cluster1: lmh@17d70800 {
+                       compatible = "qcom,sdm845-lmh";
+                       reg = <0 0x17d70800 0 0x400>;
+                       interrupts = <GIC_SPI 33 IRQ_TYPE_LEVEL_HIGH>;
+                       cpus = <&CPU4>;
+                       qcom,lmh-temp-arm-millicelsius = <65000>;
+                       qcom,lmh-temp-low-millicelsius = <94500>;
+                       qcom,lmh-temp-high-millicelsius = <95000>;
+                       interrupt-controller;
+                       #interrupt-cells = <1>;
+               };
+
+               lmh_cluster0: lmh@17d78800 {
+                       compatible = "qcom,sdm845-lmh";
+                       reg = <0 0x17d78800 0 0x400>;
+                       interrupts = <GIC_SPI 32 IRQ_TYPE_LEVEL_HIGH>;
+                       cpus = <&CPU0>;
+                       qcom,lmh-temp-arm-millicelsius = <65000>;
+                       qcom,lmh-temp-low-millicelsius = <94500>;
+                       qcom,lmh-temp-high-millicelsius = <95000>;
+                       interrupt-controller;
+                       #interrupt-cells = <1>;
+               };
+
                sound: sound {
                };
 
                        compatible = "qcom,sdm845-qmp-usb3-phy";
                        reg = <0 0x088e9000 0 0x18c>,
                              <0 0x088e8000 0 0x10>;
-                       reg-names = "reg-base", "dp_com";
                        status = "disabled";
                        #address-cells = <2>;
                        #size-cells = <2>;
                                 <&gcc GCC_USB3_PHY_PRIM_BCR>;
                        reset-names = "phy", "common";
 
-                       usb_1_ssphy: lanes@88e9200 {
+                       usb_1_ssphy: phy@88e9200 {
                                reg = <0 0x088e9200 0 0x128>,
                                      <0 0x088e9400 0 0x200>,
                                      <0 0x088e9c00 0 0x218>,
                                 <&gcc GCC_USB3_PHY_SEC_BCR>;
                        reset-names = "phy", "common";
 
-                       usb_2_ssphy: lane@88eb200 {
+                       usb_2_ssphy: phy@88eb200 {
                                reg = <0 0x088eb200 0 0x128>,
                                      <0 0x088eb400 0 0x1fc>,
                                      <0 0x088eb800 0 0x218>,
                                        <&gladiator_noc MASTER_APPSS_PROC 0 &config_noc SLAVE_VENUS_CFG 0>;
                        interconnect-names = "video-mem", "cpu-cfg";
 
+                       status = "disabled";
+
                        video-core0 {
                                compatible = "venus-decoder";
                        };
                                interrupt-parent = <&mdss>;
                                interrupts = <0 IRQ_TYPE_LEVEL_HIGH>;
 
-                               status = "disabled";
-
                                ports {
                                        #address-cells = <1>;
                                        #size-cells = <0>;
 
                                status = "disabled";
 
+                               #address-cells = <1>;
+                               #size-cells = <0>;
+
                                ports {
                                        #address-cells = <1>;
                                        #size-cells = <0>;
 
                                status = "disabled";
 
+                               #address-cells = <1>;
+                               #size-cells = <0>;
+
                                ports {
                                        #address-cells = <1>;
                                        #size-cells = <0>;
                        interconnects = <&mem_noc MASTER_GFX3D 0 &mem_noc SLAVE_EBI1 0>;
                        interconnect-names = "gfx-mem";
 
+                       status = "disabled";
+
                        gpu_opp_table: opp-table {
                                compatible = "operating-points-v2";
 
 
                        operating-points-v2 = <&gmu_opp_table>;
 
+                       status = "disabled";
+
                        gmu_opp_table: opp-table {
                                compatible = "operating-points-v2";
 
                        mboxes = <&apss_shared 0>;
 
                        #clock-cells = <0>;
-                       #power-domain-cells = <1>;
 
                        cx_cdev: cx {
                                #cooling-cells = <2>;
                        reg = <0 0x17d43000 0 0x1400>, <0 0x17d45800 0 0x1400>;
                        reg-names = "freq-domain0", "freq-domain1";
 
+                       interrupts-extended = <&lmh_cluster0 0>, <&lmh_cluster1 0>;
+
                        clocks = <&rpmhcc RPMH_CXO_CLK>, <&gcc GPLL0>;
                        clock-names = "xo", "alternate";
 
                                        type = "critical";
                                };
                        };
-
-                       cooling-maps {
-                               map0 {
-                                       trip = <&cpu0_alert0>;
-                                       cooling-device = <&CPU0 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>,
-                                                        <&CPU1 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>,
-                                                        <&CPU2 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>,
-                                                        <&CPU3 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>;
-                               };
-                               map1 {
-                                       trip = <&cpu0_alert1>;
-                                       cooling-device = <&CPU0 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>,
-                                                        <&CPU1 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>,
-                                                        <&CPU2 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>,
-                                                        <&CPU3 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>;
-                               };
-                       };
                };
 
                cpu1-thermal {
                                        type = "critical";
                                };
                        };
-
-                       cooling-maps {
-                               map0 {
-                                       trip = <&cpu1_alert0>;
-                                       cooling-device = <&CPU0 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>,
-                                                        <&CPU1 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>,
-                                                        <&CPU2 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>,
-                                                        <&CPU3 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>;
-                               };
-                               map1 {
-                                       trip = <&cpu1_alert1>;
-                                       cooling-device = <&CPU0 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>,
-                                                        <&CPU1 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>,
-                                                        <&CPU2 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>,
-                                                        <&CPU3 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>;
-                               };
-                       };
                };
 
                cpu2-thermal {
                                        type = "critical";
                                };
                        };
-
-                       cooling-maps {
-                               map0 {
-                                       trip = <&cpu2_alert0>;
-                                       cooling-device = <&CPU0 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>,
-                                                        <&CPU1 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>,
-                                                        <&CPU2 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>,
-                                                        <&CPU3 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>;
-                               };
-                               map1 {
-                                       trip = <&cpu2_alert1>;
-                                       cooling-device = <&CPU0 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>,
-                                                        <&CPU1 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>,
-                                                        <&CPU2 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>,
-                                                        <&CPU3 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>;
-                               };
-                       };
                };
 
                cpu3-thermal {
                                        type = "critical";
                                };
                        };
-
-                       cooling-maps {
-                               map0 {
-                                       trip = <&cpu3_alert0>;
-                                       cooling-device = <&CPU0 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>,
-                                                        <&CPU1 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>,
-                                                        <&CPU2 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>,
-                                                        <&CPU3 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>;
-                               };
-                               map1 {
-                                       trip = <&cpu3_alert1>;
-                                       cooling-device = <&CPU0 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>,
-                                                        <&CPU1 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>,
-                                                        <&CPU2 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>,
-                                                        <&CPU3 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>;
-                               };
-                       };
                };
 
                cpu4-thermal {
                                        type = "critical";
                                };
                        };
-
-                       cooling-maps {
-                               map0 {
-                                       trip = <&cpu4_alert0>;
-                                       cooling-device = <&CPU4 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>,
-                                                        <&CPU5 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>,
-                                                        <&CPU6 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>,
-                                                        <&CPU7 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>;
-                               };
-                               map1 {
-                                       trip = <&cpu4_alert1>;
-                                       cooling-device = <&CPU4 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>,
-                                                        <&CPU5 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>,
-                                                        <&CPU6 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>,
-                                                        <&CPU7 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>;
-                               };
-                       };
                };
 
                cpu5-thermal {
                                        type = "critical";
                                };
                        };
-
-                       cooling-maps {
-                               map0 {
-                                       trip = <&cpu5_alert0>;
-                                       cooling-device = <&CPU4 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>,
-                                                        <&CPU5 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>,
-                                                        <&CPU6 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>,
-                                                        <&CPU7 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>;
-                               };
-                               map1 {
-                                       trip = <&cpu5_alert1>;
-                                       cooling-device = <&CPU4 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>,
-                                                        <&CPU5 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>,
-                                                        <&CPU6 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>,
-                                                        <&CPU7 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>;
-                               };
-                       };
                };
 
                cpu6-thermal {
                                        type = "critical";
                                };
                        };
-
-                       cooling-maps {
-                               map0 {
-                                       trip = <&cpu6_alert0>;
-                                       cooling-device = <&CPU4 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>,
-                                                        <&CPU5 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>,
-                                                        <&CPU6 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>,
-                                                        <&CPU7 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>;
-                               };
-                               map1 {
-                                       trip = <&cpu6_alert1>;
-                                       cooling-device = <&CPU4 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>,
-                                                        <&CPU5 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>,
-                                                        <&CPU6 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>,
-                                                        <&CPU7 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>;
-                               };
-                       };
                };
 
                cpu7-thermal {
                                        type = "critical";
                                };
                        };
-
-                       cooling-maps {
-                               map0 {
-                                       trip = <&cpu7_alert0>;
-                                       cooling-device = <&CPU4 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>,
-                                                        <&CPU5 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>,
-                                                        <&CPU6 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>,
-                                                        <&CPU7 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>;
-                               };
-                               map1 {
-                                       trip = <&cpu7_alert1>;
-                                       cooling-device = <&CPU4 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>,
-                                                        <&CPU5 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>,
-                                                        <&CPU6 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>,
-                                                        <&CPU7 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>;
-                               };
-                       };
                };
 
                aoss0-thermal {