summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorVaibhav Hiremath <hvaibhav@ti.com>2013-03-31 20:22:21 -0600
committerPaul Walmsley <paul@pwsan.com>2013-03-31 20:22:21 -0600
commitda91b89eb76d4ecddcfc7fca3b8422891eb5e62e (patch)
treea24460a60ba3fd9f9ee1ae4fed8b9a3e53731b12
parent05cf03b6eb7f791ad70b1540df2c39b54d428258 (diff)
downloadlinux-3.10-da91b89eb76d4ecddcfc7fca3b8422891eb5e62e.tar.gz
linux-3.10-da91b89eb76d4ecddcfc7fca3b8422891eb5e62e.tar.bz2
linux-3.10-da91b89eb76d4ecddcfc7fca3b8422891eb5e62e.zip
ARM: OMAP2+: am335x: Change the wdt1 func clk src to per_32k clk
WDT1 module can take one of the below clocks as input functional clock - - On-Chip 32K RC Osc [default/reset] - 32K from PRCM The On-Chip 32K RC Osc clock is not an accurate clock-source as per the design/spec, so as a result, for example, timer which supposed to get expired @60Sec, but will expire somewhere ~@40Sec, which is not expected by any use-case. The solution here is to switch the input clock-source to PRCM generated 32K clock-source during boot-time itself. Signed-off-by: Vaibhav Hiremath <hvaibhav@ti.com> Cc: Santosh Shilimkar <santosh.shilimkar@ti.com> Cc: Benoit Cousson <benoit.cousson@linaro.org> Cc: Paul Walmsley <paul@pwsan.com>
-rw-r--r--arch/arm/mach-omap2/cclock33xx_data.c8
1 files changed, 8 insertions, 0 deletions
diff --git a/arch/arm/mach-omap2/cclock33xx_data.c b/arch/arm/mach-omap2/cclock33xx_data.c
index 476b82066cb..7f091c85384 100644
--- a/arch/arm/mach-omap2/cclock33xx_data.c
+++ b/arch/arm/mach-omap2/cclock33xx_data.c
@@ -958,6 +958,14 @@ int __init am33xx_clk_init(void)
clk_set_parent(&timer3_fck, &sys_clkin_ck);
clk_set_parent(&timer6_fck, &sys_clkin_ck);
+ /*
+ * The On-Chip 32K RC Osc clock is not an accurate clock-source as per
+ * the design/spec, so as a result, for example, timer which supposed
+ * to get expired @60Sec, but will expire somewhere ~@40Sec, which is
+ * not expected by any use-case, so change WDT1 clock source to PRCM
+ * 32KHz clock.
+ */
+ clk_set_parent(&wdt1_fck, &clkdiv32k_ick);
return 0;
}