aboutsummaryrefslogtreecommitdiffstats
path: root/arch/arm/mach-omap1/clock.c
diff options
context:
space:
mode:
authorJanusz Krzysztofik <jkrzyszt@tis.icnet.pl>2011-12-04 10:07:47 -0500
committerTony Lindgren <tony@atomide.com>2011-12-08 21:02:28 -0500
commitc116abc43df9ce3ebe5fbf2fbd6ae2edd6a9bd87 (patch)
tree192d5179faf468851e1782273a788d275e0c8213 /arch/arm/mach-omap1/clock.c
parentf9e5908fa04e15a681dc4695b53c2c0c1d9b9a03 (diff)
ARM: OMAP1: Always reprogram dpll1 rate at boot
DPLL1 reprogramming to a different rate is actually blocked inside omap1_select_table_rate(). However, it is already forced at boot, for boards which boot at unusable clock rates, and this seems to work correctly. OTOH, we now have a fine, run time performed clock selection algorithm implemented, which prevents less powerfull SoCs from being overclocked unintentionally. Allow reprogramming of dpll1 by default, and use it for switching to the higest supported clock rate with all boards, including those already booting at a usable rate of 60 MHz or above. Created against linux-omap/master tip as of Thu Dec 1, commit f83c2a8cbb59981722d1ab610c79adfd034a2667. Requires the just submitted patch "ARM: OMAP1: Move dpll1 rates selection from config to runtime" to prevent from unintentional overclocking. Tested on Amstrad Delta. Signed-off-by: Janusz Krzysztofik <jkrzyszt@tis.icnet.pl> Signed-off-by: Tony Lindgren <tony@atomide.com>
Diffstat (limited to 'arch/arm/mach-omap1/clock.c')
-rw-r--r--arch/arm/mach-omap1/clock.c4
1 files changed, 0 insertions, 4 deletions
diff --git a/arch/arm/mach-omap1/clock.c b/arch/arm/mach-omap1/clock.c
index 6d8f7c640237..0c50df05d135 100644
--- a/arch/arm/mach-omap1/clock.c
+++ b/arch/arm/mach-omap1/clock.c
@@ -203,10 +203,6 @@ int omap1_select_table_rate(struct clk *clk, unsigned long rate)
203 if (ptr->xtal != ref_rate) 203 if (ptr->xtal != ref_rate)
204 continue; 204 continue;
205 205
206 /* DPLL1 cannot be reprogrammed without risking system crash */
207 if (likely(dpll1_rate != 0) && ptr->pll_rate != dpll1_rate)
208 continue;
209
210 /* Can check only after xtal frequency check */ 206 /* Can check only after xtal frequency check */
211 if (ptr->rate <= rate) 207 if (ptr->rate <= rate)
212 break; 208 break;