[Galaxy Ace II Android Development] borkins:
LiveOPP ARM Steps Editor

Script for Codina devices with custom kernels

​

Disclaimer:

This Script is provided 'AS IS' without any warranty!

By using this Script, you make experiments with your device, and you agree to take the risk and

full responsibility only on you, for all consequences, as result of those experiments!

I am not responsible for any of the consequences of your experiments,

such as: voiding your warranty, bricking your device, data lost,

and any other pain or suffering you may feel, as result of using this Script!!!

You do it all on your own risk!!!

What is needed:

- 'Smanager' app and 'Swiftkey' keyboard app.

- Knowledge about VDD, VBB, DDR OPP & APE OPP.

- Some experience with those values.

How to use ( Manual ):

Enter ARM Step (1-??): - Pressing a number in the given range will show you the options of the current ARM Step

[d] Status - Pressing 'd' key will disable the current ARM Step

[e] Status - Pressing 'e' key will enable the current ARM Step

[1] VDD Varm - Pressing '1' key will go to VDD Varm option

[-] -12.5mV - Pressing '-' key will decrease the Varm / Voltage with 12.5 mV

[+] +12.5mV - Pressing '+' key will increase the Varm / Voltage with 12.5 mV

[v] Enter the Varm value - Pressing 'v' key will let you to enter manually the Varm value ( ex: 0x22 )

[r] Restore the Varm - Pressing 'r' key will restore the Varm to its original state

- All changes are in real time, so for more safety you can Disable the ARM Step first!

- Not recommended to decrease too much ( ex. Voltage below 925 mV ), or increase too much ( ex. Voltage above 1387.5 mV )

- Not recommended to uV too much ( ex. uV below -100mV )

- Be careful with the ARM Steps with frequencies above 800 MHz, because they are quite sensitive to uV / oV!

VDD Varm Voltage Table:

0x00 700 mV
0x01 712.5 mV
0x02 725 mV
0x03 737.5 mV
0x04 750 mV
0x05 762.5 mV
0x06 775 mV
0x07 787.5 mV
0x08 800 mV
0x09 812.5 mV
0x0a 825 mV
0x0b 837.5 mV
0x0c 850 mV
0x0d 862.5 mV
0x0e 875 mV
0x0f 887.5 mV
0x10 900 mV
0x11 912.5 mV
0x12 925 mV
0x13 937.5 mV
0x14 950 mV
0x15 962.5 mV
0x16 975 mV
0x17 987.5 mV
0x18 1000 mV
0x19 1012.5 mV
0x1a 1025 mV
0x1b 1037.5 mV
0x1c 1050 mV
0x1d 1062.5 mV
0x1e 1075 mV
0x1f 1087.5 mV
0x20 1100 mV
0x21 1112.5 mV
0x22 1125 mV
0x23 1137.5 mV
0x24 1150 mV
0x25 1162.5 mV
0x26 1175 mV
0x27 1187.5 mV
0x28 1200 mV
0x29 1212.5 mV
0x2a 1225 mV
0x2b 1237.5 mV
0x2c 1250 mV
0x2d 1262.5 mV
0x2e 1275 mV
0x2f 1287.5 mV
0x30 1300 mV
0x31 1312.5 mV
0x32 1325 mV
0x33 1337.5 mV
0x34 1350 mV
0x35 1362.5 mV
0x36 1375 mV
0x37 1387.5 mV
0x38 1400 mV
0x39 1412.5 mV
0x3a 1425 mV
0x3b 1437.5 mV
0x3c 1450 mV
0x3d 1462.5 mV
0x3e 1475 mV
0x3f 1487.5 mV

[<] ARM Step - Pressing '<' key will change the ARM Step - Backward

[>] ARM Step - Pressing '>' key will change the ARM Step - Forward

[a] Enter the ARM Step - Pressing 'a' key will show you the current ARM Steps Table, to choose another ARM Steps for uV / oV.

[2] VBB Vbbx - Pressing '2' key will go to VBB Vbbx option

[n] Set Vbbn - Pressing 'n' key will let you to edit the Vbbn value

[-] - Pressing '-' key will decrease the Vbbn value ( -100mV )

[+] - Pressing '+' key will increase the Vbbn value by ( +100mV )

[p] Set Vbbp - Pressing 'p' key will let you to edit the Vbbp value

[-] - Pressing '-' key will decrease the Vbbp value ( -100mV )

[+] - Pressing '+' key will increase the Vbbp value ( +100mV )

[v] Enter the Vbbx value - Pressing 'v' key will let you to enter manually the Vbbx value ( ex. 0xda )

[r] Restore the Vbbx value - Pressing 'r' key will restore the Vbbx to its original state

[d] Default Vbbx - Pressing 'd' key will set the most known and safe Vbbx value for the current ARM Step

- All changes are in real time, so for more safety you can Disable the ARM Step first!

- I don't know what the Vbbx editing may lead to, so first ask in the thread, to learn more about it!

