[Galaxy S III Original Android Development] psndna88:
30-04-2015 Update v4.4.1

drivers/usb/gadget: add required modifications for CM builds | Accumulative squashed fixes + changes from SAMSUNG OSRC I9305 Update | Revised AGNi Control profiles v2.0 | Revised AGNi Control CPU-UV v2.0 based on device's detected asv_level

SHOULD KILL ANY SOD.

Device's asv level is detected (0 to 12) and corresponding cpu-uv scripts for that asv are shown in agni control

Advantages:-

Each device can be undervolted according to its original optimal chip voltages as categorised by asv_level.

One can know accurately how much device is capable of undervolting.

Undervolting not done on basis of arbitrary cpu voltages (EARLIER, CPU UNDERVOLTING WAS DONE ON BASIS OF MY ASV_LEVEL 4 DEVICE).

Brings similarity in level of undervolting for most users as arbitrary base values from one device of particular ASV will not be stable on other device of different ASV. (this is reason of uv voltages being working good for one, and unstable for another).

Further, in v2.0 of AGNi Control cpu-uv, the overclocking frequencies (2000,1920,1800,1704,1600,1500 MHz) are not undervolted. Also, low cpu frequencies (200,300 MHz) are not undervolted and stay on device's optimal voltages; this helps reduce chances of SOD's due to cpu dying out of power resulting from low voltages on low frequencies.

Effectively, cpu frequencies 1400 - 400 MHz can be undervolted from AGNi Control.

Now AGNi Control shows one's device's ASV_LEVEL in CPU UV area. A device of ASV_LEVEL of 0 means it needs more power (higher voltage) to operate optimally than a device of higher ASV_LEVEL.

(Voltages in uV)

/* ASV0, ASV1, ASV2, ASV3,	ASV4,	ASV5,	ASV6, ASV7, ASV8, ASV9, ASV10, ASV11 ASV12 CPUFREQ */

{ 1450000, 1450000, 1450000, 1450000, 1450000, 1450000, 1450000, 1450000, 1450000, 1450000, 1450000, 1450000, 1450000 }, /* L0 2000MHz */

{ 1425000, 1425000, 1425000, 1425000, 1425000, 1425000, 1425000, 1425000, 1425000, 1425000, 1425000, 1425000, 1425000 }, /* L1 1920MHz */

{ 1400000, 1400000, 1400000, 1400000, 1400000, 1400000, 1400000, 1400000, 1400000, 1400000, 1400000, 1400000, 1400000 }, /* L2 1800MHz */

{ 1400000, 1400000, 1400000, 1400000, 1400000, 1400000, 1400000, 1400000, 1400000, 1387500, 1375000, 1362500, 1350000 }, /* L3 1704MHz */

{ 1312500, 1312500, 1312500, 1312500, 1300000, 1287500, 1275000, 1262500, 1250000, 1237500, 1212500, 1200000, 1187500 }, /* L4 1600MHz */

{ 1275000, 1262500, 1262500, 1262500, 1250000, 1237500, 1225000, 1212500, 1200000, 1187500, 1162500, 1150000, 1137500 }, /* L5 1500MHz */

{ 1237500, 1225000, 1225000, 1225000, 1212500, 1200000, 1187500, 1175000, 1162500, 1150000, 1125000, 1112500, 1100000 }, /* L6 1400MHz */

{ 1187500, 1175000, 1175000, 1175000, 1162500, 1150000, 1137500, 1125000, 1112500, 1100000, 1075000, 1062500, 1050000 }, /* L7 1300MHz */

{ 1150000, 1137500, 1137500, 1137500, 1125000, 1112500, 1100000, 1087500, 1075000, 1062500, 1037500, 1025000, 1012500 }, /* L8 1200MHz */

{ 1112500, 1100000, 1100000, 1100000, 1087500, 1075000, 1062500, 1050000, 1037500, 1025000, 1000000, 987500, 975000 }, /* L9 1100MHz */

{ 1087500, 1075000, 1075000, 1075000, 1062500, 1050000, 1037500, 1025000, 1012500, 1000000, 975000, 962500, 950000 }, /* L10 1000MHz */

{ 1062500, 1050000, 1050000, 1050000, 1037500, 1025000, 1012500, 1000000, 987500, 975000, 950000, 937500, 925000 }, /* L11 900MHz */

{ 1025000, 1012500, 1012500, 1012500, 1000000, 987500, 975000, 962500, 950000, 937500, 912500, 900000, 887500 }, /* L12 800MHz */

{ 1000000, 987500, 987500, 987500, 975000, 962500, 950000, 937500, 925000, 912500, 887500, 887500, 887500 }, /* L13 700MHz */

{ 975000, 962500, 962500, 962500, 950000, 937500, 925000, 912500, 900000, 887500, 875000, 875000, 875000 }, /* L14 600MHz */

{ 962500, 950000, 950000, 950000, 937500, 925000, 912500, 900000, 887500, 887500, 875000, 875000, 875000 }, /* L15 500MHz */

{ 950000, 937500, 937500, 937500, 925000, 912500, 900000, 887500, 887500, 887500, 875000, 875000, 875000 }, /* L16 400MHz */

{ 937500, 925000, 925000, 925000, 912500, 900000, 887500, 887500, 887500, 887500, 875000, 875000, 875000 }, /* L17 300MHz */

{ 925000, 912500, 912500, 912500, 900000, 887500, 887500, 887500, 887500, 887500, 875000, 875000, 875000 }, /* L18 200MHz*/