FS#11765: Improve AMSv1 Battery Life by Lowering CPU and Peripheral clocks. Unboosted CPU and peripheral clock is now 31MHz. Boosted CPU and pclk are 186MHz and 62MHz, respectively.

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@28834 a1c6a512-1295-4272-9138-f99709370657
This commit is contained in:
Fred Bauer 2010-12-14 22:08:43 +00:00
parent 990cbf302e
commit 279dff1c21
4 changed files with 94 additions and 16 deletions

View file

@ -182,7 +182,12 @@ static int calc_freq(int clk)
return 0;
}
case CLK_I2C:
return calc_freq(CLK_PCLK)/AS3525_I2C_PRESCALER;
#if CONFIG_CPU == AS3525
if (cpu_frequency == CPUFREQ_MAX)
return calc_freq(CLK_PCLK)/AS3525_I2C_PRESCALER_BOOSTED;
else
#endif
return calc_freq(CLK_PCLK)/AS3525_I2C_PRESCALER;
case CLK_I2SI:
switch((CGU_AUDIO>>12) & 3) {
case 0:
@ -218,7 +223,7 @@ static int calc_freq(int clk)
case CLK_SD_MCLK_MSD:
if(!(MCI_SD & (1<<8)))
return 0;
else if(MCI_SD & (1<<10))
else if(MCI_SD & (1<<10)) /* bypass */
return calc_freq(CLK_PCLK);
else
return calc_freq(CLK_PCLK)/(((MCI_SD & 0xff)+1)*2);
@ -347,7 +352,7 @@ bool __dbg_hw_info(void)
calc_freq(CLK_SD_MCLK_NAND)/1000000);
#ifdef HAVE_MULTIDRIVE
lcd_putsf(0, line++, "uSD :%3dMHz %3dMHz",
((AS3525_PCLK_FREQ/ 1000000) /
((calc_freq(CLK_PCLK)/ 1000000) /
((last_sd & MCI_CLOCK_BYPASS) ? 1: (((last_sd & 0xff) + 1) * 2))),
calc_freq(CLK_SD_MCLK_MSD)/1000000);
#endif