aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--drivers/clk/clk-si5351.c12
1 files changed, 5 insertions, 7 deletions
diff --git a/drivers/clk/clk-si5351.c b/drivers/clk/clk-si5351.c
index 2492442eea77..20d90769cced 100644
--- a/drivers/clk/clk-si5351.c
+++ b/drivers/clk/clk-si5351.c
@@ -519,6 +519,11 @@ static int si5351_pll_set_rate(struct clk_hw *hw, unsigned long rate,
519 SI5351_CLK_INTEGER_MODE, 519 SI5351_CLK_INTEGER_MODE,
520 (hwdata->params.p2 == 0) ? SI5351_CLK_INTEGER_MODE : 0); 520 (hwdata->params.p2 == 0) ? SI5351_CLK_INTEGER_MODE : 0);
521 521
522 /* Do a pll soft reset on the affected pll */
523 si5351_reg_write(hwdata->drvdata, SI5351_PLL_RESET,
524 hwdata->num == 0 ? SI5351_PLL_RESET_A :
525 SI5351_PLL_RESET_B);
526
522 dev_dbg(&hwdata->drvdata->client->dev, 527 dev_dbg(&hwdata->drvdata->client->dev,
523 "%s - %s: p1 = %lu, p2 = %lu, p3 = %lu, parent_rate = %lu, rate = %lu\n", 528 "%s - %s: p1 = %lu, p2 = %lu, p3 = %lu, parent_rate = %lu, rate = %lu\n",
524 __func__, clk_hw_get_name(hw), 529 __func__, clk_hw_get_name(hw),
@@ -1091,13 +1096,6 @@ static int si5351_clkout_set_rate(struct clk_hw *hw, unsigned long rate,
1091 si5351_set_bits(hwdata->drvdata, SI5351_CLK0_CTRL + hwdata->num, 1096 si5351_set_bits(hwdata->drvdata, SI5351_CLK0_CTRL + hwdata->num,
1092 SI5351_CLK_POWERDOWN, 0); 1097 SI5351_CLK_POWERDOWN, 0);
1093 1098
1094 /*
1095 * Do a pll soft reset on both plls, needed in some cases to get
1096 * all outputs running.
1097 */
1098 si5351_reg_write(hwdata->drvdata, SI5351_PLL_RESET,
1099 SI5351_PLL_RESET_A | SI5351_PLL_RESET_B);
1100
1101 dev_dbg(&hwdata->drvdata->client->dev, 1099 dev_dbg(&hwdata->drvdata->client->dev,
1102 "%s - %s: rdiv = %u, parent_rate = %lu, rate = %lu\n", 1100 "%s - %s: rdiv = %u, parent_rate = %lu, rate = %lu\n",
1103 __func__, clk_hw_get_name(hw), (1 << rdiv), 1101 __func__, clk_hw_get_name(hw), (1 << rdiv),