summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTaniya Das <quic_tdas@quicinc.com>2025-04-14 14:30:41 +0530
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>2025-06-27 11:11:29 +0100
commita856d71fbb5f5ccbd35aa5cd9d03f170b3950bf9 (patch)
tree36af20d4879ddb6ccd18f755470afa2a49d7807c
parentcb8484d1ba71ca9572ae6c6f97010be7bdd95fb7 (diff)
clk: qcom: gcc-x1e80100: Set FORCE MEM CORE for UFS clocks
[ Upstream commit 201bf08ba9e26eeb0a96ba3fd5c026f531b31aed ] 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> Signed-off-by: Sasha Levin <sashal@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 009f39139b644..3e44757e25d32 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);
}