|
@@ -23,16 +23,11 @@
|
|
|
#include <asm/div64.h>
|
|
|
|
|
|
#include "clk-pll.h"
|
|
|
+#include "common.h"
|
|
|
|
|
|
#define PLL_OUTCTRL BIT(0)
|
|
|
#define PLL_BYPASSNL BIT(1)
|
|
|
#define PLL_RESET_N BIT(2)
|
|
|
-#define PLL_LOCK_COUNT_SHIFT 8
|
|
|
-#define PLL_LOCK_COUNT_MASK 0x3f
|
|
|
-#define PLL_BIAS_COUNT_SHIFT 14
|
|
|
-#define PLL_BIAS_COUNT_MASK 0x3f
|
|
|
-#define PLL_VOTE_FSM_ENA BIT(20)
|
|
|
-#define PLL_VOTE_FSM_RESET BIT(21)
|
|
|
|
|
|
static int clk_pll_enable(struct clk_hw *hw)
|
|
|
{
|
|
@@ -228,26 +223,6 @@ const struct clk_ops clk_pll_vote_ops = {
|
|
|
};
|
|
|
EXPORT_SYMBOL_GPL(clk_pll_vote_ops);
|
|
|
|
|
|
-static void
|
|
|
-clk_pll_set_fsm_mode(struct clk_pll *pll, struct regmap *regmap, u8 lock_count)
|
|
|
-{
|
|
|
- u32 val;
|
|
|
- u32 mask;
|
|
|
-
|
|
|
- /* De-assert reset to FSM */
|
|
|
- regmap_update_bits(regmap, pll->mode_reg, PLL_VOTE_FSM_RESET, 0);
|
|
|
-
|
|
|
- /* Program bias count and lock count */
|
|
|
- val = 1 << PLL_BIAS_COUNT_SHIFT | lock_count << PLL_LOCK_COUNT_SHIFT;
|
|
|
- mask = PLL_BIAS_COUNT_MASK << PLL_BIAS_COUNT_SHIFT;
|
|
|
- mask |= PLL_LOCK_COUNT_MASK << PLL_LOCK_COUNT_SHIFT;
|
|
|
- regmap_update_bits(regmap, pll->mode_reg, mask, val);
|
|
|
-
|
|
|
- /* Enable PLL FSM voting */
|
|
|
- regmap_update_bits(regmap, pll->mode_reg, PLL_VOTE_FSM_ENA,
|
|
|
- PLL_VOTE_FSM_ENA);
|
|
|
-}
|
|
|
-
|
|
|
static void clk_pll_configure(struct clk_pll *pll, struct regmap *regmap,
|
|
|
const struct pll_config *config)
|
|
|
{
|
|
@@ -280,7 +255,7 @@ void clk_pll_configure_sr(struct clk_pll *pll, struct regmap *regmap,
|
|
|
{
|
|
|
clk_pll_configure(pll, regmap, config);
|
|
|
if (fsm_mode)
|
|
|
- clk_pll_set_fsm_mode(pll, regmap, 8);
|
|
|
+ qcom_pll_set_fsm_mode(regmap, pll->mode_reg, 1, 8);
|
|
|
}
|
|
|
EXPORT_SYMBOL_GPL(clk_pll_configure_sr);
|
|
|
|
|
@@ -289,7 +264,7 @@ void clk_pll_configure_sr_hpm_lp(struct clk_pll *pll, struct regmap *regmap,
|
|
|
{
|
|
|
clk_pll_configure(pll, regmap, config);
|
|
|
if (fsm_mode)
|
|
|
- clk_pll_set_fsm_mode(pll, regmap, 0);
|
|
|
+ qcom_pll_set_fsm_mode(regmap, pll->mode_reg, 1, 0);
|
|
|
}
|
|
|
EXPORT_SYMBOL_GPL(clk_pll_configure_sr_hpm_lp);
|
|
|
|