diff options
author | William Wilgus <me.theuser@yahoo.com> | 2018-07-27 23:56:32 +0200 |
---|---|---|
committer | William Wilgus <me.theuser@yahoo.com> | 2018-07-27 23:56:32 +0200 |
commit | 6f0320a9535bc1aa81d83fa879ac14d5ee603658 (patch) | |
tree | 3b12fc361595ecd2249f391e114036cb30150105 /firmware/export | |
parent | 400603abdfb4ba7566e0cae8dbed9268f06716dc (diff) | |
download | rockbox-6f0320a9535bc1aa81d83fa879ac14d5ee603658.tar.gz rockbox-6f0320a9535bc1aa81d83fa879ac14d5ee603658.zip |
As3525 v1/v2 Add power savings menu
Allow user to select cpu undervolt
There have been quite a few issues across the SANSA AMS line related
to CPU undervolting while most players show greatly increased runtime
some crash.
Rather than constanly upping the voltage we now have a
setting with a safe value for all players and the option for lower voltages
I plan to add a few other options here later such as disk
timings and maybe some other clocks/experimental settings
Added: Disk Low speed option for AS3525v2 devices cuts
frequency to 12 MHz from 24 MHz
Added: Disk Low speed option for AS3525v1 devices cuts
frequency to 15.5 MHz from 31 MHz
Added: I2c Low Speed AS3525 devices, should be bigger improvement for v1 devices
Fixed: Debug menu for AS3525v2 No SDSLOT frequency,
Showed IDE freq though it is unused
Added: DBOP and SSP underclocking affects display on v1/v2 respectively
Fixed: debug menu now has SSP frequency, and SSP_CPSR
Update: made settings menu more generic
Update: cleaned up code
Added: Clip v1 & Fuze v1 didn't have HAVE_ADJUSTABLE_CPU_VOLTAGE.
not sure why but, waiting on testing to confirm
Added: C200v2 and E200v2 devices and HAVE_ADJUSTABLE_CPU_VOLTAGE.
Fixed: v1 devices don't like display timing set lower (dbop)
v1 devices don't have a divider set for ssp (causes divide by 0)
Fixed: ClipZip display lags with Max SSP divider changed from 0xFE to 0x32
Fixed: v1 devices didn't work properly with highspeed sd cards
Added code from http://gerrit.rockbox.org/r/#/c/1704/
Added powersave and IDE interface enable/disable
Added: V2 devices now have powersave enabled on sd interface
Update: cleaned up code, lang defines, added manual entries
Update ssp clock mechanism added calculated ssp divider to clipzip
Update turn display clock off when clip+ turns off display
Fixed: clipzip wrong register for SSP clock
Change-Id: I04137682243be92f0f8d8bf1cfa54fbb1965559b
TODO: add other players?
Diffstat (limited to 'firmware/export')
-rw-r--r-- | firmware/export/config.h | 6 | ||||
-rw-r--r-- | firmware/export/config/sansac200v2.h | 8 | ||||
-rw-r--r-- | firmware/export/config/sansaclip.h | 8 | ||||
-rw-r--r-- | firmware/export/config/sansaclipplus.h | 5 | ||||
-rw-r--r-- | firmware/export/config/sansaclipv2.h | 5 | ||||
-rw-r--r-- | firmware/export/config/sansaclipzip.h | 5 | ||||
-rw-r--r-- | firmware/export/config/sansae200v2.h | 8 | ||||
-rw-r--r-- | firmware/export/config/sansafuze.h | 8 | ||||
-rw-r--r-- | firmware/export/config/sansafuzev2.h | 5 |
9 files changed, 58 insertions, 0 deletions
diff --git a/firmware/export/config.h b/firmware/export/config.h index 14664257bf..e362000c18 100644 --- a/firmware/export/config.h +++ b/firmware/export/config.h | |||
@@ -168,6 +168,12 @@ | |||
168 | #define SONY_NWZA860_PAD 64 /* The NWZ-A860 is too different (touchscreen) */ | 168 | #define SONY_NWZA860_PAD 64 /* The NWZ-A860 is too different (touchscreen) */ |
169 | #define AGPTEK_ROCKER_PAD 65 | 169 | #define AGPTEK_ROCKER_PAD 65 |
170 | 170 | ||
171 | /* CONFIG_POWER_SAVE combinable bit flags*/ | ||
172 | #define POWERSV_CPU 0x1 | ||
173 | #define POWERSV_I2C 0x2 | ||
174 | #define POWERSV_DISK 0x4 | ||
175 | #define POWERSV_DISP 0x8 | ||
176 | |||
171 | /* CONFIG_REMOTE_KEYPAD */ | 177 | /* CONFIG_REMOTE_KEYPAD */ |
172 | #define H100_REMOTE 1 | 178 | #define H100_REMOTE 1 |
173 | #define H300_REMOTE 2 | 179 | #define H300_REMOTE 2 |
diff --git a/firmware/export/config/sansac200v2.h b/firmware/export/config/sansac200v2.h index a51f9e3b00..98fbb570fb 100644 --- a/firmware/export/config/sansac200v2.h +++ b/firmware/export/config/sansac200v2.h | |||
@@ -193,6 +193,14 @@ | |||
193 | /* Define this if you have adjustable CPU frequency */ | 193 | /* Define this if you have adjustable CPU frequency */ |
194 | #define HAVE_ADJUSTABLE_CPU_FREQ | 194 | #define HAVE_ADJUSTABLE_CPU_FREQ |
195 | 195 | ||
196 | /*define this to enable CPU voltage scaling on AMS devices*/ | ||
197 | #define HAVE_ADJUSTABLE_CPU_VOLTAGE | ||
198 | |||
199 | #ifndef BOOTLOADER | ||
200 | /*define this with flags for power saving options device supports*/ | ||
201 | #define CONFIG_POWER_SAVING (POWERSV_CPU | POWERSV_I2C | POWERSV_DISK) | ||
202 | #endif | ||
203 | |||
196 | #define BOOTFILE_EXT "sansa" | 204 | #define BOOTFILE_EXT "sansa" |
197 | #define BOOTFILE "rockbox." BOOTFILE_EXT | 205 | #define BOOTFILE "rockbox." BOOTFILE_EXT |
198 | #define BOOTDIR "/.rockbox" | 206 | #define BOOTDIR "/.rockbox" |
diff --git a/firmware/export/config/sansaclip.h b/firmware/export/config/sansaclip.h index cdee43d44a..f0300c2ac1 100644 --- a/firmware/export/config/sansaclip.h +++ b/firmware/export/config/sansaclip.h | |||
@@ -186,6 +186,14 @@ | |||
186 | /* Define this if you have adjustable CPU frequency */ | 186 | /* Define this if you have adjustable CPU frequency */ |
187 | #define HAVE_ADJUSTABLE_CPU_FREQ | 187 | #define HAVE_ADJUSTABLE_CPU_FREQ |
188 | 188 | ||
189 | /*define this to enable CPU voltage scaling on AMS devices*/ | ||
190 | #define HAVE_ADJUSTABLE_CPU_VOLTAGE | ||
191 | |||
192 | #ifndef BOOTLOADER | ||
193 | /*define this with flags for power saving options device supports*/ | ||
194 | #define CONFIG_POWER_SAVING (POWERSV_CPU | POWERSV_I2C | POWERSV_DISK) | ||
195 | #endif | ||
196 | |||
189 | #define BOOTFILE_EXT "sansa" | 197 | #define BOOTFILE_EXT "sansa" |
190 | #define BOOTFILE "rockbox." BOOTFILE_EXT | 198 | #define BOOTFILE "rockbox." BOOTFILE_EXT |
191 | #define BOOTDIR "/.rockbox" | 199 | #define BOOTDIR "/.rockbox" |
diff --git a/firmware/export/config/sansaclipplus.h b/firmware/export/config/sansaclipplus.h index addf7d86c0..9a307420f4 100644 --- a/firmware/export/config/sansaclipplus.h +++ b/firmware/export/config/sansaclipplus.h | |||
@@ -206,6 +206,11 @@ | |||
206 | /*define this to enable CPU voltage scaling on AMS devices*/ | 206 | /*define this to enable CPU voltage scaling on AMS devices*/ |
207 | #define HAVE_ADJUSTABLE_CPU_VOLTAGE | 207 | #define HAVE_ADJUSTABLE_CPU_VOLTAGE |
208 | 208 | ||
209 | #ifndef BOOTLOADER | ||
210 | /*define this with flags for power saving options device supports*/ | ||
211 | #define CONFIG_POWER_SAVING (POWERSV_CPU | POWERSV_I2C | POWERSV_DISK | POWERSV_DISP) | ||
212 | #endif | ||
213 | |||
209 | #define BOOTFILE_EXT "sansa" | 214 | #define BOOTFILE_EXT "sansa" |
210 | #define BOOTFILE "rockbox." BOOTFILE_EXT | 215 | #define BOOTFILE "rockbox." BOOTFILE_EXT |
211 | #define BOOTDIR "/.rockbox" | 216 | #define BOOTDIR "/.rockbox" |
diff --git a/firmware/export/config/sansaclipv2.h b/firmware/export/config/sansaclipv2.h index cf3f90e363..81a0d4703f 100644 --- a/firmware/export/config/sansaclipv2.h +++ b/firmware/export/config/sansaclipv2.h | |||
@@ -200,6 +200,11 @@ | |||
200 | /*define this to enable CPU voltage scaling on AMS devices*/ | 200 | /*define this to enable CPU voltage scaling on AMS devices*/ |
201 | #define HAVE_ADJUSTABLE_CPU_VOLTAGE | 201 | #define HAVE_ADJUSTABLE_CPU_VOLTAGE |
202 | 202 | ||
203 | #ifndef BOOTLOADER | ||
204 | /*define this with flags for power saving options device supports*/ | ||
205 | #define CONFIG_POWER_SAVING (POWERSV_CPU | POWERSV_I2C | POWERSV_DISK) | ||
206 | #endif | ||
207 | |||
203 | #define BOOTFILE_EXT "sansa" | 208 | #define BOOTFILE_EXT "sansa" |
204 | #define BOOTFILE "rockbox." BOOTFILE_EXT | 209 | #define BOOTFILE "rockbox." BOOTFILE_EXT |
205 | #define BOOTDIR "/.rockbox" | 210 | #define BOOTDIR "/.rockbox" |
diff --git a/firmware/export/config/sansaclipzip.h b/firmware/export/config/sansaclipzip.h index fc9f558eef..8464603c34 100644 --- a/firmware/export/config/sansaclipzip.h +++ b/firmware/export/config/sansaclipzip.h | |||
@@ -205,6 +205,11 @@ | |||
205 | /*define this to enable CPU voltage scaling on AMS devices*/ | 205 | /*define this to enable CPU voltage scaling on AMS devices*/ |
206 | #define HAVE_ADJUSTABLE_CPU_VOLTAGE | 206 | #define HAVE_ADJUSTABLE_CPU_VOLTAGE |
207 | 207 | ||
208 | #ifndef BOOTLOADER | ||
209 | /*define this with flags for power saving options device supports*/ | ||
210 | #define CONFIG_POWER_SAVING (POWERSV_CPU | POWERSV_I2C | POWERSV_DISK | POWERSV_DISP) | ||
211 | #endif | ||
212 | |||
208 | #define BOOTFILE_EXT "sansa" | 213 | #define BOOTFILE_EXT "sansa" |
209 | #define BOOTFILE "rockbox." BOOTFILE_EXT | 214 | #define BOOTFILE "rockbox." BOOTFILE_EXT |
210 | #define BOOTDIR "/.rockbox" | 215 | #define BOOTDIR "/.rockbox" |
diff --git a/firmware/export/config/sansae200v2.h b/firmware/export/config/sansae200v2.h index 96b51f4e12..50e1843189 100644 --- a/firmware/export/config/sansae200v2.h +++ b/firmware/export/config/sansae200v2.h | |||
@@ -213,6 +213,14 @@ | |||
213 | /* Define this if you have adjustable CPU frequency */ | 213 | /* Define this if you have adjustable CPU frequency */ |
214 | #define HAVE_ADJUSTABLE_CPU_FREQ | 214 | #define HAVE_ADJUSTABLE_CPU_FREQ |
215 | 215 | ||
216 | /*define this to enable CPU voltage scaling on AMS devices*/ | ||
217 | #define HAVE_ADJUSTABLE_CPU_VOLTAGE | ||
218 | |||
219 | #ifndef BOOTLOADER | ||
220 | /*define this with flags for power saving options device supports*/ | ||
221 | #define CONFIG_POWER_SAVING (POWERSV_CPU | POWERSV_I2C | POWERSV_DISK) | ||
222 | #endif | ||
223 | |||
216 | #define BOOTFILE_EXT "sansa" | 224 | #define BOOTFILE_EXT "sansa" |
217 | #define BOOTFILE "rockbox." BOOTFILE_EXT | 225 | #define BOOTFILE "rockbox." BOOTFILE_EXT |
218 | #define BOOTDIR "/.rockbox" | 226 | #define BOOTDIR "/.rockbox" |
diff --git a/firmware/export/config/sansafuze.h b/firmware/export/config/sansafuze.h index fae3463d75..dedf8c44da 100644 --- a/firmware/export/config/sansafuze.h +++ b/firmware/export/config/sansafuze.h | |||
@@ -219,6 +219,14 @@ | |||
219 | /* Define this if you have adjustable CPU frequency */ | 219 | /* Define this if you have adjustable CPU frequency */ |
220 | #define HAVE_ADJUSTABLE_CPU_FREQ | 220 | #define HAVE_ADJUSTABLE_CPU_FREQ |
221 | 221 | ||
222 | /*define this to enable CPU voltage scaling on AMS devices*/ | ||
223 | #define HAVE_ADJUSTABLE_CPU_VOLTAGE | ||
224 | |||
225 | #ifndef BOOTLOADER | ||
226 | /*define this with flags for power saving options device supports*/ | ||
227 | #define CONFIG_POWER_SAVING (POWERSV_CPU | POWERSV_I2C | POWERSV_DISK) | ||
228 | #endif | ||
229 | |||
222 | #define BOOTFILE_EXT "sansa" | 230 | #define BOOTFILE_EXT "sansa" |
223 | #define BOOTFILE "rockbox." BOOTFILE_EXT | 231 | #define BOOTFILE "rockbox." BOOTFILE_EXT |
224 | #define BOOTDIR "/.rockbox" | 232 | #define BOOTDIR "/.rockbox" |
diff --git a/firmware/export/config/sansafuzev2.h b/firmware/export/config/sansafuzev2.h index b85e0747a3..3190930b56 100644 --- a/firmware/export/config/sansafuzev2.h +++ b/firmware/export/config/sansafuzev2.h | |||
@@ -224,6 +224,11 @@ | |||
224 | /*define this to enable CPU voltage scaling on AMS devices*/ | 224 | /*define this to enable CPU voltage scaling on AMS devices*/ |
225 | #define HAVE_ADJUSTABLE_CPU_VOLTAGE | 225 | #define HAVE_ADJUSTABLE_CPU_VOLTAGE |
226 | 226 | ||
227 | #ifndef BOOTLOADER | ||
228 | /*define this with flags for power saving options device supports*/ | ||
229 | #define CONFIG_POWER_SAVING (POWERSV_CPU | POWERSV_I2C | POWERSV_DISK) | ||
230 | #endif | ||
231 | |||
227 | #define BOOTFILE_EXT "sansa" | 232 | #define BOOTFILE_EXT "sansa" |
228 | #define BOOTFILE "rockbox." BOOTFILE_EXT | 233 | #define BOOTFILE "rockbox." BOOTFILE_EXT |
229 | #define BOOTDIR "/.rockbox" | 234 | #define BOOTDIR "/.rockbox" |