diff options
author | Shawn Guo <shawn.guo@linaro.org> | 2013-10-30 15:12:55 +0800 |
---|---|---|
committer | Shawn Guo <shawn.guo@linaro.org> | 2013-11-11 22:58:44 +0800 |
commit | 322503a15740bd9383bb4ed452e5dd5a40598170 (patch) | |
tree | 0c005aea931efcd522b9ec215516d8ef0a2e740a /arch/arm | |
parent | ec9de6cd95a1ee326269699777301d5e1d5ddb75 (diff) | |
download | op-kernel-dev-322503a15740bd9383bb4ed452e5dd5a40598170.zip op-kernel-dev-322503a15740bd9383bb4ed452e5dd5a40598170.tar.gz |
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>
Diffstat (limited to 'arch/arm')
-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 f6640b6..c9ca191 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) |