diff options
author | Shawn Guo <shawn.guo@linaro.org> | 2013-10-30 11:12:55 +0400 |
---|---|---|
committer | Shawn Guo <shawn.guo@linaro.org> | 2013-11-11 18:58:44 +0400 |
commit | 322503a15740bd9383bb4ed452e5dd5a40598170 (patch) | |
tree | 0c005aea931efcd522b9ec215516d8ef0a2e740a | |
parent | ec9de6cd95a1ee326269699777301d5e1d5ddb75 (diff) | |
download | linux-322503a15740bd9383bb4ed452e5dd5a40598170.tar.xz |
ARM: imx: add sleep for pllv3 relock
The pllv3 relock time varies in the range of 50us ~ 500us, depending on
the specific PLL type, e.g. 50us for ARM PLL and 450us for Audio/Video
PLL. Let's add a usleep_range() call instead of doing busy wait during
relock.
Signed-off-by: Shawn Guo <shawn.guo@linaro.org>
-rw-r--r-- | arch/arm/mach-imx/clk-pllv3.c | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/arch/arm/mach-imx/clk-pllv3.c b/arch/arm/mach-imx/clk-pllv3.c index f6640b6a7b31..c9ca19184420 100644 --- a/arch/arm/mach-imx/clk-pllv3.c +++ b/arch/arm/mach-imx/clk-pllv3.c @@ -12,6 +12,7 @@ #include <linux/clk.h> #include <linux/clk-provider.h> +#include <linux/delay.h> #include <linux/io.h> #include <linux/slab.h> #include <linux/jiffies.h> @@ -66,6 +67,7 @@ static int clk_pllv3_prepare(struct clk_hw *hw) break; if (time_after(jiffies, timeout)) break; + usleep_range(50, 500); } while (1); if (readl_relaxed(pll->base) & BM_PLL_LOCK) |