Skip to content

Commit 34138a5

Browse files
PabloPLSylwester Nawrocki
authored andcommitted
clk: exynos7: Mark aclk_fsys1_200 as critical
This clock must be always enabled to allow access to any registers in fsys1 CMU. Until proper solution based on runtime PM is applied (similar to what was done for Exynos5433), mark that clock as critical so it won't be disabled. It was observed on Samsung Galaxy S6 device (based on Exynos7420), where UFS module is probed before pmic used to power that device. In this case defer probe was happening and that clock was disabled by UFS driver, causing whole boot to hang on next CMU access. Fixes: 753195a ("clk: samsung: exynos7: Correct CMU_FSYS1 clocks names") Signed-off-by: Paweł Chmiel <[email protected]> Acked-by: Krzysztof Kozlowski <[email protected]> Link: https://lore.kernel.org/linux-clk/[email protected] [s.nawrocki: Added comment in the code] Signed-off-by: Sylwester Nawrocki <[email protected]>
1 parent a38fd87 commit 34138a5

File tree

1 file changed

+6
-1
lines changed

1 file changed

+6
-1
lines changed

drivers/clk/samsung/clk-exynos7.c

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -537,8 +537,13 @@ static const struct samsung_gate_clock top1_gate_clks[] __initconst = {
537537
GATE(CLK_ACLK_FSYS0_200, "aclk_fsys0_200", "dout_aclk_fsys0_200",
538538
ENABLE_ACLK_TOP13, 28, CLK_SET_RATE_PARENT |
539539
CLK_IS_CRITICAL, 0),
540+
/*
541+
* This clock is required for the CMU_FSYS1 registers access, keep it
542+
* enabled permanently until proper runtime PM support is added.
543+
*/
540544
GATE(CLK_ACLK_FSYS1_200, "aclk_fsys1_200", "dout_aclk_fsys1_200",
541-
ENABLE_ACLK_TOP13, 24, CLK_SET_RATE_PARENT, 0),
545+
ENABLE_ACLK_TOP13, 24, CLK_SET_RATE_PARENT |
546+
CLK_IS_CRITICAL, 0),
542547

543548
GATE(CLK_SCLK_PHY_FSYS1_26M, "sclk_phy_fsys1_26m",
544549
"dout_sclk_phy_fsys1_26m", ENABLE_SCLK_TOP1_FSYS11,

0 commit comments

Comments
 (0)