From: Konrad Dybcio <konrad.dybcio@linaro.org>
To: Varadarajan Narayanan <quic_varada@quicinc.com>,
ilia.lin@kernel.org, agross@kernel.org, andersson@kernel.org,
rafael@kernel.org, viresh.kumar@linaro.org, robh+dt@kernel.org,
krzysztof.kozlowski+dt@linaro.org, conor+dt@kernel.org,
mturquette@baylibre.com, sboyd@kernel.org,
quic_kathirav@quicinc.com, linux-pm@vger.kernel.org,
linux-arm-msm@vger.kernel.org, devicetree@vger.kernel.org,
linux-kernel@vger.kernel.org, linux-clk@vger.kernel.org
Subject: Re: [PATCH v1 06/10] cpufreq: qti: Enable cpufreq for ipq53xx
Date: Thu, 7 Sep 2023 10:34:48 +0200 [thread overview]
Message-ID: <f7c2f7dd-dcc7-4f3a-9c04-e370ba608de5@linaro.org> (raw)
In-Reply-To: <558c6b70090ea7220bfb0b6e7d81828025018376.1693996662.git.quic_varada@quicinc.com>
On 7.09.2023 07:21, Varadarajan Narayanan wrote:
> IPQ53xx have different OPPs available for the CPU based on
> SoC variant. This can be determined through use of an eFuse
> register present in the silicon.
>
> Added support for ipq53xx 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.
>
> nvmem driver also creates the "cpufreq-dt" platform_device after
> passing the version matching data to the OPP framework so that the
> cpufreq-dt handles the actual cpufreq implementation.
>
> Signed-off-by: Kathiravan T <quic_kathirav@quicinc.com>
> Signed-off-by: Varadarajan Narayanan <quic_varada@quicinc.com>
> ---
> drivers/cpufreq/cpufreq-dt-platdev.c | 1 +
> drivers/cpufreq/qcom-cpufreq-nvmem.c | 15 +++++++++++++++
> 2 files changed, 16 insertions(+)
>
> diff --git a/drivers/cpufreq/cpufreq-dt-platdev.c b/drivers/cpufreq/cpufreq-dt-platdev.c
> index 02ec58a..f0c45d4 100644
> --- a/drivers/cpufreq/cpufreq-dt-platdev.c
> +++ b/drivers/cpufreq/cpufreq-dt-platdev.c
Viresh probably picks up patches for both files, so it should
be fine, but I'd say it's 'eeeh' to edit 2 separate drivers at
once.
> @@ -178,6 +178,7 @@ static const struct of_device_id blocklist[] __initconst = {
> { .compatible = "ti,am625", },
> { .compatible = "ti,am62a7", },
>
> + { .compatible = "qcom,ipq5332", },
> { .compatible = "qcom,ipq8064", },
> { .compatible = "qcom,apq8064", },
> { .compatible = "qcom,msm8974", },
> diff --git a/drivers/cpufreq/qcom-cpufreq-nvmem.c b/drivers/cpufreq/qcom-cpufreq-nvmem.c
> index 84d7033..49d21b0 100644
> --- a/drivers/cpufreq/qcom-cpufreq-nvmem.c
> +++ b/drivers/cpufreq/qcom-cpufreq-nvmem.c
> @@ -146,6 +146,20 @@ static int qcom_cpufreq_kryo_name_version(struct device *cpu_dev,
> return PTR_ERR(speedbin);
>
> switch (msm_id) {
> + case QCOM_ID_IPQ5332:
> + case QCOM_ID_IPQ5322:
> + case QCOM_ID_IPQ5312:
> + case QCOM_ID_IPQ5302:
> + case QCOM_ID_IPQ5300:
> + /* Fuse Value Freq BIT to set
> + * ---------------------------------
> + * 2’b00 No Limit BIT(0)
> + * 2’b01 1.5 GHz BIT(1)
> + * 2’b10 1.2 Ghz BIT(2)
> + * 2’b11 1.0 GHz BIT(3)
I think the last column is a bit excessive, it says exactly
the same as the line below.
Actually, with this data being present in the devicetree, perhaps
this comment could be entirely skipped.
Konrad
> + */
> + drv->versions = 1 << (unsigned int)(*speedbin);
> + break;
> case QCOM_ID_MSM8996:
> case QCOM_ID_APQ8096:
> drv->versions = 1 << (unsigned int)(*speedbin);
> @@ -359,6 +373,7 @@ static const struct of_device_id qcom_cpufreq_match_list[] __initconst = {
> { .compatible = "qcom,apq8096", .data = &match_data_kryo },
> { .compatible = "qcom,msm8996", .data = &match_data_kryo },
> { .compatible = "qcom,qcs404", .data = &match_data_qcs404 },
> + { .compatible = "qcom,ipq5332", .data = &match_data_kryo },
> { .compatible = "qcom,ipq8064", .data = &match_data_krait },
> { .compatible = "qcom,apq8064", .data = &match_data_krait },
> { .compatible = "qcom,msm8974", .data = &match_data_krait },
next prev parent reply other threads:[~2023-09-07 17:58 UTC|newest]
Thread overview: 39+ messages / expand[flat|nested] mbox.gz Atom feed top
2023-09-07 5:21 [PATCH v1 00/10] Enable cpufreq for IPQ5332 & IPQ9574 Varadarajan Narayanan
2023-09-07 5:21 ` [PATCH v1 01/10] clk: qcom: clk-alpha-pll: introduce stromer plus ops Varadarajan Narayanan
2023-09-07 8:24 ` Konrad Dybcio
2023-09-07 13:39 ` Dmitry Baryshkov
2023-09-29 7:21 ` Varadarajan Narayanan
2023-09-07 5:21 ` [PATCH v1 02/10] clk: qcom: apss-ipq-pll: Use stromer plus ops for stromer plus pll Varadarajan Narayanan
2023-09-07 13:38 ` Dmitry Baryshkov
2023-09-07 5:21 ` [PATCH v1 03/10] clk: qcom: apss-ipq-pll: Fix 'l' value for ipq5332_pll_config Varadarajan Narayanan
2023-09-07 8:25 ` Konrad Dybcio
2023-09-07 13:40 ` Dmitry Baryshkov
2023-09-07 5:21 ` [PATCH v1 04/10] clk: qcom: apss-ipq6018: ipq5332: add safe source switch for a53pll Varadarajan Narayanan
2023-09-07 8:31 ` Konrad Dybcio
2023-09-29 7:32 ` Varadarajan Narayanan
2023-09-29 8:29 ` Dmitry Baryshkov
2023-09-07 8:51 ` kernel test robot
2023-09-07 13:54 ` Dmitry Baryshkov
2023-09-12 8:59 ` Varadarajan Narayanan
2023-09-07 5:21 ` [PATCH v1 05/10] dt-bindings: cpufreq: qcom-cpufreq-nvmem: document IPQ5332 Varadarajan Narayanan
2023-09-07 6:03 ` Krzysztof Kozlowski
2023-09-27 11:24 ` Viresh Kumar
2023-09-07 5:21 ` [PATCH v1 06/10] cpufreq: qti: Enable cpufreq for ipq53xx Varadarajan Narayanan
2023-09-07 8:34 ` Konrad Dybcio [this message]
2023-09-07 13:57 ` Dmitry Baryshkov
2023-09-07 15:46 ` Bryan O'Donoghue
2023-09-07 5:21 ` [PATCH v1 07/10] arm64: dts: qcom: ipq5332: populate the opp table based on the eFuse Varadarajan Narayanan
2023-09-07 6:03 ` Krzysztof Kozlowski
2023-09-07 13:59 ` Dmitry Baryshkov
2023-10-05 9:57 ` Varadarajan Narayanan
2023-10-05 11:39 ` Dmitry Baryshkov
2023-10-05 14:42 ` Varadarajan Narayanan
2023-10-05 19:39 ` Dmitry Baryshkov
2023-10-12 10:11 ` Varadarajan Narayanan
2023-09-07 5:21 ` [PATCH v1 08/10] dt-bindings: cpufreq: qcom-cpufreq-nvmem: document IPQ9574 Varadarajan Narayanan
2023-09-07 6:04 ` Krzysztof Kozlowski
2023-09-27 11:24 ` Viresh Kumar
2023-09-07 5:21 ` [PATCH v1 09/10] cpufreq: qti: Introduce cpufreq for ipq95xx Varadarajan Narayanan
2023-09-07 14:22 ` Dmitry Baryshkov
2023-09-07 5:21 ` [PATCH v1 10/10] arm64: dts: qcom: ipq9574: populate the opp table based on the eFuse Varadarajan Narayanan
2023-09-07 6:03 ` Krzysztof Kozlowski
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=f7c2f7dd-dcc7-4f3a-9c04-e370ba608de5@linaro.org \
--to=konrad.dybcio@linaro.org \
--cc=agross@kernel.org \
--cc=andersson@kernel.org \
--cc=conor+dt@kernel.org \
--cc=devicetree@vger.kernel.org \
--cc=ilia.lin@kernel.org \
--cc=krzysztof.kozlowski+dt@linaro.org \
--cc=linux-arm-msm@vger.kernel.org \
--cc=linux-clk@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-pm@vger.kernel.org \
--cc=mturquette@baylibre.com \
--cc=quic_kathirav@quicinc.com \
--cc=quic_varada@quicinc.com \
--cc=rafael@kernel.org \
--cc=robh+dt@kernel.org \
--cc=sboyd@kernel.org \
--cc=viresh.kumar@linaro.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).