aboutsummaryrefslogtreecommitdiffstats
path: root/arch/arm/mach-omap1/clock_data.c
diff options
context:
space:
mode:
authorTony Lindgren <tony@atomide.com>2011-12-01 20:47:06 -0500
committerTony Lindgren <tony@atomide.com>2011-12-01 20:47:06 -0500
commit650f7a72b8cc235ffe4a0e3eff37954349026721 (patch)
treee11c493ab95ac78e8ab7d0da8eaf4e590408fa67 /arch/arm/mach-omap1/clock_data.c
parent5611cc4572e889b62a7b4c72a413536bf6a9c416 (diff)
ARM: OMAP1: Fix reprogramming of DPLL1 for systems that boot at rates below 60MHz
Commit e9b7086b80c4d9e354f4edc9e280ae85a60df408 (ARM: OMAP: Fix reprogramming of dpll1 rate) fixed a regression for systems that did not rely on bootloader set rates. However, it also introduced a new problem where the rates selected in .config would not take affect as omap1_select_table_rate currently refuses to reprogram DPLL1 if it's already initialized. This was not a problem earlier, as the reprogramming was done earlier with ck_dpll1_p->rate uninitialized. Fix this by forcing the reprogramming on systems booting at rates below 60MHz. Note that the long term fix is to make the rates SoC specific later on. Thanks for Janusz Krzysztofik <jkrzyszt@tis.icnet.pl> for figuring this one out. Reported-by: Janusz Krzysztofik <jkrzyszt@tis.icnet.pl> Acked-by: Janusz Krzysztofik <jkrzyszt@tis.icnet.pl> Signed-off-by: Tony Lindgren <tony@atomide.com>
Diffstat (limited to 'arch/arm/mach-omap1/clock_data.c')
-rw-r--r--arch/arm/mach-omap1/clock_data.c3
1 files changed, 3 insertions, 0 deletions
diff --git a/arch/arm/mach-omap1/clock_data.c b/arch/arm/mach-omap1/clock_data.c
index 1297bb58869c..3f305610efa0 100644
--- a/arch/arm/mach-omap1/clock_data.c
+++ b/arch/arm/mach-omap1/clock_data.c
@@ -930,6 +930,9 @@ void __init omap1_clk_late_init(void)
930 if (ck_dpll1.rate >= OMAP1_DPLL1_SANE_VALUE) 930 if (ck_dpll1.rate >= OMAP1_DPLL1_SANE_VALUE)
931 return; 931 return;
932 932
933 /* System booting at unusable rate, force reprogramming of DPLL1 */
934 ck_dpll1_p->rate = 0;
935
933 /* Find the highest supported frequency and enable it */ 936 /* Find the highest supported frequency and enable it */
934 if (omap1_select_table_rate(&virtual_ck_mpu, ~0)) { 937 if (omap1_select_table_rate(&virtual_ck_mpu, ~0)) {
935 pr_err("System frequencies not set, using default. Check your config.\n"); 938 pr_err("System frequencies not set, using default. Check your config.\n");