• Introducing XDA Computing: Discussion zones for Hardware, Software, and more!    Check it out!

[MOD][KERNEL] Custom Voltage

Search This thread

Ezekeel

Retired Recognized Developer
Jun 21, 2011
715
1,680
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-nexus-s/tree/customvoltage
 
Last edited:

caleb1783

Senior Member
Sep 2, 2010
315
19
Bangkok
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!
 

Yusei

Senior Member
Nov 29, 2010
1,318
323
Porto
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
 

Jonathon Grigg

Senior Member
Dec 11, 2010
1,226
242
I guess I will have to update Spark to include all these new additions from Ezekeel. Give me a few weeks and I will try and have a bit of a toolkit ready!

Sent from my Nexus S

Edit: also, great work Ezekeel! Just a question though, what was the reason for wanting to put together your own? Is it simpler, more stable, or something else? Sorry, I haven't compared anything either, I can't easily do so on my phone.
 

caleb1783

Senior Member
Sep 2, 2010
315
19
Bangkok
I guess I will have to update Spark to include all these new additions from Ezekeel. Give me a few weeks and I will try and have a bit of a toolkit ready!

Sent from my Nexus S

Edit: also, great work Ezekeel! Just a question though, what was the reason for wanting to put together your own? Is it simpler, more stable, or something else? Sorry, I haven't compared anything either, I can't easily do so on my phone.

hey good going..

i was going to check out app dev over the weekend to get all of ezekeels mods into one app...

mind if i try?

Sent from Divinus Nexus S...
 

[email protected]_OC

Senior Member
Jul 29, 2011
337
113
Lyon
I guess I will have to update Spark to include all these new additions from Ezekeel. Give me a few weeks and I will try and have a bit of a toolkit ready!

Sent from my Nexus S

Edit: also, great work Ezekeel! Just a question though, what was the reason for wanting to put together your own? Is it simpler, more stable, or something else? Sorry, I haven't compared anything either, I can't easily do so on my phone.

it could be a great idea, I think.
Me, I use script, but I see a lot of people how wants to use Ezekeel Mods without knowing a thing about scripts,
or even don't know how to use terminal emulator.
thanks for this great idea.
No more question to the kernels devs about how to activate this or this...
I think many of them will be gratefull for that. ;)
 

psygbert

Senior Member
Nov 27, 2010
267
46
I guess I will have to update Spark to include all these new additions from Ezekeel. Give me a few weeks and I will try and have a bit of a toolkit ready!

Sent from my Nexus S

Edit: also, great work Ezekeel! Just a question though, what was the reason for wanting to put together your own? Is it simpler, more stable, or something else? Sorry, I haven't compared anything either, I can't easily do so on my phone.

this mod will not only enable you to modify armvolt but also intvolt.
 

Ezekeel

Retired Recognized Developer
Jun 21, 2011
715
1,680
can any1 explain the differences??? and what is exacly each one?

The ARM voltage is for the CPU, the internal voltage for the bus (and also GPU I believe). If you increase the bus/GPU speeds with LiveOC you might have to increase the internal voltages additionally to the ARM voltages to get it stable.


Made a small improvement.

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
 

ellesshoo

Senior Member
Jul 10, 2010
446
137
I guess I will have to update Spark to include all these new additions from Ezekeel. Give me a few weeks and I will try and have a bit of a toolkit ready!

Sent from my Nexus S

Edit: also, great work Ezekeel! Just a question though, what was the reason for wanting to put together your own? Is it simpler, more stable, or something else? Sorry, I haven't compared anything either, I can't easily do so on my phone.

Where can I find this app of yours? Does it have a thread?
 

thoth77

Senior Member
Oct 8, 2008
290
67
more stable Live OC?

The ARM voltage is for the CPU, the internal voltage for the bus (and also GPU I believe). If you increase the bus/GPU speeds with LiveOC you might have to increase the internal voltages additionally to the ARM voltages to get it stable.

Ah!

more stable Live OC? :)

excessive +percentage got the phone to lose IMEI

I had my device repaired in samsung A/S center. (reentering IMEI)

and I backuped "/efs/" folder to SD, PC just in case :)

---------- Post added at 11:02 AM ---------- Previous post was at 10:58 AM ----------

Where can I find this app of yours? Does it have a thread?

[App] Spark Mod Manager - Beta 1 [5/9/2011]
 
Last edited:

Top Liked Posts

  • There are no posts matching your filters.
  • 17
    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-nexus-s/tree/customvoltage
    2
    Can you give me a advice using the int voltage.. can u give me example of your arm and int voltage of what kernel are u using.

    Im using franco kernel.. and i want a batery saving arm and int voltage value.. can you advice me some... thanks...

    Sent from my Nexus S using xda premium

    I´m not the guy who can give an advice, I´ve not the experience. Maybe here is your thread: klick

    I can just give you my settings, which are comfortable for me:

    Franco.Kernel BFS 11/8
    LiveOC 110
    440/1100 lazy gov.
    dsvarm: 1250/1200/1050/950/950
    dsvint: 1100/1100/1100/1000 (stock, so no changes here)

    ---------- Post added at 01:28 PM ---------- Previous post was at 01:18 PM ----------

    PS:
    LiveOC increases the bus speed and therfore the speed of gpu and cpu (OC as you are used to only increases the cpu-speed). This may cause instability which may require to raise the voltage. The voltage you can set in SetCPU has no effect to the gpu, only to the cpu. Therefore Ezekeel gave us the possibility to change not only the armvolt (for stability of cpu), but also the intvolt (for stability of bus/gpu).

    According to the experiences of many users increasing the intvolt doesn´t seem to be necessary if your system runs with LiveOC 110 "only". I myself haven´t changed the intvolt-values and with the settings above my system runs fast and stable - thanks to Ezekeel!!!!!!!

    Just an idea, everybody is welcome to correct my opinion :) !!!
    1
    With all these mods why don't you publish your own kernel Ezekeel?
    1
    I guess I will have to update Spark to include all these new additions from Ezekeel. Give me a few weeks and I will try and have a bit of a toolkit ready!

    Sent from my Nexus S

    Edit: also, great work Ezekeel! Just a question though, what was the reason for wanting to put together your own? Is it simpler, more stable, or something else? Sorry, I haven't compared anything either, I can't easily do so on my phone.
    1
    Matr1x v10.5

    Since v10.5, Matr1x kernel supports Custom Voltage MOD :)

    NSTools to manage various Ezekeel's MOD