Table of how the Vbbx values are based:

Vbbx vbbn vbbp Vbbx vbbn vbbp
0x00 = 0 0 0x00 = 0 0
0x01 = -100 0 0x10 = 0 100
0x02 = -200 0 0x20 = 0 200
0x03 = -300 0 0x30 = 0 300
0x04 = -400 0 0x40 = 0 400
0x05 = -400 0 0x50 = 0 400
0x06 = -400 0 0x60 = 0 400
0x07 = -400 0 0x70 = 0 400
0x08 = 0 0 0x80 = 0 -400
0x09 = 100 0 0x90 = 0 -400
0x0a = 200 0 0xa0 = 0 -400
0x0b = 300 0 0xb0 = 0 -400
0x0c = 400 0 0xc0 = 0 -400
0x0d = 400 0 0xd0 = 0 -300
0x0e = 400 0 0xe0 = 0 -200
0x0f = 400 0 0xf0 = 0 -100

Observations:

- Vbbx: 0xdb, Vbbp: -300mV, Vbbn: 300mV ( default for Steps <= 800 MHz )

- Vbbx: 0x8f, Vbbp: -400mV, Vbbn: 400mV ( default for Steps > 800 MHz )

- Vbbx: 0x33 Vbbp: 300mV, Vbbn: -300mV ( reversed polarity of 0xdb )

- Vbbx: 0x44 Vbbp: 400mV, Vbbn: -400mV ( reversed polarity of 0x8f )

- Vbbx values from 0x40 to 0x70 repeats itself

- Vbbx values from 0x90 to 0x0c repeats itself

Table of non repeated Vbbx values:

0xf1 vbbn: -100 mV vbbp: -100 mV
0xe1 vbbn: -100 mV vbbp: -200 mV
0xd1 vbbn: -100 mV vbbp: -300 mV
0x81 vbbn: -100 mV vbbp: -400 mV
0x01 vbbn: -100 mV vbbp: 0 mV
0x11 vbbn: -100 mV vbbp: 100 mV
0x21 vbbn: -100 mV vbbp: 200 mV
0x31 vbbn: -100 mV vbbp: 300 mV
0x41 vbbn: -100 mV vbbp: 400 mV
0xf2 vbbn: -200 mV vbbp: -100 mV
0xe2 vbbn: -200 mV vbbp: -200 mV
0xd2 vbbn: -200 mV vbbp: -300 mV
0x82 vbbn: -200 mV vbbp: -400 mV
0x02 vbbn: -200 mV vbbp: 0 mV
0x12 vbbn: -200 mV vbbp: 100 mV
0x22 vbbn: -200 mV vbbp: 200 mV
0x32 vbbn: -200 mV vbbp: 300 mV
0x42 vbbn: -200 mV vbbp: 400 mV
0xf3 vbbn: -300 mV vbbp: -100 mV
0xe3 vbbn: -300 mV vbbp: -200 mV
0xd3 vbbn: -300 mV vbbp: -300 mV
0x83 vbbn: -300 mV vbbp: -400 mV
0x03 vbbn: -300 mV vbbp: 0 mV
0x13 vbbn: -300 mV vbbp: 100 mV
0x23 vbbn: -300 mV vbbp: 200 mV
0x33 vbbn: -300 mV vbbp: 300 mV
0x43 vbbn: -300 mV vbbp: 400 mV
0xf4 vbbn: -400 mV vbbp: -100 mV
0xe4 vbbn: -400 mV vbbp: -200 mV
0xd4 vbbn: -400 mV vbbp: -300 mV
0x84 vbbn: -400 mV vbbp: -400 mV
0x04 vbbn: -400 mV vbbp: 0 mV
0x14 vbbn: -400 mV vbbp: 100 mV
0x24 vbbn: -400 mV vbbp: 200 mV
0x34 vbbn: -400 mV vbbp: 300 mV
0x44 vbbn: -400 mV vbbp: 400 mV
0xf0 vbbn: 0 mV vbbp: -100 mV
0xe0 vbbn: 0 mV vbbp: -200 mV
0xd0 vbbn: 0 mV vbbp: -300 mV
0x80 vbbn: 0 mV vbbp: -400 mV
0x00 vbbn: 0 mV vbbp: 0 mV
0x10 vbbn: 0 mV vbbp: 100 mV
0x20 vbbn: 0 mV vbbp: 200 mV
0x30 vbbn: 0 mV vbbp: 300 mV
0x40 vbbn: 0 mV vbbp: 400 mV
0xf9 vbbn: 100 mV vbbp: -100 mV
0xe9 vbbn: 100 mV vbbp: -200 mV
0xd9 vbbn: 100 mV vbbp: -300 mV
0x89 vbbn: 100 mV vbbp: -400 mV
0x09 vbbn: 100 mV vbbp: 0 mV
0x19 vbbn: 100 mV vbbp: 100 mV
0x29 vbbn: 100 mV vbbp: 200 mV
0x39 vbbn: 100 mV vbbp: 300 mV
0x49 vbbn: 100 mV vbbp: 400 mV
0xfa vbbn: 200 mV vbbp: -100 mV
0xea vbbn: 200 mV vbbp: -200 mV
0xda vbbn: 200 mV vbbp: -300 mV
0x8a vbbn: 200 mV vbbp: -400 mV
0x0a vbbn: 200 mV vbbp: 0 mV
0x1a vbbn: 200 mV vbbp: 100 mV
0x2a vbbn: 200 mV vbbp: 200 mV
0x3a vbbn: 200 mV vbbp: 300 mV
0x4a vbbn: 200 mV vbbp: 400 mV
0xfb vbbn: 300 mV vbbp: -100 mV
0xeb vbbn: 300 mV vbbp: -200 mV
0xdb vbbn: 300 mV vbbp: -300 mV
0x8b vbbn: 300 mV vbbp: -400 mV
0x0b vbbn: 300 mV vbbp: 0 mV
0x1b vbbn: 300 mV vbbp: 100 mV
0x2b vbbn: 300 mV vbbp: 200 mV
0x3b vbbn: 300 mV vbbp: 300 mV
0x4b vbbn: 300 mV vbbp: 400 mV
0xfc vbbn: 400 mV vbbp: -100 mV
0xec vbbn: 400 mV vbbp: -200 mV
0xdc vbbn: 400 mV vbbp: -300 mV
0x8c vbbn: 400 mV vbbp: -400 mV
0x0c vbbn: 400 mV vbbp: 0 mV
0x1c vbbn: 400 mV vbbp: 100 mV
0x2c vbbn: 400 mV vbbp: 200 mV
0x3c vbbn: 400 mV vbbp: 300 mV
0x4c vbbn: 400 mV vbbp: 400 mV

