Commit da94a81e authored by Taniya Das's avatar Taniya Das Committed by Bjorn Andersson
Browse files

clk: qcom: gcc: Set FORCE_MEM_CORE_ON for gcc_ufs_axi_clk for 8650/8750



Update the force mem core bit for UFS 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 the UFS driver.

Signed-off-by: default avatarTaniya Das <quic_tdas@quicinc.com>
Reviewed-by: default avatarImran Shaik <quic_imrashai@quicinc.com>
Link: https://lore.kernel.org/r/20250414-gcc_ufs_mem_core-v1-1-67b5529b9b5d@quicinc.com


Signed-off-by: default avatarBjorn Andersson <andersson@kernel.org>
parent 166e65bc
Loading
Loading
Loading
Loading
+2 −0
Original line number Diff line number Diff line
@@ -3817,7 +3817,9 @@ static int gcc_sm8650_probe(struct platform_device *pdev)
	qcom_branch_set_clk_en(regmap, 0x32004); /* GCC_VIDEO_AHB_CLK */
	qcom_branch_set_clk_en(regmap, 0x32030); /* GCC_VIDEO_XO_CLK */

	/* 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);

	/* Clear GDSC_SLEEP_ENA_VOTE to stop votes being auto-removed in sleep. */
	regmap_write(regmap, 0x52150, 0x0);
+2 −1
Original line number Diff line number Diff line
@@ -3244,8 +3244,9 @@ static int gcc_sm8750_probe(struct platform_device *pdev)
	regmap_update_bits(regmap, 0x52010, BIT(20), BIT(20));
	regmap_update_bits(regmap, 0x52010, BIT(21), BIT(21));

	/* FORCE_MEM_CORE_ON for ufs phy ice core clocks */
	/* 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_sm8750_desc, regmap);
}