From 562e41bae5b76abd49eceebf8324a445a4b82450 Mon Sep 17 00:00:00 2001 From: Jack Halpin Date: Thu, 15 Oct 2009 19:48:26 +0000 Subject: AMS Sansa: FS#10669 Reimplement Voltage scaling. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Reimplement voltage scaling on AMS Sansas at 1.10v during unboosted operation to improve runtimes. The voltage is now also boosted during disk access if a µSD is present. This prevents the µSD problems we saw on the last implementation. git-svn-id: svn://svn.rockbox.org/rockbox/trunk@23193 a1c6a512-1295-4272-9138-f99709370657 --- firmware/target/arm/as3525/ata_sd_as3525.c | 21 +++++++++++++++++++++ 1 file changed, 21 insertions(+) (limited to 'firmware/target/arm/as3525/ata_sd_as3525.c') diff --git a/firmware/target/arm/as3525/ata_sd_as3525.c b/firmware/target/arm/as3525/ata_sd_as3525.c index 92dc0b746b..57dc307e7f 100644 --- a/firmware/target/arm/as3525/ata_sd_as3525.c +++ b/firmware/target/arm/as3525/ata_sd_as3525.c @@ -812,6 +812,11 @@ void sd_enable(bool on) #if defined(HAVE_BUTTON_LIGHT) && defined(HAVE_MULTIDRIVE) extern int buttonlight_is_on; #endif + +#ifdef HAVE_HOTSWAP + static bool cpu_boosted = false; +#endif + if (sd_enabled == on) return; /* nothing to do */ if(on) @@ -830,6 +835,14 @@ void sd_enable(bool on) CGU_IDE |= (1<<7) /* AHB interface enable */ | (1<<6) /* interface enable */; sd_enabled = true; + +#ifdef HAVE_HOTSWAP + if(card_detect_target()) /* If SD card present Boost cpu for voltage */ + { + cpu_boosted = true; + cpu_boost(true); + } +#endif } else { @@ -844,6 +857,14 @@ void sd_enable(bool on) #endif /* HAVE_MULTIDRIVE */ CGU_IDE &= ~((1<<7)|(1<<6)); sd_enabled = false; + +#ifdef HAVE_HOTSWAP + if(cpu_boosted) + { + cpu_boost(false); + cpu_boosted = false; + } +#endif } } -- cgit v1.2.3