mirror of
https://github.com/coolsnowwolf/lede.git
synced 2025-04-16 04:13:31 +00:00
65 lines
2.6 KiB
Diff
65 lines
2.6 KiB
Diff
From 5b5b5806f22390808b8e8fa180fe35b003a4a74d Mon Sep 17 00:00:00 2001
|
|
From: Varadarajan Narayanan <quic_varada@quicinc.com>
|
|
Date: Tue, 31 Oct 2023 12:41:39 +0530
|
|
Subject: [PATCH 2/2] cpufreq: qcom-nvmem: Introduce cpufreq for ipq95xx
|
|
|
|
IPQ95xx SoCs have different OPPs available for the CPU based on
|
|
the SoC variant. This can be determined from an eFuse register
|
|
present in the silicon.
|
|
|
|
Added support for ipq95xx on nvmem driver which helps to
|
|
determine OPPs at runtime based on the eFuse register which
|
|
has the CPU frequency limits. opp-supported-hw dt binding
|
|
can be used to indicate the available OPPs for each limit.
|
|
|
|
Reviewed-by: Dmitry Baryshkov <dmitry.baryshkov@linaro.org>
|
|
Signed-off-by: Praveenkumar I <ipkumar@codeaurora.org>
|
|
Signed-off-by: Kathiravan T <quic_kathirav@quicinc.com>
|
|
Signed-off-by: Varadarajan Narayanan <quic_varada@quicinc.com>
|
|
[ Viresh: Fixed subject ]
|
|
Signed-off-by: Viresh Kumar <viresh.kumar@linaro.org>
|
|
---
|
|
drivers/cpufreq/cpufreq-dt-platdev.c | 1 +
|
|
drivers/cpufreq/qcom-cpufreq-nvmem.c | 6 ++++++
|
|
2 files changed, 7 insertions(+)
|
|
|
|
diff --git a/drivers/cpufreq/cpufreq-dt-platdev.c b/drivers/cpufreq/cpufreq-dt-platdev.c
|
|
index 53da25589e5f..bd1e1357cef8 100644
|
|
--- a/drivers/cpufreq/cpufreq-dt-platdev.c
|
|
+++ b/drivers/cpufreq/cpufreq-dt-platdev.c
|
|
@@ -184,6 +184,7 @@ static const struct of_device_id blocklist[] __initconst = {
|
|
|
|
{ .compatible = "qcom,ipq5332", },
|
|
{ .compatible = "qcom,ipq8064", },
|
|
+ { .compatible = "qcom,ipq9574", },
|
|
{ .compatible = "qcom,apq8064", },
|
|
{ .compatible = "qcom,msm8974", },
|
|
{ .compatible = "qcom,msm8960", },
|
|
diff --git a/drivers/cpufreq/qcom-cpufreq-nvmem.c b/drivers/cpufreq/qcom-cpufreq-nvmem.c
|
|
index 4f7af70169e0..6355a39418c5 100644
|
|
--- a/drivers/cpufreq/qcom-cpufreq-nvmem.c
|
|
+++ b/drivers/cpufreq/qcom-cpufreq-nvmem.c
|
|
@@ -188,6 +188,11 @@ static int qcom_cpufreq_kryo_name_version(struct device *cpu_dev,
|
|
case QCOM_ID_IPQ5312:
|
|
case QCOM_ID_IPQ5302:
|
|
case QCOM_ID_IPQ5300:
|
|
+ case QCOM_ID_IPQ9514:
|
|
+ case QCOM_ID_IPQ9550:
|
|
+ case QCOM_ID_IPQ9554:
|
|
+ case QCOM_ID_IPQ9570:
|
|
+ case QCOM_ID_IPQ9574:
|
|
drv->versions = 1 << (unsigned int)(*speedbin);
|
|
break;
|
|
case QCOM_ID_MSM8996SG:
|
|
@@ -551,6 +556,7 @@ static const struct of_device_id qcom_cpufreq_match_list[] __initconst = {
|
|
{ .compatible = "qcom,ipq5332", .data = &match_data_kryo },
|
|
{ .compatible = "qcom,ipq8064", .data = &match_data_krait },
|
|
{ .compatible = "qcom,apq8064", .data = &match_data_krait },
|
|
+ { .compatible = "qcom,ipq9574", .data = &match_data_kryo },
|
|
{ .compatible = "qcom,msm8974", .data = &match_data_krait },
|
|
{ .compatible = "qcom,msm8960", .data = &match_data_krait },
|
|
{},
|
|
--
|
|
2.45.2
|
|
|