Skip to content

Commit

Permalink
ARM: OMAP1: Fix reprogramming of DPLL1 for systems that boot at rates…
Browse files Browse the repository at this point in the history
… below 60MHz

Commit e9b7086 (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>
  • Loading branch information
Tony Lindgren committed Dec 2, 2011
1 parent 5611cc4 commit 650f7a7
Showing 1 changed file with 3 additions and 0 deletions.
3 changes: 3 additions & 0 deletions arch/arm/mach-omap1/clock_data.c
Original file line number Diff line number Diff line change
Expand Up @@ -930,6 +930,9 @@ void __init omap1_clk_late_init(void)
if (ck_dpll1.rate >= OMAP1_DPLL1_SANE_VALUE)
return;

/* System booting at unusable rate, force reprogramming of DPLL1 */
ck_dpll1_p->rate = 0;

/* Find the highest supported frequency and enable it */
if (omap1_select_table_rate(&virtual_ck_mpu, ~0)) {
pr_err("System frequencies not set, using default. Check your config.\n");
Expand Down

0 comments on commit 650f7a7

Please sign in to comment.