summaryrefslogtreecommitdiff
path: root/drivers/clk/meson/clk-pll.c
diff options
context:
space:
mode:
authorJerome Brunet <jbrunet@baylibre.com>2018-02-19 12:21:38 +0100
committerNeil Armstrong <narmstrong@baylibre.com>2018-03-13 10:09:38 +0100
commitc178b003bfcfde5a973c6ba6a45ca60fb1470fc6 (patch)
treea0b8404a58327dc86f7787f097c180568823a2ab /drivers/clk/meson/clk-pll.c
parent117863e8424791e310f299072080d7b745dbec83 (diff)
clk: meson: remove special gp0 lock loop
After testing, it appears that the gxl (and axg) does not require the special locking/reset loop which was initially added for it. All the values present in the gxl table can locked with the simple lock checking loop. The change switches the gxl and axg gp0 back to the simple lock checking loop and removes the code no longer required. Signed-off-by: Jerome Brunet <jbrunet@baylibre.com> Signed-off-by: Neil Armstrong <narmstrong@baylibre.com>
Diffstat (limited to 'drivers/clk/meson/clk-pll.c')
-rw-r--r--drivers/clk/meson/clk-pll.c12
1 files changed, 1 insertions, 11 deletions
diff --git a/drivers/clk/meson/clk-pll.c b/drivers/clk/meson/clk-pll.c
index f3d909719111..0b9b4422c968 100644
--- a/drivers/clk/meson/clk-pll.c
+++ b/drivers/clk/meson/clk-pll.c
@@ -121,19 +121,9 @@ static int meson_clk_pll_wait_lock(struct clk_hw *hw)
{
struct clk_regmap *clk = to_clk_regmap(hw);
struct meson_clk_pll_data *pll = meson_clk_pll_data(clk);
- int delay = pll->flags & CLK_MESON_PLL_LOCK_LOOP_RST ?
- 100 : 24000000;
+ int delay = 24000000;
do {
- /* Specific wait loop for GXL/GXM GP0 PLL */
- if (pll->flags & CLK_MESON_PLL_LOCK_LOOP_RST) {
- /* Procedure taken from the vendor kernel */
- meson_parm_write(clk->map, &pll->rst, 1);
- udelay(10);
- meson_parm_write(clk->map, &pll->rst, 0);
- mdelay(1);
- }
-
/* Is the clock locked now ? */
if (meson_parm_read(clk->map, &pll->l))
return 0;