|
@@ -77,15 +77,14 @@ static void __init bfin_init_tables(unsigned long cclk, unsigned long sclk)
|
|
|
csel = bfin_read32(CGU0_DIV) & 0x1F;
|
|
|
#endif
|
|
|
|
|
|
- for (index = 0; (cclk >> index) >= min_cclk && csel <= 3; index++, csel++) {
|
|
|
+ for (index = 0; (cclk >> index) >= min_cclk && csel <= 3 && index < 3; index++, csel++) {
|
|
|
bfin_freq_table[index].frequency = cclk >> index;
|
|
|
#ifndef CONFIG_BF60x
|
|
|
dpm_state_table[index].csel = csel << 4; /* Shift now into PLL_DIV bitpos */
|
|
|
- dpm_state_table[index].tscale = (TIME_SCALE / (1 << csel)) - 1;
|
|
|
#else
|
|
|
dpm_state_table[index].csel = csel;
|
|
|
- dpm_state_table[index].tscale = TIME_SCALE >> index;
|
|
|
#endif
|
|
|
+ dpm_state_table[index].tscale = (TIME_SCALE >> index) - 1;
|
|
|
|
|
|
pr_debug("cpufreq: freq:%d csel:0x%x tscale:%d\n",
|
|
|
bfin_freq_table[index].frequency,
|