|
@@ -311,6 +311,12 @@ static void _clk_pll_enable(struct clk_hw *hw)
|
|
|
udelay(2);
|
|
|
}
|
|
|
|
|
|
+ if (pll->params->reset_reg) {
|
|
|
+ val = pll_readl(pll->params->reset_reg, pll);
|
|
|
+ val &= ~BIT(pll->params->reset_bit_idx);
|
|
|
+ pll_writel(val, pll->params->reset_reg, pll);
|
|
|
+ }
|
|
|
+
|
|
|
clk_pll_enable_lock(pll);
|
|
|
|
|
|
val = pll_readl_base(pll);
|
|
@@ -343,6 +349,12 @@ static void _clk_pll_disable(struct clk_hw *hw)
|
|
|
writel_relaxed(val, pll->pmc + PMC_PLLP_WB0_OVERRIDE);
|
|
|
}
|
|
|
|
|
|
+ if (pll->params->reset_reg) {
|
|
|
+ val = pll_readl(pll->params->reset_reg, pll);
|
|
|
+ val |= BIT(pll->params->reset_bit_idx);
|
|
|
+ pll_writel(val, pll->params->reset_reg, pll);
|
|
|
+ }
|
|
|
+
|
|
|
if (pll->params->iddq_reg) {
|
|
|
val = pll_readl(pll->params->iddq_reg, pll);
|
|
|
val |= BIT(pll->params->iddq_bit_idx);
|