[HTC Incredible S] vido.ardes:
No it has to be built into the kernel.

snq is responsible for the mod so props to him, this is taken from LeeDroid's thread, it would have to be customised for MDJ's CPU table but that will be easy to do just be taking a peak at the source

-------------------------------------------------------------------

Vdd levels sysfs interface

This mod was created by snq- for my Classic desire builds.

The vdd levels interface allows you to adjust cpu voltages on the fly, you can either do this via terminal, Gscript or by dropping a script in init.d.... The following script is an example with vdd levels increased by 25mV on all frequencies

you can adjust these values accordingly by ammending the 2nd string to any value between min 750mV max 1350mV, these values will only be persistent on reboot if you have a script in the /system/etc/init.d folder with the below syntax

usage:

query: (output: first column: frequency (kHz), second column: vdd* (mV))

#!/system/bin/sh

#

#CONFIG_CPU_FREQ_VDD_LEVELS

echo '245000 925' > /sys/devices/system/cpu/cpu0/cpufreq/vdd_levels

echo '422400 950' > /sys/devices/system/cpu/cpu0/cpufreq/vdd_levels

echo '460800 975' > /sys/devices/system/cpu/cpu0/cpufreq/vdd_levels

echo '499200 975' > /sys/devices/system/cpu/cpu0/cpufreq/vdd_levels

echo '576000 1000' > /sys/devices/system/cpu/cpu0/cpufreq/vdd_levels

echo '652800 1025' > /sys/devices/system/cpu/cpu0/cpufreq/vdd_levels

echo '729600 1025' > /sys/devices/system/cpu/cpu0/cpufreq/vdd_levels

echo '806400 1050' > /sys/devices/system/cpu/cpu0/cpufreq/vdd_levels

echo '883200 1075' > /sys/devices/system/cpu/cpu0/cpufreq/vdd_levels

echo '960000 1075' > /sys/devices/system/cpu/cpu0/cpufreq/vdd_levels

echo '1036800 1100' > /sys/devices/system/cpu/cpu0/cpufreq/vdd_levels

echo '1113600 1125' > /sys/devices/system/cpu/cpu0/cpufreq/vdd_levels

echo '1190400 1150' > /sys/devices/system/cpu/cpu0/cpufreq/vdd_levels

echo '1267200 1175' > /sys/devices/system/cpu/cpu0/cpufreq/vdd_levels

echo '1344000 1200' > /sys/devices/system/cpu/cpu0/cpufreq/vdd_levels

echo '1420800 1225' > /sys/devices/system/cpu/cpu0/cpufreq/vdd_levels

echo '1497600 1300' > /sys/devices/system/cpu/cpu0/cpufreq/vdd_levels

echo '1574400 1325' > /sys/devices/system/cpu/cpu0/cpufreq/vdd_levels

echo '1651200 1400' > /sys/devices/system/cpu/cpu0/cpufreq/vdd_levels

echo '1728000 1425' > /sys/devices/system/cpu/cpu0/cpufreq/vdd_levels

echo '1804800 1450' > /sys/devices/system/cpu/cpu0/cpufreq/vdd_levels
​

incrementing/decrementing all levels by a specified amount* (mV):

echo '-25' > /sys/devices/system/cpu/cpu0/cpufreq/vdd_levels

echo '+25' > /sys/devices/system/cpu/cpu0/cpufreq/vdd_levels
​

adjusting the supply voltage* (second value, mV) at a specific frequency (first value, kHz):

echo '998400 1250' > /sys/devices/system/cpu/cpu0/cpufreq/vdd_levels
​

*: vdd values must be a multiple of 25 (enforced by the interface; the regulator doesn't accept other values - found out in the hard way)

please note that the values set through this interface will only be written to the acpu table - they will only become effective when the specific frequency is (re)set by cpufreq

i took the input parser from iscaela's code - thanks for it

do not apply this patch if you plan to use avs

to query the constraints of the regulator ("max_microvolts", "min_microvolts") or the voltage currently supplied to the cpu ("microvolts" (uV)):

grep '.' /sys/class/i2c-adapter/i2c-0/0-0048/regulator/regulator.0/*
​