* [PATCH 0/3] Add APSS clock driver support for IPQ5018
@ 2023-08-29 9:54 Gokul Sriram Palanisamy
2023-08-29 9:54 ` [PATCH 1/3] dt-bindings: clock: qcom,a53pll: add IPQ5018 compatible Gokul Sriram Palanisamy
` (2 more replies)
0 siblings, 3 replies; 19+ messages in thread
From: Gokul Sriram Palanisamy @ 2023-08-29 9:54 UTC (permalink / raw)
To: agross, andersson, konrad.dybcio, mturquette, sboyd, robh+dt,
krzysztof.kozlowski+dt, jassisinghbrar, linux-arm-msm, linux-clk,
devicetree, linux-kernel
Cc: quic_varada, quic_srichara, quic_gokulsri
This series adds support for the APSS clock to bump the CPU frequency
above 800MHz. APSS PLL found in the IPQ5018 is of type Stromer.
- The first patch in the series adds the required a53pll compatible.
- The second patch adds Stormer PLL offsets, its configuration values and
regmap and modify probe to reuse clk_stromer_pll_configure() for Stormer
which was added for Stormer Plus.
- The third patch adds dts nodes to enable the pll along with the cpu
operating frequency table.
Gokul Sriram Palanisamy (3):
dt-bindings: clock: qcom,a53pll: add IPQ5018 compatible
clk: qcom: apss-ipq-pll: add support for IPQ5018
arm64: dts: qcom: ipq5018: enable the CPUFreq support
.../bindings/clock/qcom,a53pll.yaml | 1 +
arch/arm64/boot/dts/qcom/ipq5018.dtsi | 34 ++++++++++++
drivers/clk/qcom/apss-ipq-pll.c | 52 ++++++++++++++++++-
3 files changed, 86 insertions(+), 1 deletion(-)
--
2.34.1
^ permalink raw reply [flat|nested] 19+ messages in thread
* [PATCH 1/3] dt-bindings: clock: qcom,a53pll: add IPQ5018 compatible
2023-08-29 9:54 [PATCH 0/3] Add APSS clock driver support for IPQ5018 Gokul Sriram Palanisamy
@ 2023-08-29 9:54 ` Gokul Sriram Palanisamy
2023-08-29 10:09 ` Krzysztof Kozlowski
2023-08-29 9:54 ` [PATCH 2/3] clk: qcom: apss-ipq-pll: add support for IPQ5018 Gokul Sriram Palanisamy
2023-08-29 9:54 ` [PATCH 3/3] arm64: dts: qcom: ipq5018: enable the CPUFreq support Gokul Sriram Palanisamy
2 siblings, 1 reply; 19+ messages in thread
From: Gokul Sriram Palanisamy @ 2023-08-29 9:54 UTC (permalink / raw)
To: agross, andersson, konrad.dybcio, mturquette, sboyd, robh+dt,
krzysztof.kozlowski+dt, jassisinghbrar, linux-arm-msm, linux-clk,
devicetree, linux-kernel
Cc: quic_varada, quic_srichara, quic_gokulsri
Add IPQ5018 compatible to A53 PLL bindings.
Co-developed-by: Sricharan Ramabadhran <quic_srichara@quicinc.com>
Signed-off-by: Sricharan Ramabadhran <quic_srichara@quicinc.com>
Signed-off-by: Gokul Sriram Palanisamy <quic_gokulsri@quicinc.com>
---
Documentation/devicetree/bindings/clock/qcom,a53pll.yaml | 1 +
1 file changed, 1 insertion(+)
diff --git a/Documentation/devicetree/bindings/clock/qcom,a53pll.yaml b/Documentation/devicetree/bindings/clock/qcom,a53pll.yaml
index 9436266828af..5ca927a8b1d5 100644
--- a/Documentation/devicetree/bindings/clock/qcom,a53pll.yaml
+++ b/Documentation/devicetree/bindings/clock/qcom,a53pll.yaml
@@ -16,6 +16,7 @@ description:
properties:
compatible:
enum:
+ - qcom,ipq5018-a53pll
- qcom,ipq5332-a53pll
- qcom,ipq6018-a53pll
- qcom,ipq8074-a53pll
--
2.34.1
^ permalink raw reply related [flat|nested] 19+ messages in thread
* [PATCH 2/3] clk: qcom: apss-ipq-pll: add support for IPQ5018
2023-08-29 9:54 [PATCH 0/3] Add APSS clock driver support for IPQ5018 Gokul Sriram Palanisamy
2023-08-29 9:54 ` [PATCH 1/3] dt-bindings: clock: qcom,a53pll: add IPQ5018 compatible Gokul Sriram Palanisamy
@ 2023-08-29 9:54 ` Gokul Sriram Palanisamy
2023-08-29 22:34 ` Stephen Boyd
2023-08-29 9:54 ` [PATCH 3/3] arm64: dts: qcom: ipq5018: enable the CPUFreq support Gokul Sriram Palanisamy
2 siblings, 1 reply; 19+ messages in thread
From: Gokul Sriram Palanisamy @ 2023-08-29 9:54 UTC (permalink / raw)
To: agross, andersson, konrad.dybcio, mturquette, sboyd, robh+dt,
krzysztof.kozlowski+dt, jassisinghbrar, linux-arm-msm, linux-clk,
devicetree, linux-kernel
Cc: quic_varada, quic_srichara, quic_gokulsri
IPQ5018 APSS PLL is of type Stromer. Add support for Stromer PLL,
configuration values and the compatible.
Co-developed-by: Sricharan Ramabadhran <quic_srichara@quicinc.com>
Signed-off-by: Sricharan Ramabadhran <quic_srichara@quicinc.com>
Signed-off-by: Gokul Sriram Palanisamy <quic_gokulsri@quicinc.com>
---
drivers/clk/qcom/apss-ipq-pll.c | 52 ++++++++++++++++++++++++++++++++-
1 file changed, 51 insertions(+), 1 deletion(-)
diff --git a/drivers/clk/qcom/apss-ipq-pll.c b/drivers/clk/qcom/apss-ipq-pll.c
index e170331858cc..bbc25d5eb70d 100644
--- a/drivers/clk/qcom/apss-ipq-pll.c
+++ b/drivers/clk/qcom/apss-ipq-pll.c
@@ -24,6 +24,17 @@ static const u8 ipq_pll_offsets[][PLL_OFF_MAX_REGS] = {
[PLL_OFF_TEST_CTL] = 0x30,
[PLL_OFF_TEST_CTL_U] = 0x34,
},
+ [CLK_ALPHA_PLL_TYPE_STROMER] = {
+ [PLL_OFF_L_VAL] = 0x08,
+ [PLL_OFF_ALPHA_VAL] = 0x10,
+ [PLL_OFF_ALPHA_VAL_U] = 0x14,
+ [PLL_OFF_USER_CTL] = 0x18,
+ [PLL_OFF_USER_CTL_U] = 0x1c,
+ [PLL_OFF_CONFIG_CTL] = 0x20,
+ [PLL_OFF_STATUS] = 0x28,
+ [PLL_OFF_TEST_CTL] = 0x30,
+ [PLL_OFF_TEST_CTL_U] = 0x34,
+ },
[CLK_ALPHA_PLL_TYPE_STROMER_PLUS] = {
[PLL_OFF_L_VAL] = 0x08,
[PLL_OFF_ALPHA_VAL] = 0x10,
@@ -73,6 +84,38 @@ static struct clk_alpha_pll ipq_pll_stromer_plus = {
},
};
+static struct clk_alpha_pll ipq_pll_stromer = {
+ .offset = 0x0,
+ .regs = clk_alpha_pll_regs[CLK_ALPHA_PLL_TYPE_STROMER],
+ .flags = SUPPORTS_DYNAMIC_UPDATE,
+ .clkr = {
+ .enable_reg = 0x0,
+ .enable_mask = BIT(0),
+ .hw.init = &(struct clk_init_data){
+ .name = "a53pll",
+ .parent_data = &(const struct clk_parent_data) {
+ .fw_name = "xo",
+ },
+ .num_parents = 1,
+ .ops = &clk_alpha_pll_stromer_ops,
+ },
+ },
+};
+
+static const struct alpha_pll_config ipq5018_pll_config = {
+ .l = 0x32,
+ .config_ctl_val = 0x4001075b,
+ .config_ctl_hi_val = 0x304,
+ .main_output_mask = BIT(0),
+ .aux_output_mask = BIT(1),
+ .early_output_mask = BIT(3),
+ .alpha_en_mask = BIT(24),
+ .status_val = 0x3,
+ .status_mask = GENMASK(10, 8),
+ .lock_det = BIT(2),
+ .test_ctl_hi_val = 0x00400003,
+};
+
static const struct alpha_pll_config ipq5332_pll_config = {
.l = 0x3e,
.config_ctl_val = 0x4001075b,
@@ -129,6 +172,12 @@ struct apss_pll_data {
const struct alpha_pll_config *pll_config;
};
+static struct apss_pll_data ipq5018_pll_data = {
+ .pll_type = CLK_ALPHA_PLL_TYPE_STROMER,
+ .pll = &ipq_pll_stromer,
+ .pll_config = &ipq5018_pll_config,
+};
+
static struct apss_pll_data ipq5332_pll_data = {
.pll_type = CLK_ALPHA_PLL_TYPE_STROMER_PLUS,
.pll = &ipq_pll_stromer_plus,
@@ -183,7 +232,7 @@ static int apss_ipq_pll_probe(struct platform_device *pdev)
if (data->pll_type == CLK_ALPHA_PLL_TYPE_HUAYRA)
clk_alpha_pll_configure(data->pll, regmap, data->pll_config);
- else if (data->pll_type == CLK_ALPHA_PLL_TYPE_STROMER_PLUS)
+ else
clk_stromer_pll_configure(data->pll, regmap, data->pll_config);
ret = devm_clk_register_regmap(dev, &data->pll->clkr);
@@ -195,6 +244,7 @@ static int apss_ipq_pll_probe(struct platform_device *pdev)
}
static const struct of_device_id apss_ipq_pll_match_table[] = {
+ { .compatible = "qcom,ipq5018-a53pll", .data = &ipq5018_pll_data },
{ .compatible = "qcom,ipq5332-a53pll", .data = &ipq5332_pll_data },
{ .compatible = "qcom,ipq6018-a53pll", .data = &ipq6018_pll_data },
{ .compatible = "qcom,ipq8074-a53pll", .data = &ipq8074_pll_data },
--
2.34.1
^ permalink raw reply related [flat|nested] 19+ messages in thread
* [PATCH 3/3] arm64: dts: qcom: ipq5018: enable the CPUFreq support
2023-08-29 9:54 [PATCH 0/3] Add APSS clock driver support for IPQ5018 Gokul Sriram Palanisamy
2023-08-29 9:54 ` [PATCH 1/3] dt-bindings: clock: qcom,a53pll: add IPQ5018 compatible Gokul Sriram Palanisamy
2023-08-29 9:54 ` [PATCH 2/3] clk: qcom: apss-ipq-pll: add support for IPQ5018 Gokul Sriram Palanisamy
@ 2023-08-29 9:54 ` Gokul Sriram Palanisamy
2023-08-29 10:12 ` Krzysztof Kozlowski
2 siblings, 1 reply; 19+ messages in thread
From: Gokul Sriram Palanisamy @ 2023-08-29 9:54 UTC (permalink / raw)
To: agross, andersson, konrad.dybcio, mturquette, sboyd, robh+dt,
krzysztof.kozlowski+dt, jassisinghbrar, linux-arm-msm, linux-clk,
devicetree, linux-kernel
Cc: quic_varada, quic_srichara, quic_gokulsri
Add the APCS, A53 PLL, cpu-opp-table nodes to set
the CPU frequency at optimal range.
Co-developed-by: Sricharan Ramabadhran <quic_srichara@quicinc.com>
Signed-off-by: Sricharan Ramabadhran <quic_srichara@quicinc.com>
Signed-off-by: Gokul Sriram Palanisamy <quic_gokulsri@quicinc.com>
---
arch/arm64/boot/dts/qcom/ipq5018.dtsi | 34 +++++++++++++++++++++++++++
1 file changed, 34 insertions(+)
diff --git a/arch/arm64/boot/dts/qcom/ipq5018.dtsi b/arch/arm64/boot/dts/qcom/ipq5018.dtsi
index 9f13d2dcdfd5..05843517312c 100644
--- a/arch/arm64/boot/dts/qcom/ipq5018.dtsi
+++ b/arch/arm64/boot/dts/qcom/ipq5018.dtsi
@@ -8,6 +8,7 @@
#include <dt-bindings/interrupt-controller/arm-gic.h>
#include <dt-bindings/clock/qcom,gcc-ipq5018.h>
#include <dt-bindings/reset/qcom,gcc-ipq5018.h>
+#include <dt-bindings/clock/qcom,apss-ipq.h>
/ {
interrupt-parent = <&intc>;
@@ -36,6 +37,8 @@ CPU0: cpu@0 {
reg = <0x0>;
enable-method = "psci";
next-level-cache = <&L2_0>;
+ clocks = <&apcs_glb APCS_ALIAS0_CORE_CLK>;
+ operating-points-v2 = <&cpu_opp_table>;
};
CPU1: cpu@1 {
@@ -44,6 +47,8 @@ CPU1: cpu@1 {
reg = <0x1>;
enable-method = "psci";
next-level-cache = <&L2_0>;
+ clocks = <&apcs_glb APCS_ALIAS0_CORE_CLK>;
+ operating-points-v2 = <&cpu_opp_table>;
};
L2_0: l2-cache {
@@ -54,6 +59,17 @@ L2_0: l2-cache {
};
};
+ cpu_opp_table: opp-table-cpu {
+ compatible = "operating-points-v2";
+ opp-shared;
+
+ opp-1008000000 {
+ opp-hz = /bits/ 64 <1008000000>;
+ opp-microvolt = <1100000>;
+ clock-latency-ns = <200000>;
+ };
+ };
+
firmware {
scm {
compatible = "qcom,scm-ipq5018", "qcom,scm";
@@ -181,6 +197,24 @@ v2m1: v2m@1000 {
};
};
+ a53pll: clock@b116000 {
+ compatible = "qcom,ipq5018-a53pll";
+ reg = <0x0b116000 0x40>;
+ #clock-cells = <0>;
+ clocks = <&xo_board_clk>;
+ clock-names = "xo";
+ };
+
+ apcs_glb: mailbox@b111000 {
+ compatible = "qcom,ipq5018-apcs-apps-global",
+ "qcom,ipq6018-apcs-apps-global";
+ reg = <0x0b111000 0x1000>;
+ #clock-cells = <1>;
+ clocks = <&a53pll>, <&xo_board_clk>;
+ clock-names = "pll", "xo";
+ #mbox-cells = <1>;
+ };
+
timer@b120000 {
compatible = "arm,armv7-timer-mem";
reg = <0x0b120000 0x1000>;
--
2.34.1
^ permalink raw reply related [flat|nested] 19+ messages in thread
* Re: [PATCH 1/3] dt-bindings: clock: qcom,a53pll: add IPQ5018 compatible
2023-08-29 9:54 ` [PATCH 1/3] dt-bindings: clock: qcom,a53pll: add IPQ5018 compatible Gokul Sriram Palanisamy
@ 2023-08-29 10:09 ` Krzysztof Kozlowski
2023-08-30 6:40 ` Gokul Sriram P
0 siblings, 1 reply; 19+ messages in thread
From: Krzysztof Kozlowski @ 2023-08-29 10:09 UTC (permalink / raw)
To: Gokul Sriram Palanisamy, agross, andersson, konrad.dybcio,
mturquette, sboyd, robh+dt, krzysztof.kozlowski+dt,
jassisinghbrar, linux-arm-msm, linux-clk, devicetree,
linux-kernel
Cc: quic_varada, quic_srichara
On 29/08/2023 11:54, Gokul Sriram Palanisamy wrote:
> Add IPQ5018 compatible to A53 PLL bindings.
>
> Co-developed-by: Sricharan Ramabadhran <quic_srichara@quicinc.com>
> Signed-off-by: Sricharan Ramabadhran <quic_srichara@quicinc.com>
Knowing that this patch could not come from downstream (it's some old
kernel without this file), I really wonder why two people were involved
in developing trivial one line change.
> Signed-off-by: Gokul Sriram Palanisamy <quic_gokulsri@quicinc.com>
Reviewed-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
Best regards,
Krzysztof
^ permalink raw reply [flat|nested] 19+ messages in thread
* Re: [PATCH 3/3] arm64: dts: qcom: ipq5018: enable the CPUFreq support
2023-08-29 9:54 ` [PATCH 3/3] arm64: dts: qcom: ipq5018: enable the CPUFreq support Gokul Sriram Palanisamy
@ 2023-08-29 10:12 ` Krzysztof Kozlowski
2023-08-29 10:56 ` Robert Marko
0 siblings, 1 reply; 19+ messages in thread
From: Krzysztof Kozlowski @ 2023-08-29 10:12 UTC (permalink / raw)
To: Gokul Sriram Palanisamy, agross, andersson, konrad.dybcio,
mturquette, sboyd, robh+dt, krzysztof.kozlowski+dt,
jassisinghbrar, linux-arm-msm, linux-clk, devicetree,
linux-kernel
Cc: quic_varada, quic_srichara
On 29/08/2023 11:54, Gokul Sriram Palanisamy wrote:
> Add the APCS, A53 PLL, cpu-opp-table nodes to set
> the CPU frequency at optimal range.
>
> Co-developed-by: Sricharan Ramabadhran <quic_srichara@quicinc.com>
> Signed-off-by: Sricharan Ramabadhran <quic_srichara@quicinc.com>
> Signed-off-by: Gokul Sriram Palanisamy <quic_gokulsri@quicinc.com>
> ---
> arch/arm64/boot/dts/qcom/ipq5018.dtsi | 34 +++++++++++++++++++++++++++
> 1 file changed, 34 insertions(+)
>
> diff --git a/arch/arm64/boot/dts/qcom/ipq5018.dtsi b/arch/arm64/boot/dts/qcom/ipq5018.dtsi
> index 9f13d2dcdfd5..05843517312c 100644
> --- a/arch/arm64/boot/dts/qcom/ipq5018.dtsi
> +++ b/arch/arm64/boot/dts/qcom/ipq5018.dtsi
> @@ -8,6 +8,7 @@
> #include <dt-bindings/interrupt-controller/arm-gic.h>
> #include <dt-bindings/clock/qcom,gcc-ipq5018.h>
> #include <dt-bindings/reset/qcom,gcc-ipq5018.h>
> +#include <dt-bindings/clock/qcom,apss-ipq.h>
c is before r.
>
> / {
> interrupt-parent = <&intc>;
> @@ -36,6 +37,8 @@ CPU0: cpu@0 {
> reg = <0x0>;
> enable-method = "psci";
> next-level-cache = <&L2_0>;
> + clocks = <&apcs_glb APCS_ALIAS0_CORE_CLK>;
> + operating-points-v2 = <&cpu_opp_table>;
> };
>
> CPU1: cpu@1 {
> @@ -44,6 +47,8 @@ CPU1: cpu@1 {
> reg = <0x1>;
> enable-method = "psci";
> next-level-cache = <&L2_0>;
> + clocks = <&apcs_glb APCS_ALIAS0_CORE_CLK>;
> + operating-points-v2 = <&cpu_opp_table>;
> };
>
> L2_0: l2-cache {
> @@ -54,6 +59,17 @@ L2_0: l2-cache {
> };
> };
>
> + cpu_opp_table: opp-table-cpu {
> + compatible = "operating-points-v2";
> + opp-shared;
> +
> + opp-1008000000 {
> + opp-hz = /bits/ 64 <1008000000>;
> + opp-microvolt = <1100000>;
> + clock-latency-ns = <200000>;
And the rest of OPPs?
> + };
> + };
> +
> firmware {
> scm {
> compatible = "qcom,scm-ipq5018", "qcom,scm";
> @@ -181,6 +197,24 @@ v2m1: v2m@1000 {
> };
> };
>
> + a53pll: clock@b116000 {
> + compatible = "qcom,ipq5018-a53pll";
> + reg = <0x0b116000 0x40>;
> + #clock-cells = <0>;
> + clocks = <&xo_board_clk>;
> + clock-names = "xo";
> + };
> +
> + apcs_glb: mailbox@b111000 {
0xb111000 looks lower than 0x116000.
> + compatible = "qcom,ipq5018-apcs-apps-global",
> + "qcom,ipq6018-apcs-apps-global";
> + reg = <0x0b111000 0x1000>;
Best regards,
Krzysztof
^ permalink raw reply [flat|nested] 19+ messages in thread
* Re: [PATCH 3/3] arm64: dts: qcom: ipq5018: enable the CPUFreq support
2023-08-29 10:12 ` Krzysztof Kozlowski
@ 2023-08-29 10:56 ` Robert Marko
2023-08-29 11:00 ` Dmitry Baryshkov
` (2 more replies)
0 siblings, 3 replies; 19+ messages in thread
From: Robert Marko @ 2023-08-29 10:56 UTC (permalink / raw)
To: Krzysztof Kozlowski, Gokul Sriram Palanisamy, agross, andersson,
konrad.dybcio, mturquette, sboyd, robh+dt, krzysztof.kozlowski+dt,
jassisinghbrar, linux-arm-msm, linux-clk, devicetree,
linux-kernel
Cc: quic_varada, quic_srichara
On 29. 08. 2023. 12:12, Krzysztof Kozlowski wrote:
> On 29/08/2023 11:54, Gokul Sriram Palanisamy wrote:
>> Add the APCS, A53 PLL, cpu-opp-table nodes to set
>> the CPU frequency at optimal range.
>>
>> Co-developed-by: Sricharan Ramabadhran <quic_srichara@quicinc.com>
>> Signed-off-by: Sricharan Ramabadhran <quic_srichara@quicinc.com>
>> Signed-off-by: Gokul Sriram Palanisamy <quic_gokulsri@quicinc.com>
>> ---
>> arch/arm64/boot/dts/qcom/ipq5018.dtsi | 34 +++++++++++++++++++++++++++
>> 1 file changed, 34 insertions(+)
>>
>> diff --git a/arch/arm64/boot/dts/qcom/ipq5018.dtsi b/arch/arm64/boot/dts/qcom/ipq5018.dtsi
>> index 9f13d2dcdfd5..05843517312c 100644
>> --- a/arch/arm64/boot/dts/qcom/ipq5018.dtsi
>> +++ b/arch/arm64/boot/dts/qcom/ipq5018.dtsi
>> @@ -8,6 +8,7 @@
>> #include <dt-bindings/interrupt-controller/arm-gic.h>
>> #include <dt-bindings/clock/qcom,gcc-ipq5018.h>
>> #include <dt-bindings/reset/qcom,gcc-ipq5018.h>
>> +#include <dt-bindings/clock/qcom,apss-ipq.h>
> c is before r.
>
>>
>> / {
>> interrupt-parent = <&intc>;
>> @@ -36,6 +37,8 @@ CPU0: cpu@0 {
>> reg = <0x0>;
>> enable-method = "psci";
>> next-level-cache = <&L2_0>;
>> + clocks = <&apcs_glb APCS_ALIAS0_CORE_CLK>;
>> + operating-points-v2 = <&cpu_opp_table>;
>> };
>>
>> CPU1: cpu@1 {
>> @@ -44,6 +47,8 @@ CPU1: cpu@1 {
>> reg = <0x1>;
>> enable-method = "psci";
>> next-level-cache = <&L2_0>;
>> + clocks = <&apcs_glb APCS_ALIAS0_CORE_CLK>;
>> + operating-points-v2 = <&cpu_opp_table>;
>> };
>>
>> L2_0: l2-cache {
>> @@ -54,6 +59,17 @@ L2_0: l2-cache {
>> };
>> };
>>
>> + cpu_opp_table: opp-table-cpu {
>> + compatible = "operating-points-v2";
>> + opp-shared;
>> +
>> + opp-1008000000 {
>> + opp-hz = /bits/ 64 <1008000000>;
>> + opp-microvolt = <1100000>;
>> + clock-latency-ns = <200000>;
> And the rest of OPPs?
Hi Krzysztof,
IPQ5018 only supports running at 1.1GHz, but its running at 800MHz
by default from the bootloader so there is only one OPP.
I am glad to see more SoC-s gaining CPUFreq support.
Regards,
Robert
>
>> + };
>> + };
>> +
>> firmware {
>> scm {
>> compatible = "qcom,scm-ipq5018", "qcom,scm";
>> @@ -181,6 +197,24 @@ v2m1: v2m@1000 {
>> };
>> };
>>
>> + a53pll: clock@b116000 {
>> + compatible = "qcom,ipq5018-a53pll";
>> + reg = <0x0b116000 0x40>;
>> + #clock-cells = <0>;
>> + clocks = <&xo_board_clk>;
>> + clock-names = "xo";
>> + };
>> +
>> + apcs_glb: mailbox@b111000 {
> 0xb111000 looks lower than 0x116000.
>
>> + compatible = "qcom,ipq5018-apcs-apps-global",
>> + "qcom,ipq6018-apcs-apps-global";
>> + reg = <0x0b111000 0x1000>;
> Best regards,
> Krzysztof
>
>
>
^ permalink raw reply [flat|nested] 19+ messages in thread
* Re: [PATCH 3/3] arm64: dts: qcom: ipq5018: enable the CPUFreq support
2023-08-29 10:56 ` Robert Marko
@ 2023-08-29 11:00 ` Dmitry Baryshkov
2023-08-29 11:10 ` Krzysztof Kozlowski
2023-08-30 6:50 ` Gokul Sriram P
2 siblings, 0 replies; 19+ messages in thread
From: Dmitry Baryshkov @ 2023-08-29 11:00 UTC (permalink / raw)
To: Robert Marko
Cc: Krzysztof Kozlowski, Gokul Sriram Palanisamy, agross, andersson,
konrad.dybcio, mturquette, sboyd, robh+dt, krzysztof.kozlowski+dt,
jassisinghbrar, linux-arm-msm, linux-clk, devicetree,
linux-kernel, quic_varada, quic_srichara
On Tue, 29 Aug 2023 at 13:59, Robert Marko <robimarko@gmail.com> wrote:
>
>
> On 29. 08. 2023. 12:12, Krzysztof Kozlowski wrote:
> > On 29/08/2023 11:54, Gokul Sriram Palanisamy wrote:
> >> Add the APCS, A53 PLL, cpu-opp-table nodes to set
> >> the CPU frequency at optimal range.
> >>
> >> Co-developed-by: Sricharan Ramabadhran <quic_srichara@quicinc.com>
> >> Signed-off-by: Sricharan Ramabadhran <quic_srichara@quicinc.com>
> >> Signed-off-by: Gokul Sriram Palanisamy <quic_gokulsri@quicinc.com>
> >> ---
> >> arch/arm64/boot/dts/qcom/ipq5018.dtsi | 34 +++++++++++++++++++++++++++
> >> 1 file changed, 34 insertions(+)
> >>
> >> diff --git a/arch/arm64/boot/dts/qcom/ipq5018.dtsi b/arch/arm64/boot/dts/qcom/ipq5018.dtsi
> >> index 9f13d2dcdfd5..05843517312c 100644
> >> --- a/arch/arm64/boot/dts/qcom/ipq5018.dtsi
> >> +++ b/arch/arm64/boot/dts/qcom/ipq5018.dtsi
> >> @@ -8,6 +8,7 @@
> >> #include <dt-bindings/interrupt-controller/arm-gic.h>
> >> #include <dt-bindings/clock/qcom,gcc-ipq5018.h>
> >> #include <dt-bindings/reset/qcom,gcc-ipq5018.h>
> >> +#include <dt-bindings/clock/qcom,apss-ipq.h>
> > c is before r.
> >
> >>
> >> / {
> >> interrupt-parent = <&intc>;
> >> @@ -36,6 +37,8 @@ CPU0: cpu@0 {
> >> reg = <0x0>;
> >> enable-method = "psci";
> >> next-level-cache = <&L2_0>;
> >> + clocks = <&apcs_glb APCS_ALIAS0_CORE_CLK>;
> >> + operating-points-v2 = <&cpu_opp_table>;
> >> };
> >>
> >> CPU1: cpu@1 {
> >> @@ -44,6 +47,8 @@ CPU1: cpu@1 {
> >> reg = <0x1>;
> >> enable-method = "psci";
> >> next-level-cache = <&L2_0>;
> >> + clocks = <&apcs_glb APCS_ALIAS0_CORE_CLK>;
> >> + operating-points-v2 = <&cpu_opp_table>;
> >> };
> >>
> >> L2_0: l2-cache {
> >> @@ -54,6 +59,17 @@ L2_0: l2-cache {
> >> };
> >> };
> >>
> >> + cpu_opp_table: opp-table-cpu {
> >> + compatible = "operating-points-v2";
> >> + opp-shared;
> >> +
> >> + opp-1008000000 {
> >> + opp-hz = /bits/ 64 <1008000000>;
> >> + opp-microvolt = <1100000>;
> >> + clock-latency-ns = <200000>;
> > And the rest of OPPs?
> Hi Krzysztof,
> IPQ5018 only supports running at 1.1GHz, but its running at 800MHz
> by default from the bootloader so there is only one OPP.
If the bootloader sets it to 800 MHz, then this frequency is also
somehow 'supported', isn't it?
> I am glad to see more SoC-s gaining CPUFreq support.
Definitely.
>
> Regards,
> Robert
> >
> >> + };
> >> + };
> >> +
> >> firmware {
> >> scm {
> >> compatible = "qcom,scm-ipq5018", "qcom,scm";
> >> @@ -181,6 +197,24 @@ v2m1: v2m@1000 {
> >> };
> >> };
> >>
> >> + a53pll: clock@b116000 {
> >> + compatible = "qcom,ipq5018-a53pll";
> >> + reg = <0x0b116000 0x40>;
> >> + #clock-cells = <0>;
> >> + clocks = <&xo_board_clk>;
> >> + clock-names = "xo";
> >> + };
> >> +
> >> + apcs_glb: mailbox@b111000 {
> > 0xb111000 looks lower than 0x116000.
> >
> >> + compatible = "qcom,ipq5018-apcs-apps-global",
> >> + "qcom,ipq6018-apcs-apps-global";
> >> + reg = <0x0b111000 0x1000>;
> > Best regards,
> > Krzysztof
> >
> >
> >
--
With best wishes
Dmitry
^ permalink raw reply [flat|nested] 19+ messages in thread
* Re: [PATCH 3/3] arm64: dts: qcom: ipq5018: enable the CPUFreq support
2023-08-29 10:56 ` Robert Marko
2023-08-29 11:00 ` Dmitry Baryshkov
@ 2023-08-29 11:10 ` Krzysztof Kozlowski
2023-08-29 11:18 ` Robert Marko
2023-08-30 6:50 ` Gokul Sriram P
2 siblings, 1 reply; 19+ messages in thread
From: Krzysztof Kozlowski @ 2023-08-29 11:10 UTC (permalink / raw)
To: Robert Marko, Gokul Sriram Palanisamy, agross, andersson,
konrad.dybcio, mturquette, sboyd, robh+dt, krzysztof.kozlowski+dt,
jassisinghbrar, linux-arm-msm, linux-clk, devicetree,
linux-kernel
Cc: quic_varada, quic_srichara
On 29/08/2023 12:56, Robert Marko wrote:
>
> On 29. 08. 2023. 12:12, Krzysztof Kozlowski wrote:
>> On 29/08/2023 11:54, Gokul Sriram Palanisamy wrote:
>>> Add the APCS, A53 PLL, cpu-opp-table nodes to set
>>> the CPU frequency at optimal range.
>>>
>>> Co-developed-by: Sricharan Ramabadhran <quic_srichara@quicinc.com>
>>> Signed-off-by: Sricharan Ramabadhran <quic_srichara@quicinc.com>
>>> Signed-off-by: Gokul Sriram Palanisamy <quic_gokulsri@quicinc.com>
>>> ---
>>> arch/arm64/boot/dts/qcom/ipq5018.dtsi | 34 +++++++++++++++++++++++++++
>>> 1 file changed, 34 insertions(+)
>>>
>>> diff --git a/arch/arm64/boot/dts/qcom/ipq5018.dtsi b/arch/arm64/boot/dts/qcom/ipq5018.dtsi
>>> index 9f13d2dcdfd5..05843517312c 100644
>>> --- a/arch/arm64/boot/dts/qcom/ipq5018.dtsi
>>> +++ b/arch/arm64/boot/dts/qcom/ipq5018.dtsi
>>> @@ -8,6 +8,7 @@
>>> #include <dt-bindings/interrupt-controller/arm-gic.h>
>>> #include <dt-bindings/clock/qcom,gcc-ipq5018.h>
>>> #include <dt-bindings/reset/qcom,gcc-ipq5018.h>
>>> +#include <dt-bindings/clock/qcom,apss-ipq.h>
>> c is before r.
>>
>>>
>>> / {
>>> interrupt-parent = <&intc>;
>>> @@ -36,6 +37,8 @@ CPU0: cpu@0 {
>>> reg = <0x0>;
>>> enable-method = "psci";
>>> next-level-cache = <&L2_0>;
>>> + clocks = <&apcs_glb APCS_ALIAS0_CORE_CLK>;
>>> + operating-points-v2 = <&cpu_opp_table>;
>>> };
>>>
>>> CPU1: cpu@1 {
>>> @@ -44,6 +47,8 @@ CPU1: cpu@1 {
>>> reg = <0x1>;
>>> enable-method = "psci";
>>> next-level-cache = <&L2_0>;
>>> + clocks = <&apcs_glb APCS_ALIAS0_CORE_CLK>;
>>> + operating-points-v2 = <&cpu_opp_table>;
>>> };
>>>
>>> L2_0: l2-cache {
>>> @@ -54,6 +59,17 @@ L2_0: l2-cache {
>>> };
>>> };
>>>
>>> + cpu_opp_table: opp-table-cpu {
>>> + compatible = "operating-points-v2";
>>> + opp-shared;
>>> +
>>> + opp-1008000000 {
>>> + opp-hz = /bits/ 64 <1008000000>;
>>> + opp-microvolt = <1100000>;
>>> + clock-latency-ns = <200000>;
>> And the rest of OPPs?
> Hi Krzysztof,
> IPQ5018 only supports running at 1.1GHz, but its running at 800MHz
> by default from the bootloader so there is only one OPP.
Isn't this contradictory? If it is running at 800 initially, then it
supports running at 800...
Best regards,
Krzysztof
^ permalink raw reply [flat|nested] 19+ messages in thread
* Re: [PATCH 3/3] arm64: dts: qcom: ipq5018: enable the CPUFreq support
2023-08-29 11:10 ` Krzysztof Kozlowski
@ 2023-08-29 11:18 ` Robert Marko
2023-08-30 6:48 ` Gokul Sriram P
0 siblings, 1 reply; 19+ messages in thread
From: Robert Marko @ 2023-08-29 11:18 UTC (permalink / raw)
To: Krzysztof Kozlowski
Cc: Gokul Sriram Palanisamy, agross, andersson, konrad.dybcio,
mturquette, sboyd, robh+dt, krzysztof.kozlowski+dt,
jassisinghbrar, linux-arm-msm, linux-clk, devicetree,
linux-kernel, quic_varada, quic_srichara
On Tue, 29 Aug 2023 at 13:10, Krzysztof Kozlowski
<krzysztof.kozlowski@linaro.org> wrote:
>
> On 29/08/2023 12:56, Robert Marko wrote:
> >
> > On 29. 08. 2023. 12:12, Krzysztof Kozlowski wrote:
> >> On 29/08/2023 11:54, Gokul Sriram Palanisamy wrote:
> >>> Add the APCS, A53 PLL, cpu-opp-table nodes to set
> >>> the CPU frequency at optimal range.
> >>>
> >>> Co-developed-by: Sricharan Ramabadhran <quic_srichara@quicinc.com>
> >>> Signed-off-by: Sricharan Ramabadhran <quic_srichara@quicinc.com>
> >>> Signed-off-by: Gokul Sriram Palanisamy <quic_gokulsri@quicinc.com>
> >>> ---
> >>> arch/arm64/boot/dts/qcom/ipq5018.dtsi | 34 +++++++++++++++++++++++++++
> >>> 1 file changed, 34 insertions(+)
> >>>
> >>> diff --git a/arch/arm64/boot/dts/qcom/ipq5018.dtsi b/arch/arm64/boot/dts/qcom/ipq5018.dtsi
> >>> index 9f13d2dcdfd5..05843517312c 100644
> >>> --- a/arch/arm64/boot/dts/qcom/ipq5018.dtsi
> >>> +++ b/arch/arm64/boot/dts/qcom/ipq5018.dtsi
> >>> @@ -8,6 +8,7 @@
> >>> #include <dt-bindings/interrupt-controller/arm-gic.h>
> >>> #include <dt-bindings/clock/qcom,gcc-ipq5018.h>
> >>> #include <dt-bindings/reset/qcom,gcc-ipq5018.h>
> >>> +#include <dt-bindings/clock/qcom,apss-ipq.h>
> >> c is before r.
> >>
> >>>
> >>> / {
> >>> interrupt-parent = <&intc>;
> >>> @@ -36,6 +37,8 @@ CPU0: cpu@0 {
> >>> reg = <0x0>;
> >>> enable-method = "psci";
> >>> next-level-cache = <&L2_0>;
> >>> + clocks = <&apcs_glb APCS_ALIAS0_CORE_CLK>;
> >>> + operating-points-v2 = <&cpu_opp_table>;
> >>> };
> >>>
> >>> CPU1: cpu@1 {
> >>> @@ -44,6 +47,8 @@ CPU1: cpu@1 {
> >>> reg = <0x1>;
> >>> enable-method = "psci";
> >>> next-level-cache = <&L2_0>;
> >>> + clocks = <&apcs_glb APCS_ALIAS0_CORE_CLK>;
> >>> + operating-points-v2 = <&cpu_opp_table>;
> >>> };
> >>>
> >>> L2_0: l2-cache {
> >>> @@ -54,6 +59,17 @@ L2_0: l2-cache {
> >>> };
> >>> };
> >>>
> >>> + cpu_opp_table: opp-table-cpu {
> >>> + compatible = "operating-points-v2";
> >>> + opp-shared;
> >>> +
> >>> + opp-1008000000 {
> >>> + opp-hz = /bits/ 64 <1008000000>;
> >>> + opp-microvolt = <1100000>;
> >>> + clock-latency-ns = <200000>;
> >> And the rest of OPPs?
> > Hi Krzysztof,
> > IPQ5018 only supports running at 1.1GHz, but its running at 800MHz
> > by default from the bootloader so there is only one OPP.
>
> Isn't this contradictory? If it is running at 800 initially, then it
> supports running at 800...
I can only guess that it's not validated at 800MHz.
Regards,
Robert
>
>
> Best regards,
> Krzysztof
>
^ permalink raw reply [flat|nested] 19+ messages in thread
* Re: [PATCH 2/3] clk: qcom: apss-ipq-pll: add support for IPQ5018
2023-08-29 9:54 ` [PATCH 2/3] clk: qcom: apss-ipq-pll: add support for IPQ5018 Gokul Sriram Palanisamy
@ 2023-08-29 22:34 ` Stephen Boyd
2023-08-30 6:37 ` Gokul Sriram P
0 siblings, 1 reply; 19+ messages in thread
From: Stephen Boyd @ 2023-08-29 22:34 UTC (permalink / raw)
To: Gokul Sriram Palanisamy, agross, andersson, devicetree,
jassisinghbrar, konrad.dybcio, krzysztof.kozlowski+dt,
linux-arm-msm, linux-clk, linux-kernel, mturquette, robh+dt
Cc: quic_varada, quic_srichara, quic_gokulsri
Quoting Gokul Sriram Palanisamy (2023-08-29 02:54:22)
> diff --git a/drivers/clk/qcom/apss-ipq-pll.c b/drivers/clk/qcom/apss-ipq-pll.c
> index e170331858cc..bbc25d5eb70d 100644
> --- a/drivers/clk/qcom/apss-ipq-pll.c
> +++ b/drivers/clk/qcom/apss-ipq-pll.c
> @@ -24,6 +24,17 @@ static const u8 ipq_pll_offsets[][PLL_OFF_MAX_REGS] = {
> [PLL_OFF_TEST_CTL] = 0x30,
> [PLL_OFF_TEST_CTL_U] = 0x34,
> },
> + [CLK_ALPHA_PLL_TYPE_STROMER] = {
> + [PLL_OFF_L_VAL] = 0x08,
> + [PLL_OFF_ALPHA_VAL] = 0x10,
> + [PLL_OFF_ALPHA_VAL_U] = 0x14,
> + [PLL_OFF_USER_CTL] = 0x18,
> + [PLL_OFF_USER_CTL_U] = 0x1c,
> + [PLL_OFF_CONFIG_CTL] = 0x20,
> + [PLL_OFF_STATUS] = 0x28,
> + [PLL_OFF_TEST_CTL] = 0x30,
> + [PLL_OFF_TEST_CTL_U] = 0x34,
> + },
Is anything different from STROMER_PLUS?
> [CLK_ALPHA_PLL_TYPE_STROMER_PLUS] = {
> [PLL_OFF_L_VAL] = 0x08,
> [PLL_OFF_ALPHA_VAL] = 0x10,
> @@ -73,6 +84,38 @@ static struct clk_alpha_pll ipq_pll_stromer_plus = {
> },
> };
>
> +static struct clk_alpha_pll ipq_pll_stromer = {
> + .offset = 0x0,
> + .regs = clk_alpha_pll_regs[CLK_ALPHA_PLL_TYPE_STROMER],
> + .flags = SUPPORTS_DYNAMIC_UPDATE,
> + .clkr = {
> + .enable_reg = 0x0,
> + .enable_mask = BIT(0),
> + .hw.init = &(struct clk_init_data){
const?
> + .name = "a53pll",
> + .parent_data = &(const struct clk_parent_data) {
> + .fw_name = "xo",
> + },
> + .num_parents = 1,
> + .ops = &clk_alpha_pll_stromer_ops,
> + },
> + },
> +};
> +
> +static const struct alpha_pll_config ipq5018_pll_config = {
> + .l = 0x32,
> + .config_ctl_val = 0x4001075b,
> + .config_ctl_hi_val = 0x304,
> + .main_output_mask = BIT(0),
> + .aux_output_mask = BIT(1),
> + .early_output_mask = BIT(3),
> + .alpha_en_mask = BIT(24),
> + .status_val = 0x3,
> + .status_mask = GENMASK(10, 8),
> + .lock_det = BIT(2),
> + .test_ctl_hi_val = 0x00400003,
> +};
> +
> static const struct alpha_pll_config ipq5332_pll_config = {
> .l = 0x3e,
> .config_ctl_val = 0x4001075b,
> @@ -129,6 +172,12 @@ struct apss_pll_data {
> const struct alpha_pll_config *pll_config;
> };
>
> +static struct apss_pll_data ipq5018_pll_data = {
const?
> + .pll_type = CLK_ALPHA_PLL_TYPE_STROMER,
> + .pll = &ipq_pll_stromer,
> + .pll_config = &ipq5018_pll_config,
> +};
> +
> static struct apss_pll_data ipq5332_pll_data = {
> .pll_type = CLK_ALPHA_PLL_TYPE_STROMER_PLUS,
> .pll = &ipq_pll_stromer_plus,
> @@ -183,7 +232,7 @@ static int apss_ipq_pll_probe(struct platform_device *pdev)
>
> if (data->pll_type == CLK_ALPHA_PLL_TYPE_HUAYRA)
> clk_alpha_pll_configure(data->pll, regmap, data->pll_config);
> - else if (data->pll_type == CLK_ALPHA_PLL_TYPE_STROMER_PLUS)
> + else
Just add both STROMER and STROMER_PLUS. Or make STROMER the same as
STROMER_PLUS locally in this file?
> clk_stromer_pll_configure(data->pll, regmap, data->pll_config);
>
> ret = devm_clk_register_regmap(dev, &data->pll->clkr);
^ permalink raw reply [flat|nested] 19+ messages in thread
* Re: [PATCH 2/3] clk: qcom: apss-ipq-pll: add support for IPQ5018
2023-08-29 22:34 ` Stephen Boyd
@ 2023-08-30 6:37 ` Gokul Sriram P
0 siblings, 0 replies; 19+ messages in thread
From: Gokul Sriram P @ 2023-08-30 6:37 UTC (permalink / raw)
To: Stephen Boyd, agross, andersson, devicetree, jassisinghbrar,
konrad.dybcio, krzysztof.kozlowski+dt, linux-arm-msm, linux-clk,
linux-kernel, mturquette, robh+dt
Cc: quic_varada, quic_srichara
On 8/30/2023 4:04 AM, Stephen Boyd wrote:
> Quoting Gokul Sriram Palanisamy (2023-08-29 02:54:22)
>> diff --git a/drivers/clk/qcom/apss-ipq-pll.c b/drivers/clk/qcom/apss-ipq-pll.c
>> index e170331858cc..bbc25d5eb70d 100644
>> --- a/drivers/clk/qcom/apss-ipq-pll.c
>> +++ b/drivers/clk/qcom/apss-ipq-pll.c
>> @@ -24,6 +24,17 @@ static const u8 ipq_pll_offsets[][PLL_OFF_MAX_REGS] = {
>> [PLL_OFF_TEST_CTL] = 0x30,
>> [PLL_OFF_TEST_CTL_U] = 0x34,
>> },
>> + [CLK_ALPHA_PLL_TYPE_STROMER] = {
>> + [PLL_OFF_L_VAL] = 0x08,
>> + [PLL_OFF_ALPHA_VAL] = 0x10,
>> + [PLL_OFF_ALPHA_VAL_U] = 0x14,
>> + [PLL_OFF_USER_CTL] = 0x18,
>> + [PLL_OFF_USER_CTL_U] = 0x1c,
>> + [PLL_OFF_CONFIG_CTL] = 0x20,
>> + [PLL_OFF_STATUS] = 0x28,
>> + [PLL_OFF_TEST_CTL] = 0x30,
>> + [PLL_OFF_TEST_CTL_U] = 0x34,
>> + },
> Is anything different from STROMER_PLUS?
No, here both both STROMER and STROMER PLUS has the same offsets.
Will update to reuse STORMER PLUS config.
>> [CLK_ALPHA_PLL_TYPE_STROMER_PLUS] = {
>> [PLL_OFF_L_VAL] = 0x08,
>> [PLL_OFF_ALPHA_VAL] = 0x10,
>> @@ -73,6 +84,38 @@ static struct clk_alpha_pll ipq_pll_stromer_plus = {
>> },
>> };
>>
>> +static struct clk_alpha_pll ipq_pll_stromer = {
>> + .offset = 0x0,
>> + .regs = clk_alpha_pll_regs[CLK_ALPHA_PLL_TYPE_STROMER],
>> + .flags = SUPPORTS_DYNAMIC_UPDATE,
>> + .clkr = {
>> + .enable_reg = 0x0,
>> + .enable_mask = BIT(0),
>> + .hw.init = &(struct clk_init_data){
> const?
sure, will update.
>> + .name = "a53pll",
>> + .parent_data = &(const struct clk_parent_data) {
>> + .fw_name = "xo",
>> + },
>> + .num_parents = 1,
>> + .ops = &clk_alpha_pll_stromer_ops,
>> + },
>> + },
>> +};
>> +
>> +static const struct alpha_pll_config ipq5018_pll_config = {
>> + .l = 0x32,
>> + .config_ctl_val = 0x4001075b,
>> + .config_ctl_hi_val = 0x304,
>> + .main_output_mask = BIT(0),
>> + .aux_output_mask = BIT(1),
>> + .early_output_mask = BIT(3),
>> + .alpha_en_mask = BIT(24),
>> + .status_val = 0x3,
>> + .status_mask = GENMASK(10, 8),
>> + .lock_det = BIT(2),
>> + .test_ctl_hi_val = 0x00400003,
>> +};
>> +
>> static const struct alpha_pll_config ipq5332_pll_config = {
>> .l = 0x3e,
>> .config_ctl_val = 0x4001075b,
>> @@ -129,6 +172,12 @@ struct apss_pll_data {
>> const struct alpha_pll_config *pll_config;
>> };
>>
>> +static struct apss_pll_data ipq5018_pll_data = {
> const?
sure, will update.
>> + .pll_type = CLK_ALPHA_PLL_TYPE_STROMER,
>> + .pll = &ipq_pll_stromer,
>> + .pll_config = &ipq5018_pll_config,
>> +};
>> +
>> static struct apss_pll_data ipq5332_pll_data = {
>> .pll_type = CLK_ALPHA_PLL_TYPE_STROMER_PLUS,
>> .pll = &ipq_pll_stromer_plus,
>> @@ -183,7 +232,7 @@ static int apss_ipq_pll_probe(struct platform_device *pdev)
>>
>> if (data->pll_type == CLK_ALPHA_PLL_TYPE_HUAYRA)
>> clk_alpha_pll_configure(data->pll, regmap, data->pll_config);
>> - else if (data->pll_type == CLK_ALPHA_PLL_TYPE_STROMER_PLUS)
>> + else
> Just add both STROMER and STROMER_PLUS. Or make STROMER the same as
> STROMER_PLUS locally in this file?
sure, with the first comment addressed, this change will not be needed.
Regards,
Gokul
^ permalink raw reply [flat|nested] 19+ messages in thread
* Re: [PATCH 1/3] dt-bindings: clock: qcom,a53pll: add IPQ5018 compatible
2023-08-29 10:09 ` Krzysztof Kozlowski
@ 2023-08-30 6:40 ` Gokul Sriram P
2023-08-30 19:47 ` Dmitry Baryshkov
0 siblings, 1 reply; 19+ messages in thread
From: Gokul Sriram P @ 2023-08-30 6:40 UTC (permalink / raw)
To: Krzysztof Kozlowski, agross, andersson, konrad.dybcio, mturquette,
sboyd, robh+dt, krzysztof.kozlowski+dt, jassisinghbrar,
linux-arm-msm, linux-clk, devicetree, linux-kernel
Cc: quic_varada, quic_srichara
On 8/29/2023 3:39 PM, Krzysztof Kozlowski wrote:
> On 29/08/2023 11:54, Gokul Sriram Palanisamy wrote:
>> Add IPQ5018 compatible to A53 PLL bindings.
>>
>> Co-developed-by: Sricharan Ramabadhran <quic_srichara@quicinc.com>
>> Signed-off-by: Sricharan Ramabadhran <quic_srichara@quicinc.com>
> Knowing that this patch could not come from downstream (it's some old
> kernel without this file), I really wonder why two people were involved
> in developing trivial one line change.
Sure, I had kept this co-developed-by for this whole series of patches.
will remove co-developed-by for this patch.
Regards,
Gokul
^ permalink raw reply [flat|nested] 19+ messages in thread
* Re: [PATCH 3/3] arm64: dts: qcom: ipq5018: enable the CPUFreq support
2023-08-29 11:18 ` Robert Marko
@ 2023-08-30 6:48 ` Gokul Sriram P
2023-08-30 19:42 ` Dmitry Baryshkov
0 siblings, 1 reply; 19+ messages in thread
From: Gokul Sriram P @ 2023-08-30 6:48 UTC (permalink / raw)
To: Robert Marko, Krzysztof Kozlowski
Cc: agross, andersson, konrad.dybcio, mturquette, sboyd, robh+dt,
krzysztof.kozlowski+dt, jassisinghbrar, linux-arm-msm, linux-clk,
devicetree, linux-kernel, quic_varada, quic_srichara
>>>>> #include <dt-bindings/interrupt-controller/arm-gic.h>
>>>>> #include <dt-bindings/clock/qcom,gcc-ipq5018.h>
>>>>> #include <dt-bindings/reset/qcom,gcc-ipq5018.h>
>>>>> +#include <dt-bindings/clock/qcom,apss-ipq.h>
>>>> c is before r.
Sure, will update.
[...]
>>>>
>>>>> + cpu_opp_table: opp-table-cpu {
>>>>> + compatible = "operating-points-v2";
>>>>> + opp-shared;
>>>>> +
>>>>> + opp-1008000000 {
>>>>> + opp-hz = /bits/ 64 <1008000000>;
>>>>> + opp-microvolt = <1100000>;
>>>>> + clock-latency-ns = <200000>;
>>>> And the rest of OPPs?
>>> Hi Krzysztof,
>>> IPQ5018 only supports running at 1.1GHz, but its running at 800MHz
>>> by default from the bootloader so there is only one OPP.
>> Isn't this contradictory? If it is running at 800 initially, then it
>> supports running at 800...
> I can only guess that it's not validated at 800MHz.
As per the h/w design team, there is negligible power or thermal benefit
by lowering to 800MHz clock.
Hence, 800MHz opp wasn't included here.
>
> Regards,
> Robert
>>
>> Best regards,
>> Krzysztof
>>
^ permalink raw reply [flat|nested] 19+ messages in thread
* Re: [PATCH 3/3] arm64: dts: qcom: ipq5018: enable the CPUFreq support
2023-08-29 10:56 ` Robert Marko
2023-08-29 11:00 ` Dmitry Baryshkov
2023-08-29 11:10 ` Krzysztof Kozlowski
@ 2023-08-30 6:50 ` Gokul Sriram P
2 siblings, 0 replies; 19+ messages in thread
From: Gokul Sriram P @ 2023-08-30 6:50 UTC (permalink / raw)
To: Robert Marko, Krzysztof Kozlowski, agross, andersson,
konrad.dybcio, mturquette, sboyd, robh+dt, krzysztof.kozlowski+dt,
jassisinghbrar, linux-arm-msm, linux-clk, devicetree,
linux-kernel
Cc: quic_varada, quic_srichara
[...]
>>> + a53pll: clock@b116000 {
>>> + compatible = "qcom,ipq5018-a53pll";
>>> + reg = <0x0b116000 0x40>;
>>> + #clock-cells = <0>;
>>> + clocks = <&xo_board_clk>;
>>> + clock-names = "xo";
>>> + };
>>> +
>>> + apcs_glb: mailbox@b111000 {
>> 0xb111000 looks lower than 0x116000.
Sure, will update.
Regards,
Gokul
^ permalink raw reply [flat|nested] 19+ messages in thread
* Re: [PATCH 3/3] arm64: dts: qcom: ipq5018: enable the CPUFreq support
2023-08-30 6:48 ` Gokul Sriram P
@ 2023-08-30 19:42 ` Dmitry Baryshkov
2023-08-31 6:10 ` Gokul Sriram P
0 siblings, 1 reply; 19+ messages in thread
From: Dmitry Baryshkov @ 2023-08-30 19:42 UTC (permalink / raw)
To: Gokul Sriram P
Cc: Robert Marko, Krzysztof Kozlowski, agross, andersson,
konrad.dybcio, mturquette, sboyd, robh+dt, krzysztof.kozlowski+dt,
jassisinghbrar, linux-arm-msm, linux-clk, devicetree,
linux-kernel, quic_varada, quic_srichara
On Wed, 30 Aug 2023 at 21:32, Gokul Sriram P <quic_gokulsri@quicinc.com> wrote:
>
>
> >>>>> #include <dt-bindings/interrupt-controller/arm-gic.h>
> >>>>> #include <dt-bindings/clock/qcom,gcc-ipq5018.h>
> >>>>> #include <dt-bindings/reset/qcom,gcc-ipq5018.h>
> >>>>> +#include <dt-bindings/clock/qcom,apss-ipq.h>
> >>>> c is before r.
> Sure, will update.
>
> [...]
> >>>>
> >>>>> + cpu_opp_table: opp-table-cpu {
> >>>>> + compatible = "operating-points-v2";
> >>>>> + opp-shared;
> >>>>> +
> >>>>> + opp-1008000000 {
> >>>>> + opp-hz = /bits/ 64 <1008000000>;
> >>>>> + opp-microvolt = <1100000>;
> >>>>> + clock-latency-ns = <200000>;
> >>>> And the rest of OPPs?
> >>> Hi Krzysztof,
> >>> IPQ5018 only supports running at 1.1GHz, but its running at 800MHz
> >>> by default from the bootloader so there is only one OPP.
> >> Isn't this contradictory? If it is running at 800 initially, then it
> >> supports running at 800...
> > I can only guess that it's not validated at 800MHz.
> As per the h/w design team, there is negligible power or thermal benefit
> by lowering to 800MHz clock.
> Hence, 800MHz opp wasn't included here.
Just my 2c. If 800 MHz is supported, it should be included. Even if
just to prevent the kernel from throwing a warning about the CPU
running at the unsupported frequency. Then one can use scheduler
tunings to prevent the CPU from going to 800 MHz state.
--
With best wishes
Dmitry
^ permalink raw reply [flat|nested] 19+ messages in thread
* Re: [PATCH 1/3] dt-bindings: clock: qcom,a53pll: add IPQ5018 compatible
2023-08-30 6:40 ` Gokul Sriram P
@ 2023-08-30 19:47 ` Dmitry Baryshkov
2023-08-31 3:26 ` Gokul Sriram P
0 siblings, 1 reply; 19+ messages in thread
From: Dmitry Baryshkov @ 2023-08-30 19:47 UTC (permalink / raw)
To: Gokul Sriram P
Cc: Krzysztof Kozlowski, agross, andersson, konrad.dybcio, mturquette,
sboyd, robh+dt, krzysztof.kozlowski+dt, jassisinghbrar,
linux-arm-msm, linux-clk, devicetree, linux-kernel, quic_varada,
quic_srichara
On Wed, 30 Aug 2023 at 21:31, Gokul Sriram P <quic_gokulsri@quicinc.com> wrote:
>
>
> On 8/29/2023 3:39 PM, Krzysztof Kozlowski wrote:
> > On 29/08/2023 11:54, Gokul Sriram Palanisamy wrote:
> >> Add IPQ5018 compatible to A53 PLL bindings.
> >>
> >> Co-developed-by: Sricharan Ramabadhran <quic_srichara@quicinc.com>
> >> Signed-off-by: Sricharan Ramabadhran <quic_srichara@quicinc.com>
> > Knowing that this patch could not come from downstream (it's some old
> > kernel without this file), I really wonder why two people were involved
> > in developing trivial one line change.
> Sure, I had kept this co-developed-by for this whole series of patches.
> will remove co-developed-by for this patch.
Each patch is individual, even if they form a series. Different
patches might be developed by different parties or a combination of
them.
--
With best wishes
Dmitry
^ permalink raw reply [flat|nested] 19+ messages in thread
* Re: [PATCH 1/3] dt-bindings: clock: qcom,a53pll: add IPQ5018 compatible
2023-08-30 19:47 ` Dmitry Baryshkov
@ 2023-08-31 3:26 ` Gokul Sriram P
0 siblings, 0 replies; 19+ messages in thread
From: Gokul Sriram P @ 2023-08-31 3:26 UTC (permalink / raw)
To: Dmitry Baryshkov
Cc: Krzysztof Kozlowski, agross, andersson, konrad.dybcio, mturquette,
sboyd, robh+dt, krzysztof.kozlowski+dt, jassisinghbrar,
linux-arm-msm, linux-clk, devicetree, linux-kernel, quic_varada,
quic_srichara
On 8/31/2023 1:17 AM, Dmitry Baryshkov wrote:
> Each patch is individual, even if they form a series. Different
> patches might be developed by different parties or a combination of
> them.
I get it Dmitry. Thanks. Will update.
Regards,
Gokul
^ permalink raw reply [flat|nested] 19+ messages in thread
* Re: [PATCH 3/3] arm64: dts: qcom: ipq5018: enable the CPUFreq support
2023-08-30 19:42 ` Dmitry Baryshkov
@ 2023-08-31 6:10 ` Gokul Sriram P
0 siblings, 0 replies; 19+ messages in thread
From: Gokul Sriram P @ 2023-08-31 6:10 UTC (permalink / raw)
To: Dmitry Baryshkov
Cc: Robert Marko, Krzysztof Kozlowski, agross, andersson,
konrad.dybcio, mturquette, sboyd, robh+dt, krzysztof.kozlowski+dt,
jassisinghbrar, linux-arm-msm, linux-clk, devicetree,
linux-kernel, quic_varada, quic_srichara
On 8/31/2023 1:12 AM, Dmitry Baryshkov wrote:
> On Wed, 30 Aug 2023 at 21:32, Gokul Sriram P <quic_gokulsri@quicinc.com> wrote:
>>
>>>>>>> #include <dt-bindings/interrupt-controller/arm-gic.h>
>>>>>>> #include <dt-bindings/clock/qcom,gcc-ipq5018.h>
>>>>>>> #include <dt-bindings/reset/qcom,gcc-ipq5018.h>
>>>>>>> +#include <dt-bindings/clock/qcom,apss-ipq.h>
>>>>>> c is before r.
>> Sure, will update.
>>
>> [...]
>>>>>>> + cpu_opp_table: opp-table-cpu {
>>>>>>> + compatible = "operating-points-v2";
>>>>>>> + opp-shared;
>>>>>>> +
>>>>>>> + opp-1008000000 {
>>>>>>> + opp-hz = /bits/ 64 <1008000000>;
>>>>>>> + opp-microvolt = <1100000>;
>>>>>>> + clock-latency-ns = <200000>;
>>>>>> And the rest of OPPs?
>>>>> Hi Krzysztof,
>>>>> IPQ5018 only supports running at 1.1GHz, but its running at 800MHz
>>>>> by default from the bootloader so there is only one OPP.
>>>> Isn't this contradictory? If it is running at 800 initially, then it
>>>> supports running at 800...
>>> I can only guess that it's not validated at 800MHz.
>> As per the h/w design team, there is negligible power or thermal benefit
>> by lowering to 800MHz clock.
>> Hence, 800MHz opp wasn't included here.
> Just my 2c. If 800 MHz is supported, it should be included. Even if
> just to prevent the kernel from throwing a warning about the CPU
> running at the unsupported frequency. Then one can use scheduler
> tunings to prevent the CPU from going to 800 MHz state.
sure, understood. Will add opp at 800MHz. Thanks.
Regards,
Gokul
^ permalink raw reply [flat|nested] 19+ messages in thread
end of thread, other threads:[~2023-08-31 6:11 UTC | newest]
Thread overview: 19+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2023-08-29 9:54 [PATCH 0/3] Add APSS clock driver support for IPQ5018 Gokul Sriram Palanisamy
2023-08-29 9:54 ` [PATCH 1/3] dt-bindings: clock: qcom,a53pll: add IPQ5018 compatible Gokul Sriram Palanisamy
2023-08-29 10:09 ` Krzysztof Kozlowski
2023-08-30 6:40 ` Gokul Sriram P
2023-08-30 19:47 ` Dmitry Baryshkov
2023-08-31 3:26 ` Gokul Sriram P
2023-08-29 9:54 ` [PATCH 2/3] clk: qcom: apss-ipq-pll: add support for IPQ5018 Gokul Sriram Palanisamy
2023-08-29 22:34 ` Stephen Boyd
2023-08-30 6:37 ` Gokul Sriram P
2023-08-29 9:54 ` [PATCH 3/3] arm64: dts: qcom: ipq5018: enable the CPUFreq support Gokul Sriram Palanisamy
2023-08-29 10:12 ` Krzysztof Kozlowski
2023-08-29 10:56 ` Robert Marko
2023-08-29 11:00 ` Dmitry Baryshkov
2023-08-29 11:10 ` Krzysztof Kozlowski
2023-08-29 11:18 ` Robert Marko
2023-08-30 6:48 ` Gokul Sriram P
2023-08-30 19:42 ` Dmitry Baryshkov
2023-08-31 6:10 ` Gokul Sriram P
2023-08-30 6:50 ` Gokul Sriram P
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).