|
@@ -293,6 +293,8 @@
|
|
|
#ifdef CONFIG_PM_SLEEP
|
|
|
static struct cpu_clk_suspend_context {
|
|
|
u32 clk_csite_src;
|
|
|
+ u32 cclkg_burst;
|
|
|
+ u32 cclkg_divider;
|
|
|
} tegra114_cpu_clk_sctx;
|
|
|
#endif
|
|
|
|
|
@@ -2155,12 +2157,22 @@ static void tegra114_cpu_clock_suspend(void)
|
|
|
tegra114_cpu_clk_sctx.clk_csite_src =
|
|
|
readl(clk_base + CLK_SOURCE_CSITE);
|
|
|
writel(3 << 30, clk_base + CLK_SOURCE_CSITE);
|
|
|
+
|
|
|
+ tegra114_cpu_clk_sctx.cclkg_burst =
|
|
|
+ readl(clk_base + CCLKG_BURST_POLICY);
|
|
|
+ tegra114_cpu_clk_sctx.cclkg_divider =
|
|
|
+ readl(clk_base + CCLKG_BURST_POLICY + 4);
|
|
|
}
|
|
|
|
|
|
static void tegra114_cpu_clock_resume(void)
|
|
|
{
|
|
|
writel(tegra114_cpu_clk_sctx.clk_csite_src,
|
|
|
clk_base + CLK_SOURCE_CSITE);
|
|
|
+
|
|
|
+ writel(tegra114_cpu_clk_sctx.cclkg_burst,
|
|
|
+ clk_base + CCLKG_BURST_POLICY);
|
|
|
+ writel(tegra114_cpu_clk_sctx.cclkg_divider,
|
|
|
+ clk_base + CCLKG_BURST_POLICY + 4);
|
|
|
}
|
|
|
#endif
|
|
|
|