aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJerome Brunet <jbrunet@baylibre.com>2018-11-08 04:31:23 -0500
committerStephen Boyd <sboyd@kernel.org>2018-11-08 13:21:21 -0500
commitd6ee1e7e9004d3d246cdfa14196989e0a9466c16 (patch)
treef46b733beba54a394e26b21e630954d50b64e991
parente2576c8bdfd462c34b8a46c0084e7c30b0851bf4 (diff)
clk: meson: axg: mark fdiv2 and fdiv3 as critical
Similar to gxbb and gxl platforms, axg SCPI Cortex-M co-processor uses the fdiv2 and fdiv3 to, among other things, provide the cpu clock. Until clock hand-off mechanism makes its way to CCF and the generic SCPI claims platform specific clocks, these clocks must be marked as critical to make sure they are never disabled when needed by the co-processor. Fixes: 05f814402d61 ("clk: meson: add fdiv clock gates") Signed-off-by: Jerome Brunet <jbrunet@baylibre.com> Acked-by: Neil Armstrong <narmstrong@baylibre.com> Signed-off-by: Stephen Boyd <sboyd@kernel.org>
-rw-r--r--drivers/clk/meson/axg.c13
1 files changed, 13 insertions, 0 deletions
diff --git a/drivers/clk/meson/axg.c b/drivers/clk/meson/axg.c
index c981159b02c0..792735d7e46e 100644
--- a/drivers/clk/meson/axg.c
+++ b/drivers/clk/meson/axg.c
@@ -325,6 +325,7 @@ static struct clk_regmap axg_fclk_div2 = {
325 .ops = &clk_regmap_gate_ops, 325 .ops = &clk_regmap_gate_ops,
326 .parent_names = (const char *[]){ "fclk_div2_div" }, 326 .parent_names = (const char *[]){ "fclk_div2_div" },
327 .num_parents = 1, 327 .num_parents = 1,
328 .flags = CLK_IS_CRITICAL,
328 }, 329 },
329}; 330};
330 331
@@ -349,6 +350,18 @@ static struct clk_regmap axg_fclk_div3 = {
349 .ops = &clk_regmap_gate_ops, 350 .ops = &clk_regmap_gate_ops,
350 .parent_names = (const char *[]){ "fclk_div3_div" }, 351 .parent_names = (const char *[]){ "fclk_div3_div" },
351 .num_parents = 1, 352 .num_parents = 1,
353 /*
354 * FIXME:
355 * This clock, as fdiv2, is used by the SCPI FW and is required
356 * by the platform to operate correctly.
357 * Until the following condition are met, we need this clock to
358 * be marked as critical:
359 * a) The SCPI generic driver claims and enable all the clocks
360 * it needs
361 * b) CCF has a clock hand-off mechanism to make the sure the
362 * clock stays on until the proper driver comes along
363 */
364 .flags = CLK_IS_CRITICAL,
352 }, 365 },
353}; 366};
354 367