diff options
author | Michael Giacomelli <giac2000@hotmail.com> | 2008-02-10 05:39:20 +0000 |
---|---|---|
committer | Michael Giacomelli <giac2000@hotmail.com> | 2008-02-10 05:39:20 +0000 |
commit | 054447f9e6037e4feb1a4c4313bd0afd4eb382a6 (patch) | |
tree | 57d78a645d2700d78a66f1807cc26dca9b6c45c9 /firmware/export | |
parent | 2b3136e1f350721fa65cc304cad7a00504390850 (diff) | |
download | rockbox-054447f9e6037e4feb1a4c4313bd0afd4eb382a6.tar.gz rockbox-054447f9e6037e4feb1a4c4313bd0afd4eb382a6.zip |
Commit FS#8379 by Andree Buschmann. Disables much of the remaining unneeded hardware on PP50xx targets (Ipods, Sansa, H10s, etc) resulting in a large savings in power and consequent increase in battery life. Results vary from target to target and from codec to codec, but we now approach the OF runtime on several PP devices. For now, leave base CPU clock at 30MHz, although further savings is possible with some codecs if clock is reduced. Additionally, fix battery capacity on c200 and use my measurements to improve runtime estimation for Sandisk targets.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@16259 a1c6a512-1295-4272-9138-f99709370657
Diffstat (limited to 'firmware/export')
-rw-r--r-- | firmware/export/config-c200.h | 6 | ||||
-rw-r--r-- | firmware/export/powermgmt.h | 18 | ||||
-rw-r--r-- | firmware/export/pp5020.h | 7 |
3 files changed, 20 insertions, 11 deletions
diff --git a/firmware/export/config-c200.h b/firmware/export/config-c200.h index 53ff97326a..a0bb1aeb2c 100644 --- a/firmware/export/config-c200.h +++ b/firmware/export/config-c200.h | |||
@@ -113,9 +113,9 @@ | |||
113 | /* define this if you have a flash memory storage */ | 113 | /* define this if you have a flash memory storage */ |
114 | #define HAVE_FLASH_STORAGE | 114 | #define HAVE_FLASH_STORAGE |
115 | 115 | ||
116 | #define BATTERY_CAPACITY_DEFAULT 750 /* default battery capacity */ | 116 | #define BATTERY_CAPACITY_DEFAULT 530 /* default battery capacity */ |
117 | #define BATTERY_CAPACITY_MIN 750 /* min. capacity selectable */ | 117 | #define BATTERY_CAPACITY_MIN 530 /* min. capacity selectable */ |
118 | #define BATTERY_CAPACITY_MAX 750 /* max. capacity selectable */ | 118 | #define BATTERY_CAPACITY_MAX 530 /* max. capacity selectable */ |
119 | #define BATTERY_CAPACITY_INC 0 /* capacity increment */ | 119 | #define BATTERY_CAPACITY_INC 0 /* capacity increment */ |
120 | #define BATTERY_TYPES_COUNT 1 /* only one type */ | 120 | #define BATTERY_TYPES_COUNT 1 /* only one type */ |
121 | 121 | ||
diff --git a/firmware/export/powermgmt.h b/firmware/export/powermgmt.h index 0666b5af37..56e14b3741 100644 --- a/firmware/export/powermgmt.h +++ b/firmware/export/powermgmt.h | |||
@@ -105,22 +105,26 @@ extern int trickle_sec; /* trickle charge: How many seconds per minute | |||
105 | # define CURRENT_BACKLIGHT 23 /* FIXME: This needs to be measured, copied from H100 */ | 105 | # define CURRENT_BACKLIGHT 23 /* FIXME: This needs to be measured, copied from H100 */ |
106 | # define CURRENT_RECORD 110 /* additional current while recording */ | 106 | # define CURRENT_RECORD 110 /* additional current while recording */ |
107 | #elif defined(IPOD_NANO) /* iPOD Nano */ | 107 | #elif defined(IPOD_NANO) /* iPOD Nano */ |
108 | # define CURRENT_NORMAL 35 /* 8.5-9.0h playback out of 300mAh battery from IpodRuntime */ | 108 | # define CURRENT_NORMAL 32 /* MP3: ~9h playback out of 300mAh battery */ |
109 | # define CURRENT_BACKLIGHT 20 /* FIXME: this needs adjusting */ | 109 | # define CURRENT_BACKLIGHT 20 /* FIXME: this needs adjusting */ |
110 | #if defined(HAVE_RECORDING) | 110 | #if defined(HAVE_RECORDING) |
111 | # define CURRENT_RECORD 35 /* FIXME: this needs adjusting */ | 111 | # define CURRENT_RECORD 35 /* FIXME: this needs adjusting */ |
112 | #endif | 112 | #endif |
113 | #elif defined(IPOD_VIDEO) /* iPOD Video */ | 113 | #elif defined(IPOD_VIDEO) /* iPOD Video */ |
114 | # define CURRENT_NORMAL 42 /* 9.5h out of 400mAh battery (30GB) or 14h out of 600mAh (60GB) from IpodRuntime */ | 114 | # define CURRENT_NORMAL 35 /* MP3: ~11h out of 400mAh battery (30GB) or ~17h out of 600mAh (60GB) */ |
115 | # define CURRENT_BACKLIGHT 20 /* FIXME: this needs adjusting */ | 115 | # define CURRENT_BACKLIGHT 20 /* FIXME: this needs adjusting */ |
116 | #if defined(HAVE_RECORDING) | 116 | #if defined(HAVE_RECORDING) |
117 | # define CURRENT_RECORD 35 /* FIXME: this needs adjusting */ | 117 | # define CURRENT_RECORD 35 /* FIXME: this needs adjusting */ |
118 | #endif | 118 | #endif |
119 | #elif defined(SANSA_E200) /* Sandisk players */ | 119 | #elif defined(SANSA_E200) /* Sandisk E200v1 */ |
120 | # define CURRENT_NORMAL 50 /* Toni's measurements in spring 2007 suggests 50 ma during normal operation */ | 120 | # define CURRENT_NORMAL 45 /* Mike's measurements in Jan 2008 */ |
121 | # define CURRENT_BACKLIGHT 20 /* seems like a reasonible value for now */ | 121 | # define CURRENT_BACKLIGHT 40 /* Screen is about 20, blue LEDs are another 20, so 40 if both */ |
122 | # define CURRENT_RECORD 35 /* FIXME: this needs adjusting */ | 122 | # define CURRENT_RECORD 40 /* flash player, so this is just unboosted current*/ |
123 | #else /* Not iriver H1x0, H3x0, nor Archos Ondio, nor iPODVideo, nor Sansas */ | 123 | #elif defined(SANSA_C200) /* Sandisk C200v1 */ |
124 | # define CURRENT_NORMAL 45 /* Should be nearly identical to E200 */ | ||
125 | # define CURRENT_BACKLIGHT 40 /* Screen is about 20, blue LEDs are another 20, so 40 if both */ | ||
126 | # define CURRENT_RECORD 40 /* flash player, so this is just unboosted current*/ | ||
127 | #else /* Not iriver H1x0, H3x0, nor Archos Ondio, nor iPod nano/Video, nor Sansas */ | ||
124 | # define CURRENT_NORMAL 145 /* usual current in mA when using the AJB including some disk/backlight/... activity */ | 128 | # define CURRENT_NORMAL 145 /* usual current in mA when using the AJB including some disk/backlight/... activity */ |
125 | # define CURRENT_BACKLIGHT 30 /* additional current when backlight always on */ | 129 | # define CURRENT_BACKLIGHT 30 /* additional current when backlight always on */ |
126 | #if defined(HAVE_RECORDING) | 130 | #if defined(HAVE_RECORDING) |
diff --git a/firmware/export/pp5020.h b/firmware/export/pp5020.h index 845c89c616..0dcd7b362d 100644 --- a/firmware/export/pp5020.h +++ b/firmware/export/pp5020.h | |||
@@ -132,7 +132,9 @@ | |||
132 | #define DEV_EN (*(volatile unsigned long *)(0x6000600c)) | 132 | #define DEV_EN (*(volatile unsigned long *)(0x6000600c)) |
133 | #define DEV_EN2 (*(volatile unsigned long *)(0x60006010)) | 133 | #define DEV_EN2 (*(volatile unsigned long *)(0x60006010)) |
134 | 134 | ||
135 | #define DEV_EXTCLOCKS 0x00000002 | ||
135 | #define DEV_SYSTEM 0x00000004 | 136 | #define DEV_SYSTEM 0x00000004 |
137 | #define DEV_USB0 0x00000008 | ||
136 | #define DEV_SER0 0x00000040 | 138 | #define DEV_SER0 0x00000040 |
137 | #define DEV_SER1 0x00000080 | 139 | #define DEV_SER1 0x00000080 |
138 | #define DEV_I2S 0x00000800 | 140 | #define DEV_I2S 0x00000800 |
@@ -140,7 +142,8 @@ | |||
140 | #define DEV_ATA 0x00004000 | 142 | #define DEV_ATA 0x00004000 |
141 | #define DEV_OPTO 0x00010000 | 143 | #define DEV_OPTO 0x00010000 |
142 | #define DEV_PIEZO 0x00010000 | 144 | #define DEV_PIEZO 0x00010000 |
143 | #define DEV_USB 0x00400000 | 145 | #define DEV_PWM 0x00020000 |
146 | #define DEV_USB1 0x00400000 | ||
144 | #define DEV_FIREWIRE 0x00800000 | 147 | #define DEV_FIREWIRE 0x00800000 |
145 | #define DEV_IDE0 0x02000000 | 148 | #define DEV_IDE0 0x02000000 |
146 | #define DEV_LCD 0x04000000 | 149 | #define DEV_LCD 0x04000000 |
@@ -332,6 +335,8 @@ | |||
332 | #define XMB_NOR_CFG (*(volatile unsigned long *)(0x70000038)) | 335 | #define XMB_NOR_CFG (*(volatile unsigned long *)(0x70000038)) |
333 | #define XMB_RAM_CFG (*(volatile unsigned long *)(0x7000003c)) | 336 | #define XMB_RAM_CFG (*(volatile unsigned long *)(0x7000003c)) |
334 | 337 | ||
338 | #define INIT_BUTTONS 0x00040000 | ||
339 | #define INIT_PLL 0x40000000 | ||
335 | #define INIT_USB 0x80000000 | 340 | #define INIT_USB 0x80000000 |
336 | 341 | ||
337 | /* 32 bit GPO port */ | 342 | /* 32 bit GPO port */ |