This is the bug/patch tracker for Rockbox. Click here for more information.
Quick links: Bugs · Patches · Rockbox frontpage
FS#9746 - Drive PP502x IDE pins low when IDE power is off, saving a bit of power
Attached to Project:
Rockbox
Opened by Boris Gjenero (dreamlayers) - Friday, 02 January 2009, 17:40 GMT+2
Last edited by Boris Gjenero (dreamlayers) - Wednesday, 08 April 2009, 22:22 GMT+2
Opened by Boris Gjenero (dreamlayers) - Friday, 02 January 2009, 17:40 GMT+2
Last edited by Boris Gjenero (dreamlayers) - Wednesday, 08 April 2009, 22:22 GMT+2
|
DetailsThe OF ide_power_enable routine sets some GPIO _ENABLE bits to zero when enabling power and sets them to 1 when disabling power. This makes a difference of about 1 in 4066_ISTAT (
|
This task depends upon
I also measure less current (power consumption). From the measurements I would expect savings of about 1mA. To finalize the tests I will battery bench a patched software over night.
Any other testers are welcome -- maybe this patch can also be applied to other iPods (e.g. nano).
FS#9728)? I wonder what's going on.r19869 unaltered: 14.7 to 14.8 mA , 14.81 to 14.86 mA
r19869 + FS#9746: 14.3 to 14.4 mA , 14.41 to 14.48 mA
I've started a baseline battery bench tonight.
I am really curious about your results :)
I could claim that the difference in slope means that power is being saved, and the lower initial voltage and shorter runtime is due to a lower initial state of charge. However, I don't feel confident about saying this. I wonder how I could standardize the initial conditions. Maybe the state of charge differs based on whether the battery was charged from empty or topped up multiple times. I also could have started the battery_bench in a more consistent way, maybe playing, pausing, rewinding to 0:00, starting battery bench and then unpausing, instead of starting battery_bench and then browsing to the file and playing it.
There's also DEV_INIT2 & 0x6000. Those bits must be 0 for IDE to work. They may be set to 1 at the end of ide_power_enable(false) and set to 0 at the beginning of ide_power_enable(true), but that doesn't seem to save any current.
1) Commit it for 5G iPods
2) Commit a patch like this for all PP502x iPods which can turn off IDE
3) Commit a patch like this for all PP502x targets which can turn off IDE
4) Close this and forget about it.
Based on measurements via
FS#9728and measurements of FireWire input current via two different DMMs, this patch reduces current draw. The battery bench may show a small savings, but it's not really conclusive. The savings are relatively insignificant, but if it's easy to save a small bit of power, why not do it?In all cases, if I commit this I would add port initialization.
BTW I didn't realize that reducing priority (or was it severity) would change the task to a different and unusual colour, and kind of highlight it. Maybe I shouldn't do that?