* [PATCH 1/4] dt-bindings: clock: qcom: Add TCSR_UFS_CLKREF_EN definition
2026-09-04 18:50 [PATCH 0/4] clk: qcom: glymur: Add rpmh LNBB clks support and update UFS clk ops Jagadeesh Kona
@ 2026-09-04 18:50 ` Jagadeesh Kona
2026-09-07 7:58 ` Konrad Dybcio
2026-09-09 7:30 ` Krzysztof Kozlowski
2026-09-04 18:50 ` [PATCH 2/4] clk: qcom: rpmhcc: Add LNBB clocks support for Glymur Jagadeesh Kona
` (2 subsequent siblings)
3 siblings, 2 replies; 13+ messages in thread
From: Jagadeesh Kona @ 2026-09-04 18:50 UTC (permalink / raw)
To: Bjorn Andersson, Stephen Boyd, Brian Masney, Jerome Brunet,
Rob Herring, Krzysztof Kozlowski, Conor Dooley, Dmitry Baryshkov,
Taniya Das, Konrad Dybcio
Cc: linux-arm-msm, linux-clk, devicetree, linux-kernel, Jagadeesh Kona
UFS and PCIE_4 share the same clkref enable on Glymur. Hence define
TCSR_UFS_CLKREF_EN as an alias of TCSR_PCIE_4_CLKREF_EN for UFS consumers
to reference the shared clkref on Qualcomm Glymur platform.
Signed-off-by: Jagadeesh Kona <jagadeesh.kona@oss.qualcomm.com>
---
include/dt-bindings/clock/qcom,glymur-tcsr.h | 1 +
1 file changed, 1 insertion(+)
diff --git a/include/dt-bindings/clock/qcom,glymur-tcsr.h b/include/dt-bindings/clock/qcom,glymur-tcsr.h
index 72614226b113bb60f1e430fc18e13c46c8b043d3..f338ab4454a14aa75532cd0a6a56b6bbb02f9448 100644
--- a/include/dt-bindings/clock/qcom,glymur-tcsr.h
+++ b/include/dt-bindings/clock/qcom,glymur-tcsr.h
@@ -20,5 +20,6 @@
#define TCSR_USB3_1_CLKREF_EN 10
#define TCSR_USB4_1_CLKREF_EN 11
#define TCSR_USB4_2_CLKREF_EN 12
+#define TCSR_UFS_CLKREF_EN TCSR_PCIE_4_CLKREF_EN
#endif
--
2.34.1
^ permalink raw reply [flat|nested] 13+ messages in thread* Re: [PATCH 1/4] dt-bindings: clock: qcom: Add TCSR_UFS_CLKREF_EN definition
2026-09-04 18:50 ` [PATCH 1/4] dt-bindings: clock: qcom: Add TCSR_UFS_CLKREF_EN definition Jagadeesh Kona
@ 2026-09-07 7:58 ` Konrad Dybcio
2026-09-09 7:30 ` Krzysztof Kozlowski
1 sibling, 0 replies; 13+ messages in thread
From: Konrad Dybcio @ 2026-09-07 7:58 UTC (permalink / raw)
To: Jagadeesh Kona, Bjorn Andersson, Stephen Boyd, Brian Masney,
Jerome Brunet, Rob Herring, Krzysztof Kozlowski, Conor Dooley,
Dmitry Baryshkov, Taniya Das
Cc: linux-arm-msm, linux-clk, devicetree, linux-kernel
On 9/4/26 8:50 PM, Jagadeesh Kona wrote:
> UFS and PCIE_4 share the same clkref enable on Glymur. Hence define
> TCSR_UFS_CLKREF_EN as an alias of TCSR_PCIE_4_CLKREF_EN for UFS consumers
> to reference the shared clkref on Qualcomm Glymur platform.
If it's the same clock, then just pass it directly where it belongs
and leave a comment to clarify it's intentional
Konrad
^ permalink raw reply [flat|nested] 13+ messages in thread
* Re: [PATCH 1/4] dt-bindings: clock: qcom: Add TCSR_UFS_CLKREF_EN definition
2026-09-04 18:50 ` [PATCH 1/4] dt-bindings: clock: qcom: Add TCSR_UFS_CLKREF_EN definition Jagadeesh Kona
2026-09-07 7:58 ` Konrad Dybcio
@ 2026-09-09 7:30 ` Krzysztof Kozlowski
2026-09-11 15:11 ` Jagadeesh Kona
1 sibling, 1 reply; 13+ messages in thread
From: Krzysztof Kozlowski @ 2026-09-09 7:30 UTC (permalink / raw)
To: Jagadeesh Kona
Cc: Bjorn Andersson, Stephen Boyd, Brian Masney, Jerome Brunet,
Rob Herring, Krzysztof Kozlowski, Conor Dooley, Dmitry Baryshkov,
Taniya Das, Konrad Dybcio, linux-arm-msm, linux-clk, devicetree,
linux-kernel
On Sat, Sep 05, 2026 at 12:20:42AM +0530, Jagadeesh Kona wrote:
> UFS and PCIE_4 share the same clkref enable on Glymur. Hence define
> TCSR_UFS_CLKREF_EN as an alias of TCSR_PCIE_4_CLKREF_EN for UFS consumers
> to reference the shared clkref on Qualcomm Glymur platform.
>
> Signed-off-by: Jagadeesh Kona <jagadeesh.kona@oss.qualcomm.com>
> ---
> include/dt-bindings/clock/qcom,glymur-tcsr.h | 1 +
> 1 file changed, 1 insertion(+)
>
> diff --git a/include/dt-bindings/clock/qcom,glymur-tcsr.h b/include/dt-bindings/clock/qcom,glymur-tcsr.h
> index 72614226b113bb60f1e430fc18e13c46c8b043d3..f338ab4454a14aa75532cd0a6a56b6bbb02f9448 100644
> --- a/include/dt-bindings/clock/qcom,glymur-tcsr.h
> +++ b/include/dt-bindings/clock/qcom,glymur-tcsr.h
> @@ -20,5 +20,6 @@
> #define TCSR_USB3_1_CLKREF_EN 10
> #define TCSR_USB4_1_CLKREF_EN 11
> #define TCSR_USB4_2_CLKREF_EN 12
> +#define TCSR_UFS_CLKREF_EN TCSR_PCIE_4_CLKREF_EN
I could not find usage of this new ABI in your patches. Can you point me?
Best regards,
Krzysztof
^ permalink raw reply [flat|nested] 13+ messages in thread
* Re: [PATCH 1/4] dt-bindings: clock: qcom: Add TCSR_UFS_CLKREF_EN definition
2026-09-09 7:30 ` Krzysztof Kozlowski
@ 2026-09-11 15:11 ` Jagadeesh Kona
0 siblings, 0 replies; 13+ messages in thread
From: Jagadeesh Kona @ 2026-09-11 15:11 UTC (permalink / raw)
To: Krzysztof Kozlowski, Konrad Dybcio
Cc: Bjorn Andersson, Stephen Boyd, Brian Masney, Jerome Brunet,
Rob Herring, Krzysztof Kozlowski, Conor Dooley, Dmitry Baryshkov,
Taniya Das, linux-arm-msm, linux-clk, devicetree, linux-kernel
On 9/9/2026 1:00 PM, Krzysztof Kozlowski wrote:
> On Sat, Sep 05, 2026 at 12:20:42AM +0530, Jagadeesh Kona wrote:
>> UFS and PCIE_4 share the same clkref enable on Glymur. Hence define
>> TCSR_UFS_CLKREF_EN as an alias of TCSR_PCIE_4_CLKREF_EN for UFS consumers
>> to reference the shared clkref on Qualcomm Glymur platform.
>>
>> Signed-off-by: Jagadeesh Kona <jagadeesh.kona@oss.qualcomm.com>
>> ---
>> include/dt-bindings/clock/qcom,glymur-tcsr.h | 1 +
>> 1 file changed, 1 insertion(+)
>>
>> diff --git a/include/dt-bindings/clock/qcom,glymur-tcsr.h b/include/dt-bindings/clock/qcom,glymur-tcsr.h
>> index 72614226b113bb60f1e430fc18e13c46c8b043d3..f338ab4454a14aa75532cd0a6a56b6bbb02f9448 100644
>> --- a/include/dt-bindings/clock/qcom,glymur-tcsr.h
>> +++ b/include/dt-bindings/clock/qcom,glymur-tcsr.h
>> @@ -20,5 +20,6 @@
>> #define TCSR_USB3_1_CLKREF_EN 10
>> #define TCSR_USB4_1_CLKREF_EN 11
>> #define TCSR_USB4_2_CLKREF_EN 12
>> +#define TCSR_UFS_CLKREF_EN TCSR_PCIE_4_CLKREF_EN
>
> I could not find usage of this new ABI in your patches. Can you point me?
>
Thanks Konrad and Krzysztof for your reviews.
The above ABI is planned to be used by the upcoming Glymur UFS change series in the UFS DT node.
But based on the Konrad's comment in this series[1], will drop this change in next version
and use the TCSR_PCIE_4_CLKREF_EN in UFS DT node and add a comment there that it is intentional.
[1]: https://lore.kernel.org/all/16ec601e-68a2-4793-8639-b899f31ff819@oss.qualcomm.com/
Thanks,
Jagadeesh
^ permalink raw reply [flat|nested] 13+ messages in thread
* [PATCH 2/4] clk: qcom: rpmhcc: Add LNBB clocks support for Glymur
2026-09-04 18:50 [PATCH 0/4] clk: qcom: glymur: Add rpmh LNBB clks support and update UFS clk ops Jagadeesh Kona
2026-09-04 18:50 ` [PATCH 1/4] dt-bindings: clock: qcom: Add TCSR_UFS_CLKREF_EN definition Jagadeesh Kona
@ 2026-09-04 18:50 ` Jagadeesh Kona
2026-09-05 5:52 ` Abel Vesa
2026-09-04 18:50 ` [PATCH 3/4] clk: qcom: gcc-glymur: Use clk_regmap_phy_mux_ops for GCC UFS muxes Jagadeesh Kona
2026-09-04 18:50 ` [PATCH 4/4] clk: qcom: gcc-glymur: use shared ops for GCC UFS RCGs Jagadeesh Kona
3 siblings, 1 reply; 13+ messages in thread
From: Jagadeesh Kona @ 2026-09-04 18:50 UTC (permalink / raw)
To: Bjorn Andersson, Stephen Boyd, Brian Masney, Jerome Brunet,
Rob Herring, Krzysztof Kozlowski, Conor Dooley, Dmitry Baryshkov,
Taniya Das, Konrad Dybcio
Cc: linux-arm-msm, linux-clk, devicetree, linux-kernel, Jagadeesh Kona
Add support for rpmh LN_BB_CLK2 and LN_BB_CLK3 clocks on Qualcomm Glymur
platform.
Signed-off-by: Jagadeesh Kona <jagadeesh.kona@oss.qualcomm.com>
---
drivers/clk/qcom/clk-rpmh.c | 5 +++++
1 file changed, 5 insertions(+)
diff --git a/drivers/clk/qcom/clk-rpmh.c b/drivers/clk/qcom/clk-rpmh.c
index ec8700b6186d8d6dd1911b7a33f086805770284a..3db81c709729b547f288eb10d4aa5dcf63d9e951 100644
--- a/drivers/clk/qcom/clk-rpmh.c
+++ b/drivers/clk/qcom/clk-rpmh.c
@@ -393,6 +393,7 @@ DEFINE_CLK_RPMH_VRM(clk2, _a1_e0, "C2A_E0", 1);
DEFINE_CLK_RPMH_VRM(clk3, _a1_e0, "C3A_E0", 1);
DEFINE_CLK_RPMH_VRM(clk4, _a1_e0, "C4A_E0", 1);
DEFINE_CLK_RPMH_VRM(clk5, _a1_e0, "C5A_E0", 1);
+DEFINE_CLK_RPMH_VRM(clk7, _a1_e0, "C7A_E0", 1);
DEFINE_CLK_RPMH_VRM(clk8, _a1_e0, "C8A_E0", 1);
DEFINE_CLK_RPMH_VRM(clk3, _a2_e0, "C3A_E0", 2);
@@ -902,6 +903,10 @@ static struct clk_hw *glymur_rpmh_clocks[] = {
[RPMH_RF_CLK4_A] = &clk_rpmh_clk4_a1_e0_ao.hw,
[RPMH_RF_CLK5] = &clk_rpmh_clk5_a1_e0.hw,
[RPMH_RF_CLK5_A] = &clk_rpmh_clk5_a1_e0_ao.hw,
+ [RPMH_LN_BB_CLK2] = &clk_rpmh_clk7_a1_e0.hw,
+ [RPMH_LN_BB_CLK2_A] = &clk_rpmh_clk7_a1_e0_ao.hw,
+ [RPMH_LN_BB_CLK3] = &clk_rpmh_clk8_a1_e0.hw,
+ [RPMH_LN_BB_CLK3_A] = &clk_rpmh_clk8_a1_e0_ao.hw,
};
static const struct clk_rpmh_desc clk_rpmh_glymur = {
--
2.34.1
^ permalink raw reply [flat|nested] 13+ messages in thread* Re: [PATCH 2/4] clk: qcom: rpmhcc: Add LNBB clocks support for Glymur
2026-09-04 18:50 ` [PATCH 2/4] clk: qcom: rpmhcc: Add LNBB clocks support for Glymur Jagadeesh Kona
@ 2026-09-05 5:52 ` Abel Vesa
0 siblings, 0 replies; 13+ messages in thread
From: Abel Vesa @ 2026-09-05 5:52 UTC (permalink / raw)
To: Jagadeesh Kona
Cc: Bjorn Andersson, Stephen Boyd, Brian Masney, Jerome Brunet,
Rob Herring, Krzysztof Kozlowski, Conor Dooley, Dmitry Baryshkov,
Taniya Das, Konrad Dybcio, linux-arm-msm, linux-clk, devicetree,
linux-kernel
On 26-09-05 00:20:43, Jagadeesh Kona wrote:
> Add support for rpmh LN_BB_CLK2 and LN_BB_CLK3 clocks on Qualcomm Glymur
> platform.
>
> Signed-off-by: Jagadeesh Kona <jagadeesh.kona@oss.qualcomm.com>
No fixes tag?
^ permalink raw reply [flat|nested] 13+ messages in thread
* [PATCH 3/4] clk: qcom: gcc-glymur: Use clk_regmap_phy_mux_ops for GCC UFS muxes
2026-09-04 18:50 [PATCH 0/4] clk: qcom: glymur: Add rpmh LNBB clks support and update UFS clk ops Jagadeesh Kona
2026-09-04 18:50 ` [PATCH 1/4] dt-bindings: clock: qcom: Add TCSR_UFS_CLKREF_EN definition Jagadeesh Kona
2026-09-04 18:50 ` [PATCH 2/4] clk: qcom: rpmhcc: Add LNBB clocks support for Glymur Jagadeesh Kona
@ 2026-09-04 18:50 ` Jagadeesh Kona
2026-09-05 5:49 ` Abel Vesa
2026-09-07 7:59 ` Konrad Dybcio
2026-09-04 18:50 ` [PATCH 4/4] clk: qcom: gcc-glymur: use shared ops for GCC UFS RCGs Jagadeesh Kona
3 siblings, 2 replies; 13+ messages in thread
From: Jagadeesh Kona @ 2026-09-04 18:50 UTC (permalink / raw)
To: Bjorn Andersson, Stephen Boyd, Brian Masney, Jerome Brunet,
Rob Herring, Krzysztof Kozlowski, Conor Dooley, Dmitry Baryshkov,
Taniya Das, Konrad Dybcio
Cc: linux-arm-msm, linux-clk, devicetree, linux-kernel, Jagadeesh Kona
Use clk_regmap_phy_mux_ops for GCC UFS muxes so these muxes are
automatically switched to UFS external symbol clocks during enable and
safely parked at XO clk during disable.
Fixes: efe504300a17 ("clk: qcom: gcc: Add support for Global Clock Controller")
Signed-off-by: Jagadeesh Kona <jagadeesh.kona@oss.qualcomm.com>
---
drivers/clk/qcom/gcc-glymur.c | 69 +++++++++++--------------------------------
1 file changed, 18 insertions(+), 51 deletions(-)
diff --git a/drivers/clk/qcom/gcc-glymur.c b/drivers/clk/qcom/gcc-glymur.c
index 2ee4820b6fdfb1ad2cdb15366cf746651fc1a36a..a47a2c6b961ba01edc69be91e299a190f4662c3e 100644
--- a/drivers/clk/qcom/gcc-glymur.c
+++ b/drivers/clk/qcom/gcc-glymur.c
@@ -481,36 +481,6 @@ static const struct clk_parent_data gcc_parent_data_17[] = {
{ .hw = &gcc_gpll0_out_even.clkr.hw },
};
-static const struct parent_map gcc_parent_map_18[] = {
- { P_UFS_PHY_RX_SYMBOL_0_CLK, 0 },
- { P_BI_TCXO, 2 },
-};
-
-static const struct clk_parent_data gcc_parent_data_18[] = {
- { .index = DT_UFS_PHY_RX_SYMBOL_0_CLK },
- { .index = DT_BI_TCXO },
-};
-
-static const struct parent_map gcc_parent_map_19[] = {
- { P_UFS_PHY_RX_SYMBOL_1_CLK, 0 },
- { P_BI_TCXO, 2 },
-};
-
-static const struct clk_parent_data gcc_parent_data_19[] = {
- { .index = DT_UFS_PHY_RX_SYMBOL_1_CLK },
- { .index = DT_BI_TCXO },
-};
-
-static const struct parent_map gcc_parent_map_20[] = {
- { P_UFS_PHY_TX_SYMBOL_0_CLK, 0 },
- { P_BI_TCXO, 2 },
-};
-
-static const struct clk_parent_data gcc_parent_data_20[] = {
- { .index = DT_UFS_PHY_TX_SYMBOL_0_CLK },
- { .index = DT_BI_TCXO },
-};
-
static const struct parent_map gcc_parent_map_21[] = {
{ P_GCC_USB3_PRIM_PHY_PIPE_CLK_SRC, 0 },
{ P_USB4_0_PHY_GCC_USB4RTR_MAX_PIPE_CLK, 1 },
@@ -907,47 +877,44 @@ static struct clk_regmap_phy_mux gcc_pcie_6_pipe_clk_src = {
},
};
-static struct clk_regmap_mux gcc_ufs_phy_rx_symbol_0_clk_src = {
+static struct clk_regmap_phy_mux gcc_ufs_phy_rx_symbol_0_clk_src = {
.reg = 0x7706c,
- .shift = 0,
- .width = 2,
- .parent_map = gcc_parent_map_18,
.clkr = {
.hw.init = &(const struct clk_init_data) {
.name = "gcc_ufs_phy_rx_symbol_0_clk_src",
- .parent_data = gcc_parent_data_18,
- .num_parents = ARRAY_SIZE(gcc_parent_data_18),
- .ops = &clk_regmap_mux_closest_ops,
+ .parent_data = &(const struct clk_parent_data){
+ .index = DT_UFS_PHY_RX_SYMBOL_0_CLK,
+ },
+ .num_parents = 1,
+ .ops = &clk_regmap_phy_mux_ops,
},
},
};
-static struct clk_regmap_mux gcc_ufs_phy_rx_symbol_1_clk_src = {
+static struct clk_regmap_phy_mux gcc_ufs_phy_rx_symbol_1_clk_src = {
.reg = 0x770f0,
- .shift = 0,
- .width = 2,
- .parent_map = gcc_parent_map_19,
.clkr = {
.hw.init = &(const struct clk_init_data) {
.name = "gcc_ufs_phy_rx_symbol_1_clk_src",
- .parent_data = gcc_parent_data_19,
- .num_parents = ARRAY_SIZE(gcc_parent_data_19),
- .ops = &clk_regmap_mux_closest_ops,
+ .parent_data = &(const struct clk_parent_data){
+ .index = DT_UFS_PHY_RX_SYMBOL_1_CLK,
+ },
+ .num_parents = 1,
+ .ops = &clk_regmap_phy_mux_ops,
},
},
};
-static struct clk_regmap_mux gcc_ufs_phy_tx_symbol_0_clk_src = {
+static struct clk_regmap_phy_mux gcc_ufs_phy_tx_symbol_0_clk_src = {
.reg = 0x7705c,
- .shift = 0,
- .width = 2,
- .parent_map = gcc_parent_map_20,
.clkr = {
.hw.init = &(const struct clk_init_data) {
.name = "gcc_ufs_phy_tx_symbol_0_clk_src",
- .parent_data = gcc_parent_data_20,
- .num_parents = ARRAY_SIZE(gcc_parent_data_20),
- .ops = &clk_regmap_mux_closest_ops,
+ .parent_data = &(const struct clk_parent_data){
+ .index = DT_UFS_PHY_TX_SYMBOL_0_CLK,
+ },
+ .num_parents = 1,
+ .ops = &clk_regmap_phy_mux_ops,
},
},
};
--
2.34.1
^ permalink raw reply [flat|nested] 13+ messages in thread* Re: [PATCH 3/4] clk: qcom: gcc-glymur: Use clk_regmap_phy_mux_ops for GCC UFS muxes
2026-09-04 18:50 ` [PATCH 3/4] clk: qcom: gcc-glymur: Use clk_regmap_phy_mux_ops for GCC UFS muxes Jagadeesh Kona
@ 2026-09-05 5:49 ` Abel Vesa
2026-09-07 7:59 ` Konrad Dybcio
1 sibling, 0 replies; 13+ messages in thread
From: Abel Vesa @ 2026-09-05 5:49 UTC (permalink / raw)
To: Jagadeesh Kona
Cc: Bjorn Andersson, Stephen Boyd, Brian Masney, Jerome Brunet,
Rob Herring, Krzysztof Kozlowski, Conor Dooley, Dmitry Baryshkov,
Taniya Das, Konrad Dybcio, linux-arm-msm, linux-clk, devicetree,
linux-kernel
On 26-09-05 00:20:44, Jagadeesh Kona wrote:
> Use clk_regmap_phy_mux_ops for GCC UFS muxes so these muxes are
> automatically switched to UFS external symbol clocks during enable and
> safely parked at XO clk during disable.
>
> Fixes: efe504300a17 ("clk: qcom: gcc: Add support for Global Clock Controller")
> Signed-off-by: Jagadeesh Kona <jagadeesh.kona@oss.qualcomm.com>
Reviewed-by: Abel Vesa <abel.vesa@oss.qualcomm.com>
^ permalink raw reply [flat|nested] 13+ messages in thread* Re: [PATCH 3/4] clk: qcom: gcc-glymur: Use clk_regmap_phy_mux_ops for GCC UFS muxes
2026-09-04 18:50 ` [PATCH 3/4] clk: qcom: gcc-glymur: Use clk_regmap_phy_mux_ops for GCC UFS muxes Jagadeesh Kona
2026-09-05 5:49 ` Abel Vesa
@ 2026-09-07 7:59 ` Konrad Dybcio
1 sibling, 0 replies; 13+ messages in thread
From: Konrad Dybcio @ 2026-09-07 7:59 UTC (permalink / raw)
To: Jagadeesh Kona, Bjorn Andersson, Stephen Boyd, Brian Masney,
Jerome Brunet, Rob Herring, Krzysztof Kozlowski, Conor Dooley,
Dmitry Baryshkov, Taniya Das
Cc: linux-arm-msm, linux-clk, devicetree, linux-kernel
On 9/4/26 8:50 PM, Jagadeesh Kona wrote:
> Use clk_regmap_phy_mux_ops for GCC UFS muxes so these muxes are
> automatically switched to UFS external symbol clocks during enable and
> safely parked at XO clk during disable.
>
> Fixes: efe504300a17 ("clk: qcom: gcc: Add support for Global Clock Controller")
> Signed-off-by: Jagadeesh Kona <jagadeesh.kona@oss.qualcomm.com>
> ---
Reviewed-by: Konrad Dybcio <konrad.dybcio@oss.qualcomm.com>
Konrad
^ permalink raw reply [flat|nested] 13+ messages in thread
* [PATCH 4/4] clk: qcom: gcc-glymur: use shared ops for GCC UFS RCGs
2026-09-04 18:50 [PATCH 0/4] clk: qcom: glymur: Add rpmh LNBB clks support and update UFS clk ops Jagadeesh Kona
` (2 preceding siblings ...)
2026-09-04 18:50 ` [PATCH 3/4] clk: qcom: gcc-glymur: Use clk_regmap_phy_mux_ops for GCC UFS muxes Jagadeesh Kona
@ 2026-09-04 18:50 ` Jagadeesh Kona
2026-09-05 5:45 ` Abel Vesa
2026-09-07 8:02 ` Konrad Dybcio
3 siblings, 2 replies; 13+ messages in thread
From: Jagadeesh Kona @ 2026-09-04 18:50 UTC (permalink / raw)
To: Bjorn Andersson, Stephen Boyd, Brian Masney, Jerome Brunet,
Rob Herring, Krzysztof Kozlowski, Conor Dooley, Dmitry Baryshkov,
Taniya Das, Konrad Dybcio
Cc: linux-arm-msm, linux-clk, devicetree, linux-kernel, Jagadeesh Kona
Switch GCC UFS RCGs to shared ops so that they are safely parked at XO
during clk registration.
This ensures the RCGs are connected to a valid running source clk before
the UFS GDSC is enabled, which is a requirement for the UFS GDSC power-on
sequence.
Fixes: efe504300a17 ("clk: qcom: gcc: Add support for Global Clock Controller")
Signed-off-by: Jagadeesh Kona <jagadeesh.kona@oss.qualcomm.com>
---
drivers/clk/qcom/gcc-glymur.c | 8 ++++----
1 file changed, 4 insertions(+), 4 deletions(-)
diff --git a/drivers/clk/qcom/gcc-glymur.c b/drivers/clk/qcom/gcc-glymur.c
index a47a2c6b961ba01edc69be91e299a190f4662c3e..1957c847568afe3769ebf00a8cfeecc8b0a88bac 100644
--- a/drivers/clk/qcom/gcc-glymur.c
+++ b/drivers/clk/qcom/gcc-glymur.c
@@ -2327,7 +2327,7 @@ static struct clk_rcg2 gcc_ufs_phy_axi_clk_src = {
.parent_data = gcc_parent_data_6,
.num_parents = ARRAY_SIZE(gcc_parent_data_6),
.flags = CLK_SET_RATE_PARENT,
- .ops = &clk_rcg2_shared_no_init_park_ops,
+ .ops = &clk_rcg2_shared_ops,
},
};
@@ -2349,7 +2349,7 @@ static struct clk_rcg2 gcc_ufs_phy_ice_core_clk_src = {
.parent_data = gcc_parent_data_6,
.num_parents = ARRAY_SIZE(gcc_parent_data_6),
.flags = CLK_SET_RATE_PARENT,
- .ops = &clk_rcg2_shared_no_init_park_ops,
+ .ops = &clk_rcg2_shared_ops,
},
};
@@ -2364,7 +2364,7 @@ static struct clk_rcg2 gcc_ufs_phy_phy_aux_clk_src = {
.parent_data = gcc_parent_data_5,
.num_parents = ARRAY_SIZE(gcc_parent_data_5),
.flags = CLK_SET_RATE_PARENT,
- .ops = &clk_rcg2_shared_no_init_park_ops,
+ .ops = &clk_rcg2_shared_ops,
},
};
@@ -2379,7 +2379,7 @@ static struct clk_rcg2 gcc_ufs_phy_unipro_core_clk_src = {
.parent_data = gcc_parent_data_6,
.num_parents = ARRAY_SIZE(gcc_parent_data_6),
.flags = CLK_SET_RATE_PARENT,
- .ops = &clk_rcg2_shared_no_init_park_ops,
+ .ops = &clk_rcg2_shared_ops,
},
};
--
2.34.1
^ permalink raw reply [flat|nested] 13+ messages in thread* Re: [PATCH 4/4] clk: qcom: gcc-glymur: use shared ops for GCC UFS RCGs
2026-09-04 18:50 ` [PATCH 4/4] clk: qcom: gcc-glymur: use shared ops for GCC UFS RCGs Jagadeesh Kona
@ 2026-09-05 5:45 ` Abel Vesa
2026-09-07 8:02 ` Konrad Dybcio
1 sibling, 0 replies; 13+ messages in thread
From: Abel Vesa @ 2026-09-05 5:45 UTC (permalink / raw)
To: Jagadeesh Kona
Cc: Bjorn Andersson, Stephen Boyd, Brian Masney, Jerome Brunet,
Rob Herring, Krzysztof Kozlowski, Conor Dooley, Dmitry Baryshkov,
Taniya Das, Konrad Dybcio, linux-arm-msm, linux-clk, devicetree,
linux-kernel
On 26-09-05 00:20:45, Jagadeesh Kona wrote:
> Switch GCC UFS RCGs to shared ops so that they are safely parked at XO
> during clk registration.
>
> This ensures the RCGs are connected to a valid running source clk before
> the UFS GDSC is enabled, which is a requirement for the UFS GDSC power-on
> sequence.
>
> Fixes: efe504300a17 ("clk: qcom: gcc: Add support for Global Clock Controller")
> Signed-off-by: Jagadeesh Kona <jagadeesh.kona@oss.qualcomm.com>
Reviewed-by: Abel Vesa <abel.vesa@oss.qualcomm.com>
^ permalink raw reply [flat|nested] 13+ messages in thread* Re: [PATCH 4/4] clk: qcom: gcc-glymur: use shared ops for GCC UFS RCGs
2026-09-04 18:50 ` [PATCH 4/4] clk: qcom: gcc-glymur: use shared ops for GCC UFS RCGs Jagadeesh Kona
2026-09-05 5:45 ` Abel Vesa
@ 2026-09-07 8:02 ` Konrad Dybcio
1 sibling, 0 replies; 13+ messages in thread
From: Konrad Dybcio @ 2026-09-07 8:02 UTC (permalink / raw)
To: Jagadeesh Kona, Bjorn Andersson, Stephen Boyd, Brian Masney,
Jerome Brunet, Rob Herring, Krzysztof Kozlowski, Conor Dooley,
Dmitry Baryshkov, Taniya Das
Cc: linux-arm-msm, linux-clk, devicetree, linux-kernel
On 9/4/26 8:50 PM, Jagadeesh Kona wrote:
> Switch GCC UFS RCGs to shared ops so that they are safely parked at XO
> during clk registration.
>
> This ensures the RCGs are connected to a valid running source clk before
> the UFS GDSC is enabled, which is a requirement for the UFS GDSC power-on
> sequence.
>
> Fixes: efe504300a17 ("clk: qcom: gcc: Add support for Global Clock Controller")
> Signed-off-by: Jagadeesh Kona <jagadeesh.kona@oss.qualcomm.com>
> ---
Is the no_init_park variant an actual problem here? When reading back
_CFG, is the parent preset to the UFS clock (which isn't running)?
Konrad
^ permalink raw reply [flat|nested] 13+ messages in thread