summaryrefslogtreecommitdiffstats
path: root/arch/arm
diff options
context:
space:
mode:
authorShawn Guo <shawn.guo@linaro.org>2013-10-30 15:12:55 +0800
committerShawn Guo <shawn.guo@linaro.org>2013-11-11 22:58:44 +0800
commit322503a15740bd9383bb4ed452e5dd5a40598170 (patch)
tree0c005aea931efcd522b9ec215516d8ef0a2e740a /arch/arm
parentec9de6cd95a1ee326269699777301d5e1d5ddb75 (diff)
downloadop-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.c2
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)
OpenPOWER on IntegriCloud