forked from len0rd/rockbox
Coldfire: (1) Keep the correct CRSEL and CLSEL values in the PLLCR register for CPUFREQ_DEFAULT. Fixes non-working treble & bass controls in radio screen. (2) Save a bit more power by powering down the PLL at CPUFREQ_DEFAULT.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@7629 a1c6a512-1295-4272-9138-f99709370657
This commit is contained in:
parent
3de190d9d7
commit
9322009446
1 changed files with 4 additions and 1 deletions
|
@ -584,6 +584,8 @@ int system_memory_guard(int newmode)
|
||||||
void set_cpu_frequency (long) __attribute__ ((section (".icode")));
|
void set_cpu_frequency (long) __attribute__ ((section (".icode")));
|
||||||
void set_cpu_frequency(long frequency)
|
void set_cpu_frequency(long frequency)
|
||||||
{
|
{
|
||||||
|
int i;
|
||||||
|
|
||||||
switch(frequency)
|
switch(frequency)
|
||||||
{
|
{
|
||||||
case CPUFREQ_MAX:
|
case CPUFREQ_MAX:
|
||||||
|
@ -622,8 +624,9 @@ void set_cpu_frequency(long frequency)
|
||||||
default:
|
default:
|
||||||
DCR = (DCR & ~0x01ff) | DEFAULT_REFRESH_TIMER;
|
DCR = (DCR & ~0x01ff) | DEFAULT_REFRESH_TIMER;
|
||||||
/* Refresh timer for bypass frequency */
|
/* Refresh timer for bypass frequency */
|
||||||
PLLCR = 0x00000000; /* Bypass mode */
|
PLLCR &= ~1; /* Bypass mode */
|
||||||
timers_adjust_prescale(CPUFREQ_DEFAULT_MULT, true);
|
timers_adjust_prescale(CPUFREQ_DEFAULT_MULT, true);
|
||||||
|
PLLCR = 0x10800200; /* Power down PLL, but keep CLSEL and CRSEL */
|
||||||
CSCR0 = 0x00000180; /* Flash: 0 wait states */
|
CSCR0 = 0x00000180; /* Flash: 0 wait states */
|
||||||
CSCR1 = 0x00000180; /* LCD: 0 wait states */
|
CSCR1 = 0x00000180; /* LCD: 0 wait states */
|
||||||
cpu_frequency = CPUFREQ_DEFAULT;
|
cpu_frequency = CPUFREQ_DEFAULT;
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue