diff mbox series

[2/2] clk: bd718x7: Add rohm,clock-output-is-critical property

Message ID 20211020084956.83041-2-marex@denx.de (mailing list archive)
State Not Applicable, archived
Headers show
Series [1/2] dt-bindings: mfd: rohm,bd71847-pmic: Document rohm,clock-output-is-critical property | expand

Commit Message

Marek Vasut Oct. 20, 2021, 8:49 a.m. UTC
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@denx.de>
Cc: Matti Vaittinen <matti.vaittinen@fi.rohmeurope.com>
Cc: Michael Turquette <mturquette@baylibre.com>
Cc: Rob Herring <robh+dt@kernel.org>
Cc: Stephen Boyd <sboyd@kernel.org>
Cc: devicetree@vger.kernel.org
Cc: linux-power@fi.rohmeurope.com
To: linux-clk@vger.kernel.org
---
 drivers/clk/clk-bd718x7.c | 7 +++++++
 1 file changed, 7 insertions(+)
diff mbox series

Patch

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