FORUMS
Remove All Ads from XDA

[MOD][KERNEL] Custom Voltage

715 posts
Thanks Meter: 1,726
 
By Ezekeel, Retired Recognized Developer on 3rd November 2011, 10:02 PM
Post Reply Email Thread
I put together a simple custom voltage interface which can be used to change both the ARM (CPU) and the internal voltage. It is the perfect companion for LiveOC, but does not depend on it.

In /sys/class/misc/customvoltage the ARM and internal voltages for the different frequency states are set by passing a string of voltage values in mV to armvolt or intvolt (for example 'echo "1250 1200 1000 950 950" > armvolt').

This should work no matter the number of frequency states implemented in the kernel. This replaces the custom UV interface most kernels have implemented and both tweaks do not work together. So if you decide to include this tweak, you will have to remove the other and this will break the voltage control with SetCPU and Proton. and it is compatible to SetCPU and similar tools.


Changes to the source: http://www.pastie.org/2806507


BUGFIX:

Made Custom Voltage compatible with the typical CPUfreq UV interface (UV_mV_table) found in many kernels thus making it compatible with SetCPU and similar tools.

Bugfix: http://www.pastie.org/2806920


BUGFIX #2:

Added the entries 'max_arm_volt' and 'max_int_volt' to the sysfs interface which can be used to change the maximum values allowed for the ARM and internal voltages.

Bugfix: http://www.pastie.org/2812494


No further patches will be published here. I have set up a git repo for all my tweaks. Each mod has its own branch to keep the tweaks cleanly separated and one can simply pull the latest patches from the corresponding branch.

https://github.com/Ezekeel/GLaDOS-ne.../customvoltage
The Following 17 Users Say Thank You to Ezekeel For This Useful Post: [ View ] Gift Ezekeel Ad-Free
3rd November 2011, 10:24 PM |#2  
Senior Member
Flag Toronto
Thanks Meter: 141
 
More
omg... you with another great mod... we CANNOT CATCH UP AT ALL.. you know
3rd November 2011, 11:08 PM |#3  
Ezekeel's Avatar
OP Retired Recognized Developer
Thanks Meter: 1,726
 
More
Made Custom Voltage compatible with the typical CPUfreq UV interface (UV_mV_table) found in many kernels thus making it compatible with SetCPU and similar tools.

Bugfix: http://www.pastie.org/2806920
4th November 2011, 12:16 AM |#4  
snandlal's Avatar
Senior Member
Thanks Meter: 473
 
Donate to Me
More
True professionalism
4th November 2011, 12:34 AM |#5  
franciscofranco's Avatar
Recognized Developer
Flag Carcavelos
Thanks Meter: 137,508
 
Donate to Me
More
Thank you Ezekeel, you never stop surprising me. I'll test this in a bit.
4th November 2011, 01:34 AM |#6  
caleb1783's Avatar
Senior Member
Flag Bangkok
Thanks Meter: 19
 
Donate to Me
More
Quote:
Originally Posted by Ezekeel

I put together a simple custom voltage interface which can be used to change both the ARM (CPU) and the internal voltage. It is the perfect companion for LiveOC, but does not depend on it.

In /sys/class/misc/customvoltage the ARM and internal voltages for the different frequency states are set by passing a string of voltage values in mV to armvolt or intvolt (for example 'echo "1250 1200 1000 950 950" > armvolt').

This should work no matter the number of frequency states implemented in the kernel. This replaces the custom UV interface most kernels have implemented and both tweaks do not work together. So if you decide to include this tweak, you will have to remove the other and this will break the voltage control with SetCPU and Proton. and it is compatible to SetCPU and similar tools.


Changes to the source: http://www.pastie.org/2806507


BUGFIX:

Made Custom Voltage compatible with the typical CPUfreq UV interface (UV_mV_table) found in many kernels thus making it compatible with SetCPU and similar tools.

Bugfix: http://www.pastie.org/2806920

wow...

just amazing!

Thanks Ezekeel~! your name will forever be engraved on the hall of NS!
4th November 2011, 01:45 AM |#7  
Yusei's Avatar
Senior Member
Flag Porto
Thanks Meter: 322
 
More
Ezekeel i know that you are a God in mods

But, can you explain to me how i will put this mod?

I don't understand what i have to do, i have to change some code lines? replace? or other thing?

if you made a superfast "how to" i will be vert grateful
4th November 2011, 01:55 AM |#8  
franciscofranco's Avatar
Recognized Developer
Flag Carcavelos
Thanks Meter: 137,508
 
Donate to Me
More
Quote:
Originally Posted by Yusei

Ezekeel i know that you are a God in mods

But, can you explain to me how i will put this mod?

I don't understand what i have to do, i have to change some code lines? replace? or other thing?

if you made a superfast "how to" i will be vert grateful

This is kernel code.
4th November 2011, 04:07 AM |#9  
Yusei's Avatar
Senior Member
Flag Porto
Thanks Meter: 322
 
More
Quote:
Originally Posted by franciscofranco

This is kernel code.


and how i change it?
4th November 2011, 05:05 AM |#10  
Serious_Beans's Avatar
Senior Member
Thanks Meter: 342
 
More
With all these mods why don't you publish your own kernel Ezekeel?
The Following User Says Thank You to Serious_Beans For This Useful Post: [ View ] Gift Serious_Beans Ad-Free
4th November 2011, 05:50 AM |#11  
Junior Member
Thanks Meter: 2
 
More
Quote:
Originally Posted by Yusei

and how i change it?

a little get starter for u..
Code:
http://wiki.cyanogenmod.com/wiki/Building_Kernel_from_source
Post Reply Subscribe to Thread

Guest Quick Reply (no urls or BBcode)
Message:
Previous Thread Next Thread
Thread Tools Search this Thread
Search this Thread:

Advanced Search
Display Modes