]> git.ipfire.org Git - thirdparty/kernel/linux.git/commitdiff
arm64: dts: qcom: x1e80100: Enable cpufreq
authorSibi Sankar <quic_sibis@quicinc.com>
Wed, 30 Oct 2024 13:08:40 +0000 (18:38 +0530)
committerBjorn Andersson <andersson@kernel.org>
Fri, 16 May 2025 20:47:37 +0000 (21:47 +0100)
Enable cpufreq on X1E80100 SoCs through the SCMI perf protocol node.

Signed-off-by: Sibi Sankar <quic_sibis@quicinc.com>
Link: https://lore.kernel.org/r/20241030130840.2890904-3-quic_sibis@quicinc.com
Signed-off-by: Bjorn Andersson <andersson@kernel.org>
arch/arm64/boot/dts/qcom/x1e80100.dtsi

index 05d8d9643f61a3fcf62a0b2809d3dde081f30fc0..2577a0f4dd7162e077a6e5f9084505e330b6a22e 100644 (file)
@@ -72,8 +72,8 @@
                        reg = <0x0 0x0>;
                        enable-method = "psci";
                        next-level-cache = <&l2_0>;
-                       power-domains = <&cpu_pd0>;
-                       power-domain-names = "psci";
+                       power-domains = <&cpu_pd0>, <&scmi_dvfs 0>;
+                       power-domain-names = "psci", "perf";
                        cpu-idle-states = <&cluster_c4>;
 
                        l2_0: l2-cache {
@@ -89,8 +89,8 @@
                        reg = <0x0 0x100>;
                        enable-method = "psci";
                        next-level-cache = <&l2_0>;
-                       power-domains = <&cpu_pd1>;
-                       power-domain-names = "psci";
+                       power-domains = <&cpu_pd1>, <&scmi_dvfs 0>;
+                       power-domain-names = "psci", "perf";
                        cpu-idle-states = <&cluster_c4>;
                };
 
                        reg = <0x0 0x200>;
                        enable-method = "psci";
                        next-level-cache = <&l2_0>;
-                       power-domains = <&cpu_pd2>;
-                       power-domain-names = "psci";
+                       power-domains = <&cpu_pd2>, <&scmi_dvfs 0>;
+                       power-domain-names = "psci", "perf";
                        cpu-idle-states = <&cluster_c4>;
                };
 
                        reg = <0x0 0x300>;
                        enable-method = "psci";
                        next-level-cache = <&l2_0>;
-                       power-domains = <&cpu_pd3>;
-                       power-domain-names = "psci";
+                       power-domains = <&cpu_pd3>, <&scmi_dvfs 0>;
+                       power-domain-names = "psci", "perf";
                        cpu-idle-states = <&cluster_c4>;
                };
 
                        reg = <0x0 0x10000>;
                        enable-method = "psci";
                        next-level-cache = <&l2_1>;
-                       power-domains = <&cpu_pd4>;
-                       power-domain-names = "psci";
+                       power-domains = <&cpu_pd4>, <&scmi_dvfs 1>;
+                       power-domain-names = "psci", "perf";
                        cpu-idle-states = <&cluster_c4>;
 
                        l2_1: l2-cache {
                        reg = <0x0 0x10100>;
                        enable-method = "psci";
                        next-level-cache = <&l2_1>;
-                       power-domains = <&cpu_pd5>;
-                       power-domain-names = "psci";
+                       power-domains = <&cpu_pd5>, <&scmi_dvfs 1>;
+                       power-domain-names = "psci", "perf";
                        cpu-idle-states = <&cluster_c4>;
                };
 
                        reg = <0x0 0x10200>;
                        enable-method = "psci";
                        next-level-cache = <&l2_1>;
-                       power-domains = <&cpu_pd6>;
-                       power-domain-names = "psci";
+                       power-domains = <&cpu_pd6>, <&scmi_dvfs 1>;
+                       power-domain-names = "psci", "perf";
                        cpu-idle-states = <&cluster_c4>;
                };
 
                        reg = <0x0 0x10300>;
                        enable-method = "psci";
                        next-level-cache = <&l2_1>;
-                       power-domains = <&cpu_pd7>;
-                       power-domain-names = "psci";
+                       power-domains = <&cpu_pd7>, <&scmi_dvfs 1>;
+                       power-domain-names = "psci", "perf";
                        cpu-idle-states = <&cluster_c4>;
                };
 
                        reg = <0x0 0x20000>;
                        enable-method = "psci";
                        next-level-cache = <&l2_2>;
-                       power-domains = <&cpu_pd8>;
-                       power-domain-names = "psci";
+                       power-domains = <&cpu_pd8>, <&scmi_dvfs 2>;
+                       power-domain-names = "psci", "perf";
                        cpu-idle-states = <&cluster_c4>;
 
                        l2_2: l2-cache {
                        reg = <0x0 0x20100>;
                        enable-method = "psci";
                        next-level-cache = <&l2_2>;
-                       power-domains = <&cpu_pd9>;
-                       power-domain-names = "psci";
+                       power-domains = <&cpu_pd9>, <&scmi_dvfs 2>;
+                       power-domain-names = "psci", "perf";
                        cpu-idle-states = <&cluster_c4>;
                };
 
                        reg = <0x0 0x20200>;
                        enable-method = "psci";
                        next-level-cache = <&l2_2>;
-                       power-domains = <&cpu_pd10>;
-                       power-domain-names = "psci";
+                       power-domains = <&cpu_pd10>, <&scmi_dvfs 2>;
+                       power-domain-names = "psci", "perf";
                        cpu-idle-states = <&cluster_c4>;
                };
 
                        reg = <0x0 0x20300>;
                        enable-method = "psci";
                        next-level-cache = <&l2_2>;
-                       power-domains = <&cpu_pd11>;
-                       power-domain-names = "psci";
+                       power-domains = <&cpu_pd11>, <&scmi_dvfs 2>;
+                       power-domain-names = "psci", "perf";
                        cpu-idle-states = <&cluster_c4>;
                };
 
                                         &mc_virt SLAVE_EBI1 QCOM_ICC_TAG_ALWAYS>;
                        qcom,dload-mode = <&tcsr 0x19000>;
                };
+
+               scmi {
+                       compatible = "arm,scmi";
+                       mboxes = <&cpucp_mbox 0>, <&cpucp_mbox 2>;
+                       mbox-names = "tx", "rx";
+                       shmem = <&cpu_scp_lpri0>, <&cpu_scp_lpri1>;
+
+                       #address-cells = <1>;
+                       #size-cells = <0>;
+
+                       scmi_dvfs: protocol@13 {
+                               reg = <0x13>;
+                               #power-domain-cells = <1>;
+                       };
+               };
        };
 
        clk_virt: interconnect-0 {