|
@@ -186,6 +186,13 @@ static struct clk_plt *plt_clk_register(struct platform_device *pdev, int id,
|
|
|
pclk->reg = base + PMC_CLK_CTL_OFFSET + id * PMC_CLK_CTL_SIZE;
|
|
|
spin_lock_init(&pclk->lock);
|
|
|
|
|
|
+ /*
|
|
|
+ * If the clock was already enabled by the firmware mark it as critical
|
|
|
+ * to avoid it being gated by the clock framework if no driver owns it.
|
|
|
+ */
|
|
|
+ if (plt_clk_is_enabled(&pclk->hw))
|
|
|
+ init.flags |= CLK_IS_CRITICAL;
|
|
|
+
|
|
|
ret = devm_clk_hw_register(&pdev->dev, &pclk->hw);
|
|
|
if (ret) {
|
|
|
pclk = ERR_PTR(ret);
|