summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTaniya Das <quic_tdas@quicinc.com>2025-04-14 12:00:41 +0300
committerBjorn Andersson <andersson@kernel.org>2025-05-18 03:28:40 +0300
commit201bf08ba9e26eeb0a96ba3fd5c026f531b31aed (patch)
tree06966192a54120f6c4fe9b4a41726fd029b4c9a4
parentda94a81ea6c6f1cd2f389c5631e33c145ac7b35b (diff)
downloadlinux-201bf08ba9e26eeb0a96ba3fd5c026f531b31aed.tar.xz
clk: qcom: gcc-x1e80100: Set FORCE MEM CORE for UFS clocks
Update the force mem core bit for UFS ICE clock and UFS PHY AXI clock to force the core on signal to remain active during halt state of the clk. If force mem core bit of the clock is not set, the memories of the subsystem will not retain the logic across power states. This is required for the MCQ feature of UFS. Signed-off-by: Taniya Das <quic_tdas@quicinc.com> Reviewed-by: Imran Shaik <quic_imrashai@quicinc.com> Link: https://lore.kernel.org/r/20250414-gcc_ufs_mem_core-v1-2-67b5529b9b5d@quicinc.com Signed-off-by: Bjorn Andersson <andersson@kernel.org>
-rw-r--r--drivers/clk/qcom/gcc-x1e80100.c4
1 files changed, 4 insertions, 0 deletions
diff --git a/drivers/clk/qcom/gcc-x1e80100.c b/drivers/clk/qcom/gcc-x1e80100.c
index 009f39139b64..3e44757e25d3 100644
--- a/drivers/clk/qcom/gcc-x1e80100.c
+++ b/drivers/clk/qcom/gcc-x1e80100.c
@@ -6753,6 +6753,10 @@ static int gcc_x1e80100_probe(struct platform_device *pdev)
/* Clear GDSC_SLEEP_ENA_VOTE to stop votes being auto-removed in sleep. */
regmap_write(regmap, 0x52224, 0x0);
+ /* FORCE_MEM_CORE_ON for ufs phy ice core and gcc ufs phy axi clocks */
+ qcom_branch_set_force_mem_core(regmap, gcc_ufs_phy_ice_core_clk, true);
+ qcom_branch_set_force_mem_core(regmap, gcc_ufs_phy_axi_clk, true);
+
return qcom_cc_really_probe(&pdev->dev, &gcc_x1e80100_desc, regmap);
}