clk-pll14xx.c (485b4ff57c2777c15bfe2e6e6a204200b040e131) clk-pll14xx.c (d77461a616b659bd88dc153e3a86dba5bf78aa8a)
1// SPDX-License-Identifier: GPL-2.0
2/*
3 * Copyright 2017-2018 NXP.
4 */
5
6#include <linux/bits.h>
7#include <linux/clk-provider.h>
8#include <linux/err.h>

--- 181 unchanged lines hidden (view full) ---

190 pr_err("%s: Invalid rate : %lu for pll clk %s\n", __func__,
191 drate, clk_hw_get_name(hw));
192 return -EINVAL;
193 }
194
195 tmp = readl_relaxed(pll->base + DIV_CTL0);
196
197 if (!clk_pll14xx_mp_change(rate, tmp)) {
1// SPDX-License-Identifier: GPL-2.0
2/*
3 * Copyright 2017-2018 NXP.
4 */
5
6#include <linux/bits.h>
7#include <linux/clk-provider.h>
8#include <linux/err.h>

--- 181 unchanged lines hidden (view full) ---

190 pr_err("%s: Invalid rate : %lu for pll clk %s\n", __func__,
191 drate, clk_hw_get_name(hw));
192 return -EINVAL;
193 }
194
195 tmp = readl_relaxed(pll->base + DIV_CTL0);
196
197 if (!clk_pll14xx_mp_change(rate, tmp)) {
198 tmp &= ~(SDIV_MASK) << SDIV_SHIFT;
198 tmp &= ~SDIV_MASK;
199 tmp |= rate->sdiv << SDIV_SHIFT;
200 writel_relaxed(tmp, pll->base + DIV_CTL0);
201
202 return 0;
203 }
204
205 /* Bypass clock and set lock to pll output lock */
206 tmp = readl_relaxed(pll->base + GNRL_CTL);

--- 49 unchanged lines hidden (view full) ---

256 pr_err("%s: Invalid rate : %lu for pll clk %s\n", __func__,
257 drate, clk_hw_get_name(hw));
258 return -EINVAL;
259 }
260
261 tmp = readl_relaxed(pll->base + DIV_CTL0);
262
263 if (!clk_pll14xx_mp_change(rate, tmp)) {
199 tmp |= rate->sdiv << SDIV_SHIFT;
200 writel_relaxed(tmp, pll->base + DIV_CTL0);
201
202 return 0;
203 }
204
205 /* Bypass clock and set lock to pll output lock */
206 tmp = readl_relaxed(pll->base + GNRL_CTL);

--- 49 unchanged lines hidden (view full) ---

256 pr_err("%s: Invalid rate : %lu for pll clk %s\n", __func__,
257 drate, clk_hw_get_name(hw));
258 return -EINVAL;
259 }
260
261 tmp = readl_relaxed(pll->base + DIV_CTL0);
262
263 if (!clk_pll14xx_mp_change(rate, tmp)) {
264 tmp &= ~(SDIV_MASK) << SDIV_SHIFT;
264 tmp &= ~SDIV_MASK;
265 tmp |= rate->sdiv << SDIV_SHIFT;
266 writel_relaxed(tmp, pll->base + DIV_CTL0);
267
268 tmp = rate->kdiv << KDIV_SHIFT;
269 writel_relaxed(tmp, pll->base + DIV_CTL1);
270
271 return 0;
272 }

--- 172 unchanged lines hidden ---
265 tmp |= rate->sdiv << SDIV_SHIFT;
266 writel_relaxed(tmp, pll->base + DIV_CTL0);
267
268 tmp = rate->kdiv << KDIV_SHIFT;
269 writel_relaxed(tmp, pll->base + DIV_CTL1);
270
271 return 0;
272 }

--- 172 unchanged lines hidden ---