[Desire Android Development] melethron:
Of course but i can only script a bit and can't code and didn't yet look on how to compile for arm.

In my opinion it would be best to make 1 kernel with focus on stability and the other one like the 875 is now. I also think that the kernel doesn't matter as much as other factors. For example the display.

SLCD drains about 200mA @ 3V so it's 200 mA * 3V=

600 mW

If we think of kernel with 875mV and one with 950mV the difference would be 75mV. An idle phone drains about 5mA. This would make a difference in power drain of 0,075V * 0,005 A =

0,375 mW

.

So looking 1 time at the clock (with display on for 1 min) would make the energy used:

0,6 W * 60s = 36 Ws

If we now compare the power benefit with this value we get:

36Ws / 0,000375 = 96000s =

26,6h

.

So the benefit we would have from that kernel in 26,6h idle time would be

completly

negated by looking one time at the clock.....

This doesn't mean i think that undervolting is completly meaningless but i think there are many myth about this and that kernel or this and that radio giving better battery performance. If the phone is stable on a lower voltage i like to use that ability simply because of perfectionism but as long as someone doesnt real measures i don't trust statements about battery life anymore (and even i'm not pedantic enough to use a stopwatch to measure my phone usage :D) .

With that said my suggestion would be to orientate on the voltage table of snq kernel which seems to be stable for most users:

echo '128000 900' > /sys/devices/system/cpu/cpu0/cpufreq/vdd_levels
echo '245000 925' > /sys/devices/system/cpu/cpu0/cpufreq/vdd_levels
echo '384000 950' > /sys/devices/system/cpu/cpu0/cpufreq/vdd_levels
echo '422400 975' > /sys/devices/system/cpu/cpu0/cpufreq/vdd_levels
echo '460800 1000' > /sys/devices/system/cpu/cpu0/cpufreq/vdd_levels
echo '499200 1025' > /sys/devices/system/cpu/cpu0/cpufreq/vdd_levels
echo '537600 1025' > /sys/devices/system/cpu/cpu0/cpufreq/vdd_levels
echo '576000 1050' > /sys/devices/system/cpu/cpu0/cpufreq/vdd_levels
echo '614400 1075' > /sys/devices/system/cpu/cpu0/cpufreq/vdd_levels
echo '652800 1100' > /sys/devices/system/cpu/cpu0/cpufreq/vdd_levels
echo '691200 1125' > /sys/devices/system/cpu/cpu0/cpufreq/vdd_levels
echo '729600 1150' > /sys/devices/system/cpu/cpu0/cpufreq/vdd_levels
echo '768000 1175' > /sys/devices/system/cpu/cpu0/cpufreq/vdd_levels
echo '806400 1200' > /sys/devices/system/cpu/cpu0/cpufreq/vdd_levels
echo '844800 1200' > /sys/devices/system/cpu/cpu0/cpufreq/vdd_levels
echo '883200 1225' > /sys/devices/system/cpu/cpu0/cpufreq/vdd_levels
echo '921600 1225' > /sys/devices/system/cpu/cpu0/cpufreq/vdd_levels
echo '960000 1250' > /sys/devices/system/cpu/cpu0/cpufreq/vdd_levels
echo '998400 1275' > /sys/devices/system/cpu/cpu0/cpufreq/vdd_levels
echo '1036800 1275' > /sys/devices/system/cpu/cpu0/cpufreq/vdd_levels
echo '1075200 1275' > /sys/devices/system/cpu/cpu0/cpufreq/vdd_levels
echo '1113600 1300' > /sys/devices/system/cpu/cpu0/cpufreq/vdd_levels
echo '1152000 1300' > /sys/devices/system/cpu/cpu0/cpufreq/vdd_levels
echo '1190400 1300' > /sys/devices/system/cpu/cpu0/cpufreq/vdd_levels

Edit: For those that doubt my calculation because i used the drain of an idle system. On 50% cpu usage the current is about 100mA. If there is an undervolting of 100mV this would give: 0,1A * 0,1V = 0,01W = 10mW. So even then the powerdrain of the display is by the factor

60 !

higher than the benefit of the undervolt.

BTW: I think a start a MYTH BUSTING thread soon. :D