* [PATCH 0/4] Add RPMh and TCSR clock support for SM7635
@ 2025-06-25 9:12 Luca Weiss
2025-06-25 9:12 ` [PATCH 1/4] dt-bindings: clock: qcom: Document the SM7635 RPMH Clock Controller Luca Weiss
` (3 more replies)
0 siblings, 4 replies; 7+ messages in thread
From: Luca Weiss @ 2025-06-25 9:12 UTC (permalink / raw)
To: Bjorn Andersson, Michael Turquette, Stephen Boyd, Rob Herring,
Krzysztof Kozlowski, Conor Dooley, Taniya Das
Cc: ~postmarketos/upstreaming, phone-devel, linux-arm-msm, linux-clk,
devicetree, linux-kernel, Luca Weiss
Add support in the RPMh and TCSR clock drivers for the SM7635 SoC.
Signed-off-by: Luca Weiss <luca.weiss@fairphone.com>
---
Luca Weiss (4):
dt-bindings: clock: qcom: Document the SM7635 RPMH Clock Controller
clk: qcom: rpmh: Add support for RPMH clocks on SM7635
dt-bindings: clock: qcom: document the SM7635 TCSR Clock Controller
clk: qcom: tcsrcc-sm8650: Add support for SM7635 SoC
.../devicetree/bindings/clock/qcom,rpmhcc.yaml | 1 +
.../bindings/clock/qcom,sm8550-tcsr.yaml | 1 +
drivers/clk/qcom/clk-rpmh.c | 26 ++++++++++++++++++++++
drivers/clk/qcom/tcsrcc-sm8650.c | 8 +++++++
4 files changed, 36 insertions(+)
---
base-commit: 19272b37aa4f83ca52bdf9c16d5d81bdd1354494
change-id: 20250620-sm7635-clocks-misc-0f359ad830ea
Best regards,
--
Luca Weiss <luca.weiss@fairphone.com>
^ permalink raw reply [flat|nested] 7+ messages in thread
* [PATCH 1/4] dt-bindings: clock: qcom: Document the SM7635 RPMH Clock Controller
2025-06-25 9:12 [PATCH 0/4] Add RPMh and TCSR clock support for SM7635 Luca Weiss
@ 2025-06-25 9:12 ` Luca Weiss
2025-06-25 9:12 ` [PATCH 2/4] clk: qcom: rpmh: Add support for RPMH clocks on SM7635 Luca Weiss
` (2 subsequent siblings)
3 siblings, 0 replies; 7+ messages in thread
From: Luca Weiss @ 2025-06-25 9:12 UTC (permalink / raw)
To: Bjorn Andersson, Michael Turquette, Stephen Boyd, Rob Herring,
Krzysztof Kozlowski, Conor Dooley, Taniya Das
Cc: ~postmarketos/upstreaming, phone-devel, linux-arm-msm, linux-clk,
devicetree, linux-kernel, Luca Weiss
Add bindings documentation for the SM7635 RPMH Clock Controller.
Signed-off-by: Luca Weiss <luca.weiss@fairphone.com>
---
Documentation/devicetree/bindings/clock/qcom,rpmhcc.yaml | 1 +
1 file changed, 1 insertion(+)
diff --git a/Documentation/devicetree/bindings/clock/qcom,rpmhcc.yaml b/Documentation/devicetree/bindings/clock/qcom,rpmhcc.yaml
index dcb872b9cf3e01f87d4fc546311eb758ee63af9a..340dc2613c9d8c6d1c5ca4fc74801ee6d4d197d8 100644
--- a/Documentation/devicetree/bindings/clock/qcom,rpmhcc.yaml
+++ b/Documentation/devicetree/bindings/clock/qcom,rpmhcc.yaml
@@ -32,6 +32,7 @@ properties:
- qcom,sdx75-rpmh-clk
- qcom,sm4450-rpmh-clk
- qcom,sm6350-rpmh-clk
+ - qcom,sm7635-rpmh-clk
- qcom,sm8150-rpmh-clk
- qcom,sm8250-rpmh-clk
- qcom,sm8350-rpmh-clk
--
2.50.0
^ permalink raw reply related [flat|nested] 7+ messages in thread
* [PATCH 2/4] clk: qcom: rpmh: Add support for RPMH clocks on SM7635
2025-06-25 9:12 [PATCH 0/4] Add RPMh and TCSR clock support for SM7635 Luca Weiss
2025-06-25 9:12 ` [PATCH 1/4] dt-bindings: clock: qcom: Document the SM7635 RPMH Clock Controller Luca Weiss
@ 2025-06-25 9:12 ` Luca Weiss
2025-06-27 19:26 ` Konrad Dybcio
2025-06-25 9:12 ` [PATCH 3/4] dt-bindings: clock: qcom: document the SM7635 TCSR Clock Controller Luca Weiss
2025-06-25 9:12 ` [PATCH 4/4] clk: qcom: tcsrcc-sm8650: Add support for SM7635 SoC Luca Weiss
3 siblings, 1 reply; 7+ messages in thread
From: Luca Weiss @ 2025-06-25 9:12 UTC (permalink / raw)
To: Bjorn Andersson, Michael Turquette, Stephen Boyd, Rob Herring,
Krzysztof Kozlowski, Conor Dooley, Taniya Das
Cc: ~postmarketos/upstreaming, phone-devel, linux-arm-msm, linux-clk,
devicetree, linux-kernel, Luca Weiss
Add support for RPMH clocks on SM7635 SoCs.
Signed-off-by: Luca Weiss <luca.weiss@fairphone.com>
---
drivers/clk/qcom/clk-rpmh.c | 26 ++++++++++++++++++++++++++
1 file changed, 26 insertions(+)
diff --git a/drivers/clk/qcom/clk-rpmh.c b/drivers/clk/qcom/clk-rpmh.c
index 00fb3e53a388ed24ed76622983eb5bd81a6b7002..3c953af51b37bb998020512ec29bfaeb38ba6881 100644
--- a/drivers/clk/qcom/clk-rpmh.c
+++ b/drivers/clk/qcom/clk-rpmh.c
@@ -386,6 +386,8 @@ DEFINE_CLK_RPMH_VRM(clk6, _a2, "clka6", 2);
DEFINE_CLK_RPMH_VRM(clk7, _a2, "clka7", 2);
DEFINE_CLK_RPMH_VRM(clk8, _a2, "clka8", 2);
+DEFINE_CLK_RPMH_VRM(clk7, _a4, "clka7", 4);
+
DEFINE_CLK_RPMH_VRM(div_clk1, _div2, "divclka1", 2);
DEFINE_CLK_RPMH_BCM(ce, "CE0");
@@ -541,6 +543,29 @@ static const struct clk_rpmh_desc clk_rpmh_sc8180x = {
.num_clks = ARRAY_SIZE(sc8180x_rpmh_clocks),
};
+static struct clk_hw *sm7635_rpmh_clocks[] = {
+ [RPMH_CXO_CLK] = &clk_rpmh_bi_tcxo_div4.hw,
+ [RPMH_CXO_CLK_A] = &clk_rpmh_bi_tcxo_div4_ao.hw,
+ [RPMH_LN_BB_CLK2] = &clk_rpmh_clk7_a4.hw,
+ [RPMH_LN_BB_CLK2_A] = &clk_rpmh_clk7_a4_ao.hw,
+ /*
+ * RPMH_LN_BB_CLK3(_A) and RPMH_LN_BB_CLK4(_A) are marked as optional
+ * downstream, but do not exist in cmd-db on SM7635, so skip them.
+ */
+ [RPMH_RF_CLK1] = &clk_rpmh_clk1_a1.hw,
+ [RPMH_RF_CLK1_A] = &clk_rpmh_clk1_a1_ao.hw,
+ [RPMH_RF_CLK2] = &clk_rpmh_clk2_a1.hw,
+ [RPMH_RF_CLK2_A] = &clk_rpmh_clk2_a1_ao.hw,
+ [RPMH_RF_CLK3] = &clk_rpmh_clk3_a1.hw,
+ [RPMH_RF_CLK3_A] = &clk_rpmh_clk3_a1_ao.hw,
+ [RPMH_IPA_CLK] = &clk_rpmh_ipa.hw,
+};
+
+static const struct clk_rpmh_desc clk_rpmh_sm7635 = {
+ .clks = sm7635_rpmh_clocks,
+ .num_clks = ARRAY_SIZE(sm7635_rpmh_clocks),
+};
+
static struct clk_hw *sm8250_rpmh_clocks[] = {
[RPMH_CXO_CLK] = &clk_rpmh_bi_tcxo_div2.hw,
[RPMH_CXO_CLK_A] = &clk_rpmh_bi_tcxo_div2_ao.hw,
@@ -958,6 +983,7 @@ static const struct of_device_id clk_rpmh_match_table[] = {
{ .compatible = "qcom,sdx75-rpmh-clk", .data = &clk_rpmh_sdx75},
{ .compatible = "qcom,sm4450-rpmh-clk", .data = &clk_rpmh_sm4450},
{ .compatible = "qcom,sm6350-rpmh-clk", .data = &clk_rpmh_sm6350},
+ { .compatible = "qcom,sm7635-rpmh-clk", .data = &clk_rpmh_sm7635},
{ .compatible = "qcom,sm8150-rpmh-clk", .data = &clk_rpmh_sm8150},
{ .compatible = "qcom,sm8250-rpmh-clk", .data = &clk_rpmh_sm8250},
{ .compatible = "qcom,sm8350-rpmh-clk", .data = &clk_rpmh_sm8350},
--
2.50.0
^ permalink raw reply related [flat|nested] 7+ messages in thread
* [PATCH 3/4] dt-bindings: clock: qcom: document the SM7635 TCSR Clock Controller
2025-06-25 9:12 [PATCH 0/4] Add RPMh and TCSR clock support for SM7635 Luca Weiss
2025-06-25 9:12 ` [PATCH 1/4] dt-bindings: clock: qcom: Document the SM7635 RPMH Clock Controller Luca Weiss
2025-06-25 9:12 ` [PATCH 2/4] clk: qcom: rpmh: Add support for RPMH clocks on SM7635 Luca Weiss
@ 2025-06-25 9:12 ` Luca Weiss
2025-06-25 9:12 ` [PATCH 4/4] clk: qcom: tcsrcc-sm8650: Add support for SM7635 SoC Luca Weiss
3 siblings, 0 replies; 7+ messages in thread
From: Luca Weiss @ 2025-06-25 9:12 UTC (permalink / raw)
To: Bjorn Andersson, Michael Turquette, Stephen Boyd, Rob Herring,
Krzysztof Kozlowski, Conor Dooley, Taniya Das
Cc: ~postmarketos/upstreaming, phone-devel, linux-arm-msm, linux-clk,
devicetree, linux-kernel, Luca Weiss
Add bindings documentation for the SM7635 TCSR Clock Controller.
Signed-off-by: Luca Weiss <luca.weiss@fairphone.com>
---
Documentation/devicetree/bindings/clock/qcom,sm8550-tcsr.yaml | 1 +
1 file changed, 1 insertion(+)
diff --git a/Documentation/devicetree/bindings/clock/qcom,sm8550-tcsr.yaml b/Documentation/devicetree/bindings/clock/qcom,sm8550-tcsr.yaml
index f3afbb25e8682de83fb16acaa35448545f77ce77..f23a32befe4e860336365a17fd56d3ecb32ad44d 100644
--- a/Documentation/devicetree/bindings/clock/qcom,sm8550-tcsr.yaml
+++ b/Documentation/devicetree/bindings/clock/qcom,sm8550-tcsr.yaml
@@ -23,6 +23,7 @@ properties:
items:
- enum:
- qcom,sar2130p-tcsr
+ - qcom,sm7635-tcsr
- qcom,sm8550-tcsr
- qcom,sm8650-tcsr
- qcom,sm8750-tcsr
--
2.50.0
^ permalink raw reply related [flat|nested] 7+ messages in thread
* [PATCH 4/4] clk: qcom: tcsrcc-sm8650: Add support for SM7635 SoC
2025-06-25 9:12 [PATCH 0/4] Add RPMh and TCSR clock support for SM7635 Luca Weiss
` (2 preceding siblings ...)
2025-06-25 9:12 ` [PATCH 3/4] dt-bindings: clock: qcom: document the SM7635 TCSR Clock Controller Luca Weiss
@ 2025-06-25 9:12 ` Luca Weiss
2025-06-27 21:29 ` Konrad Dybcio
3 siblings, 1 reply; 7+ messages in thread
From: Luca Weiss @ 2025-06-25 9:12 UTC (permalink / raw)
To: Bjorn Andersson, Michael Turquette, Stephen Boyd, Rob Herring,
Krzysztof Kozlowski, Conor Dooley, Taniya Das
Cc: ~postmarketos/upstreaming, phone-devel, linux-arm-msm, linux-clk,
devicetree, linux-kernel, Luca Weiss
The SM7635 has a very similar tcsrcc block, only TCSR_UFS_CLKREF_EN uses
different regs, and both TCSR_USB2_CLKREF_EN and TCSR_USB3_CLKREF_EN are
not present.
Modify these resources at probe if we're probing for sm7635.
Signed-off-by: Luca Weiss <luca.weiss@fairphone.com>
---
drivers/clk/qcom/tcsrcc-sm8650.c | 8 ++++++++
1 file changed, 8 insertions(+)
diff --git a/drivers/clk/qcom/tcsrcc-sm8650.c b/drivers/clk/qcom/tcsrcc-sm8650.c
index 11c7d6df48c7b39f661cc4c2df30387836d2ca60..3829d4b283480b96cd0ec0d4bfa78777359730d9 100644
--- a/drivers/clk/qcom/tcsrcc-sm8650.c
+++ b/drivers/clk/qcom/tcsrcc-sm8650.c
@@ -148,6 +148,7 @@ static const struct qcom_cc_desc tcsr_cc_sm8650_desc = {
};
static const struct of_device_id tcsr_cc_sm8650_match_table[] = {
+ { .compatible = "qcom,sm7635-tcsr" },
{ .compatible = "qcom,sm8650-tcsr" },
{ }
};
@@ -155,6 +156,13 @@ MODULE_DEVICE_TABLE(of, tcsr_cc_sm8650_match_table);
static int tcsr_cc_sm8650_probe(struct platform_device *pdev)
{
+ if (of_device_is_compatible(pdev->dev.of_node, "qcom,sm7635-tcsr")) {
+ tcsr_ufs_clkref_en.halt_reg = 0x31118;
+ tcsr_ufs_clkref_en.clkr.enable_reg = 0x31118;
+ tcsr_cc_sm8650_clocks[TCSR_USB2_CLKREF_EN] = NULL;
+ tcsr_cc_sm8650_clocks[TCSR_USB3_CLKREF_EN] = NULL;
+ }
+
return qcom_cc_probe(pdev, &tcsr_cc_sm8650_desc);
}
--
2.50.0
^ permalink raw reply related [flat|nested] 7+ messages in thread
* Re: [PATCH 2/4] clk: qcom: rpmh: Add support for RPMH clocks on SM7635
2025-06-25 9:12 ` [PATCH 2/4] clk: qcom: rpmh: Add support for RPMH clocks on SM7635 Luca Weiss
@ 2025-06-27 19:26 ` Konrad Dybcio
0 siblings, 0 replies; 7+ messages in thread
From: Konrad Dybcio @ 2025-06-27 19:26 UTC (permalink / raw)
To: Luca Weiss, Bjorn Andersson, Michael Turquette, Stephen Boyd,
Rob Herring, Krzysztof Kozlowski, Conor Dooley, Taniya Das
Cc: ~postmarketos/upstreaming, phone-devel, linux-arm-msm, linux-clk,
devicetree, linux-kernel
On 6/25/25 11:12 AM, Luca Weiss wrote:
> Add support for RPMH clocks on SM7635 SoCs.
>
> Signed-off-by: Luca Weiss <luca.weiss@fairphone.com>
> ---
Reviewed-by: Konrad Dybcio <konrad.dybcio@oss.qualcomm.com>
Konrad
^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: [PATCH 4/4] clk: qcom: tcsrcc-sm8650: Add support for SM7635 SoC
2025-06-25 9:12 ` [PATCH 4/4] clk: qcom: tcsrcc-sm8650: Add support for SM7635 SoC Luca Weiss
@ 2025-06-27 21:29 ` Konrad Dybcio
0 siblings, 0 replies; 7+ messages in thread
From: Konrad Dybcio @ 2025-06-27 21:29 UTC (permalink / raw)
To: Luca Weiss, Bjorn Andersson, Michael Turquette, Stephen Boyd,
Rob Herring, Krzysztof Kozlowski, Conor Dooley, Taniya Das
Cc: ~postmarketos/upstreaming, phone-devel, linux-arm-msm, linux-clk,
devicetree, linux-kernel
On 6/25/25 11:12 AM, Luca Weiss wrote:
> The SM7635 has a very similar tcsrcc block, only TCSR_UFS_CLKREF_EN uses
> different regs, and both TCSR_USB2_CLKREF_EN and TCSR_USB3_CLKREF_EN are
> not present.
>
> Modify these resources at probe if we're probing for sm7635.
>
> Signed-off-by: Luca Weiss <luca.weiss@fairphone.com>
> ---
Reviewed-by: Konrad Dybcio <konrad.dybcio@oss.qualcomm.com>
Konrad
^ permalink raw reply [flat|nested] 7+ messages in thread
end of thread, other threads:[~2025-06-27 21:29 UTC | newest]
Thread overview: 7+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2025-06-25 9:12 [PATCH 0/4] Add RPMh and TCSR clock support for SM7635 Luca Weiss
2025-06-25 9:12 ` [PATCH 1/4] dt-bindings: clock: qcom: Document the SM7635 RPMH Clock Controller Luca Weiss
2025-06-25 9:12 ` [PATCH 2/4] clk: qcom: rpmh: Add support for RPMH clocks on SM7635 Luca Weiss
2025-06-27 19:26 ` Konrad Dybcio
2025-06-25 9:12 ` [PATCH 3/4] dt-bindings: clock: qcom: document the SM7635 TCSR Clock Controller Luca Weiss
2025-06-25 9:12 ` [PATCH 4/4] clk: qcom: tcsrcc-sm8650: Add support for SM7635 SoC Luca Weiss
2025-06-27 21:29 ` Konrad Dybcio
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).