diff options
| -rw-r--r-- | drivers/clk/clk-si5351.c | 12 |
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), |
