Add the possibility to configure PMIC 32kHz output clock as CRITICAL, so that they are never gated off. This is useful in case those clock supply some vital clock net, which requires the clock to always run. The iMX8M RTC XTAL input is one such example, if the clock are ever gated off, the system locks up completely. The clock must be present and enabled even if the RTC is unused. Signed-off-by: Marek Vasut <marex@xxxxxxx> Cc: Matti Vaittinen <matti.vaittinen@xxxxxxxxxxxxxxxxx> Cc: Michael Turquette <mturquette@xxxxxxxxxxxx> Cc: Rob Herring <robh+dt@xxxxxxxxxx> Cc: Stephen Boyd <sboyd@xxxxxxxxxx> Cc: devicetree@xxxxxxxxxxxxxxx Cc: linux-power@xxxxxxxxxxxxxxxxx To: linux-clk@xxxxxxxxxxxxxxx --- drivers/clk/clk-bd718x7.c | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/drivers/clk/clk-bd718x7.c b/drivers/clk/clk-bd718x7.c index ac40b669d60b..a59bc57f13bc 100644 --- a/drivers/clk/clk-bd718x7.c +++ b/drivers/clk/clk-bd718x7.c @@ -125,6 +125,13 @@ static int bd71837_clk_probe(struct platform_device *pdev) c->pdev = pdev; c->hw.init = &init; + /* + * The clock supply vital clock net, e.g. SoC XTAL input, + * and the clock must not ever be turned off. + */ + if (of_property_read_bool(parent->of_node, "rohm,clock-output-is-critical")) + init.flags |= CLK_IS_CRITICAL, + of_property_read_string_index(parent->of_node, "clock-output-names", 0, &init.name); -- 2.33.0