Loading drivers/clk/zynq/pll.c +14 −5 Original line number Diff line number Diff line Loading @@ -50,6 +50,9 @@ struct zynq_pll { #define PLLCTRL_RESET_MASK 1 #define PLLCTRL_RESET_SHIFT 0 #define PLL_FBDIV_MIN 13 #define PLL_FBDIV_MAX 66 /** * zynq_pll_round_rate() - Round a clock frequency * @hw: Handle between common and hardware-specific interfaces Loading @@ -63,10 +66,10 @@ static long zynq_pll_round_rate(struct clk_hw *hw, unsigned long rate, u32 fbdiv; fbdiv = DIV_ROUND_CLOSEST(rate, *prate); if (fbdiv < 13) fbdiv = 13; else if (fbdiv > 66) fbdiv = 66; if (fbdiv < PLL_FBDIV_MIN) fbdiv = PLL_FBDIV_MIN; else if (fbdiv > PLL_FBDIV_MAX) fbdiv = PLL_FBDIV_MAX; return *prate * fbdiv; } Loading Loading @@ -182,7 +185,13 @@ static const struct clk_ops zynq_pll_ops = { /** * clk_register_zynq_pll() - Register PLL with the clock framework * @np Pointer to the DT device node * @name PLL name * @parent Parent clock name * @pll_ctrl Pointer to PLL control register * @pll_status Pointer to PLL status register * @lock_index Bit index to this PLL's lock status bit in @pll_status * @lock Register lock * Returns handle to the registered clock. */ struct clk *clk_register_zynq_pll(const char *name, const char *parent, void __iomem *pll_ctrl, void __iomem *pll_status, u8 lock_index, Loading Loading
drivers/clk/zynq/pll.c +14 −5 Original line number Diff line number Diff line Loading @@ -50,6 +50,9 @@ struct zynq_pll { #define PLLCTRL_RESET_MASK 1 #define PLLCTRL_RESET_SHIFT 0 #define PLL_FBDIV_MIN 13 #define PLL_FBDIV_MAX 66 /** * zynq_pll_round_rate() - Round a clock frequency * @hw: Handle between common and hardware-specific interfaces Loading @@ -63,10 +66,10 @@ static long zynq_pll_round_rate(struct clk_hw *hw, unsigned long rate, u32 fbdiv; fbdiv = DIV_ROUND_CLOSEST(rate, *prate); if (fbdiv < 13) fbdiv = 13; else if (fbdiv > 66) fbdiv = 66; if (fbdiv < PLL_FBDIV_MIN) fbdiv = PLL_FBDIV_MIN; else if (fbdiv > PLL_FBDIV_MAX) fbdiv = PLL_FBDIV_MAX; return *prate * fbdiv; } Loading Loading @@ -182,7 +185,13 @@ static const struct clk_ops zynq_pll_ops = { /** * clk_register_zynq_pll() - Register PLL with the clock framework * @np Pointer to the DT device node * @name PLL name * @parent Parent clock name * @pll_ctrl Pointer to PLL control register * @pll_status Pointer to PLL status register * @lock_index Bit index to this PLL's lock status bit in @pll_status * @lock Register lock * Returns handle to the registered clock. */ struct clk *clk_register_zynq_pll(const char *name, const char *parent, void __iomem *pll_ctrl, void __iomem *pll_status, u8 lock_index, Loading