[Galaxy S II Q&A, Help & Troubleshooting] dragon546:
[REF]Init-Script Reference Guide By kwerdenker

MANY THANKS KWERDENKER FOR THIS. REPRODUCED WITH HIS AUTHORIZATION.

Original post from kwerdenker here.

I hope some of you find this useful as a reference for creating your own init-scripts. This contains everything I use or at least remember about the options in this kernel. If I forgot something or made an error somewhere, please send me a PM and I will gladly correct it.

How to use these settings:

If you want to test some settings before you commit them to a script, you can use either the adb shell if your on a pc with adb installed or you can use Terminal Emulator directly on your phone. Remeber to enter superuser mode by entering su in the terminal before you try to set anything or you will get errors. After that just enter the line you want with the values you want to test (if the values are incased in "", keep them that way!). If you want to see if it worked just enter cat followed by the part behind the > of the lines and you will get the values that are currently set. Everything you do in this fashion will not survive a reboot of your phone, if you want to make them permanent you'll have to use an init-script. A how-to on that is (currently) out of the scope for this post. Have a look/search in the kernel release thread as there are many examples for that there. I'm sure with this post and these examples you can figure it out by yourself :)

The values in the echo commands are the stock values (from 2.1.1 version) if not noted otherwise

[CPU]

[Frequency]

[Steps]

# Controls which frequency steps are available

# Should probably only be used to set the lowest step to 25 and/or the highest to 1696

echo "1600 1400 1200 1000 800 500 200 100" > /sys/devices/system/cpu/cpu0/cpufreq/freq_table​

[Scaling Min]

# Controls which frequency is use by the governor as the minimal frequency (has to be a valid value in the frequency table!)

echo 200000 > /sys/devices/system/cpu/cpu0/cpufreq/scaling_min_freq​

[Scaling Max]

# Controls which frequency is use by the governor as the maximal frequency (has to be a valid value in the frequency table!)

echo 1200000 > /sys/devices/system/cpu/cpu0/cpufreq/scaling_max_freq​

[Voltages]

# Controls with what voltages the frequency steps are supplied

# Highest step is to the left, lowest to the right

echo "1425 1325 1275 1175 1075 975 950 950" > /sys/devices/system/cpu/cpu0/cpufreq/UV_mV_table​

[Governor]

# Available governors: ondemand, lulzactive, smartassV2, conservative, userspace, performance, powersave, brazilianwax, savagedzen, smartass, lagfree, ondemandx

echo ondemand > /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor​

[GPU]

[Frequency]

# Controls with what frequencies the GPU works

# Valid frequency steps are 100 114 133 160 200 267 400

echo "160 267" > /sys/class/misc/gpu_clock_control/gpu_control​

[Voltages]

# Controls with what voltages the GPU works

# Lowest possible value is 800000, maximum is 1200000

# Changes are only possible in 50000 steps

echo "950000 1000000" > /sys/class/misc/gpu_voltage_control/gpu_control​

[IO]

[Scheduler]

# Controls how IO requests are scheduled.

# Available schedulere: noop deadline cfq bfq sio vr

echo sio > /sys/block/mmcblk0/queue/scheduler​

[BUS]

[Frequency]

# Controls with what frequency the bus operates

# Valid values are: 0 (400MHz), 1 (266MHz), 2 (133MHz)

# Highest frequency step of cpu is to the left, lowest to the right

echo "0 0 0 0 1 1 2 2" > /sys/devices/system/cpu/cpu0/cpufreq/busfreq_static

echo disabled > sys/devices/system/cpu/cpu0/cpufreq/busfreq_static # Use enabled to activate this feature​

[Charging Current]

# Controls how much power the phone is willing to draw from a specific charger type

# Values are from left to right: AC Misc USB

# !This is a dangerous setting. Use with caution and never change the USB value and never set the other ones higher than 1000!

echo "650 550 450" > sys/devices/virtual/misc/charge_current/charge_current​

I will try to keep this post up to date with any relevant changes in the kernel.

Example GPU/CPU undervolting and underclocking scripts by kwerdenker please just use for Reference

Improved version of CPU undervolting script by kwerdenker please just as a reference

P.S.: I will not respond to request what settings you should use to achieve the highest score in a benchmark or how you get the most battery life. This is just to gather the information that is already floating out there. What you do with it is up to you ;)