[<] ARM Step - Pressing '<' key will change the ARM Step - Backward

[>] ARM Step - Pressing '>' key will change the ARM Step - Forward

[a] Enter the ARM Step - Pressing 'a' key will show you the current ARM Steps Table, to choose another ARM Steps for 'Voltage Bias' editing.

[3] DDR OPP - Pressing '3' key will go to DDR OPP option

[-] DDR OPP - Pressing '-' key will decrease the DDR OPP value of the current ARM Step

[+] DDR OPP - Pressing '+' key will increase the DDR OPP value of the current ARM Step

[r] Restore the DDR OPP - Pressing 'r' key will restore the DDR OPP value to its original state

- You can switch between DDR OPP: 25%; 50%; 100%.

- Use 25% for lowest frequencies, 50% for mid frequencies, or 100% for frequencies over 1000 MHz.

- Ask in the thread for more information about DDR OPP!

[<] ARM Step - Pressing '<' key will change the ARM Step - Backward

[>] ARM Step - Pressing '>' key will change the ARM Step - Forward

[a] Enter the ARM Step - Pressing 'a' key will show you the current ARM Steps Table, to choose another ARM Steps for DDR OPP editing.

[4] APE OPP - Pressing '3' key will go to APE OPP option

[-] APE OPP - Pressing '-' key will decrease the APE OPP value of the current ARM Step

[+] APE OPP - Pressing '+' key will increase the APE OPP value of the current ARM Step

[r] Restore the APE OPP - Pressing 'r' key will restore the APE OPP value to its original state

- You can switch between APE OPP: 25%; 50%; 100%.

- Use 25% for lowest frequencies, 50% for mid frequencies, or 100% for frequencies over 1000 MHz.

- Ask in the thread for more information about APE OPP!

[<] ARM Step - Pressing '<' key will change the ARM Step - Backward

[>] ARM Step - Pressing '>' key will change the ARM Step - Forward

[a] Enter the ARM Step - Pressing 'a' key will show you the current ARM Steps Table, to choose another ARM Steps for APE OPP editing.

[<] ARM Step - Pressing '<' key will change the ARM Step - Backward

[>] ARM Step - Pressing '>' key will change the ARM Step - Forward

[a] Enter the ARM Step - Pressing 'a' key will show you the current ARM Steps Table, to choose another ARM Steps for editing.

[t] Show the AST ( ARM Steps Table ) - Pressing 't' key will show you the current ARM Steps Table

[?] - Pressing any key ( except 'x' key ) will switch between Default AST and Current AST

[x] Close - Pressing 'x' key will close the AST

[#] Test Mode - Pressing '#' will Enable / Disable the Test Mode

- When Test Mode is Enabled, your changes will be written in a log file in the Internal SD storage.

init.d Script - Pressing 'i' will go to init.d Script option

[d] Disable - Pressing 'd' will Disable the init.d script execution at boot

[e] Enable - Pressing 'e' will Enable the init.d script execution at boot

Update

- Pressing 'u' key will ask you, to set all changes to the init.d script, or not.

[l] Log mode - Pressing 'l' key will turn ON/OFF the capability of the init.d Script to create log file in "/data" folder, when it's executed.