From 8a4f5ad24d5f5e77b9807ef99425dda22be036a2 Mon Sep 17 00:00:00 2001 Message-Id: <8a4f5ad24d5f5e77b9807ef99425dda22be036a2.1255287643.git.jack.halpin@gmail.com> From: FlynDice Date: Sun, 11 Oct 2009 11:59:59 -0700 Subject: [PATCH] voltage scaling by simple boost --- firmware/export/config-e200v2.h | 3 +++ firmware/target/arm/as3525/ata_sd_as3525.c | 6 ++++++ firmware/target/arm/as3525/system-as3525.c | 2 +- 3 files changed, 10 insertions(+), 1 deletions(-) diff --git a/firmware/export/config-e200v2.h b/firmware/export/config-e200v2.h index dff99cd..8f729fe 100644 --- a/firmware/export/config-e200v2.h +++ b/firmware/export/config-e200v2.h @@ -198,6 +198,9 @@ /* Define this if you have adjustable CPU frequency */ #define HAVE_ADJUSTABLE_CPU_FREQ +/* Define this if you have adjustable CPU Voltage */ +#define HAVE_ADJUSTABLE_CPU_VOLTAGE + #define BOOTFILE_EXT "sansa" #define BOOTFILE "rockbox." BOOTFILE_EXT #define BOOTDIR "/.rockbox" diff --git a/firmware/target/arm/as3525/ata_sd_as3525.c b/firmware/target/arm/as3525/ata_sd_as3525.c index 33816d4..6e768ef 100644 --- a/firmware/target/arm/as3525/ata_sd_as3525.c +++ b/firmware/target/arm/as3525/ata_sd_as3525.c @@ -847,6 +847,9 @@ void sd_enable(bool on) #endif CGU_IDE |= (1<<7) /* AHB interface enable */ | (1<<6) /* interface enable */; +#ifdef HAVE_MULTIDRIVE + cpu_boost(true); /* raises core voltage for µSD card function */ +#endif sd_enabled = true; } else @@ -861,6 +864,9 @@ void sd_enable(bool on) CGU_PERI &= ~CGU_MCI_CLOCK_ENABLE; #endif CGU_IDE &= ~((1<<7)|(1<<6)); +#ifdef HAVE_MULTIDRIVE + cpu_boost(false); +#endif sd_enabled = false; } } diff --git a/firmware/target/arm/as3525/system-as3525.c b/firmware/target/arm/as3525/system-as3525.c index d68f2c4..9ccb079 100644 --- a/firmware/target/arm/as3525/system-as3525.c +++ b/firmware/target/arm/as3525/system-as3525.c @@ -367,7 +367,7 @@ void set_cpu_frequency(long frequency) : : : "r0" ); #ifdef HAVE_ADJUSTABLE_CPU_VOLTAGE /* Decreasing frequency so reduce voltage after change */ - ascodec_write(AS3514_CVDD_DCDC3, (AS314_CP_DCDC3_SETTING | CVDD_1_10)); + ascodec_write(AS3514_CVDD_DCDC3, (AS314_CP_DCDC3_SETTING | CVDD_1_05)); #endif cpu_frequency = CPUFREQ_NORMAL; } -- 1.6.0.4