
Proof of concept and idea explained here: http://freaktab.com/forum/tv-player-...tacore-release
1. Modify your device tree blob to alter the Rockchip big.LITTLE cluster and cpu topology
STOCK
[COLOR=#FF0000]-[/COLOR] cluster0 { core0 { cpu = <0x6a>; }; core1 { cpu = <0x6b>; }; core2 { cpu = <0x6c>; }; core3 { cpu = <0x6d>; }; }; cluster1 { core0 { cpu = <0x6e>; }; core1 { cpu = <0x6f>; }; core2 { cpu = <0x70>; }; core3 { cpu = <0x71>; };
[COLOR=#00FF00]+[/COLOR] cluster0 [SIZE=12px]{[/SIZE] core0 { cpu = <0x6e>; }; core1 { cpu = <0x6f>; }; core2 { cpu = <0x70>; }; core3 { cpu = <0x71>; }; core4 { cpu = <0x6a>; }; core5 { cpu = <0x6b>; }; core6 { cpu = <0x6c>; }; core7 { cpu = <0x6d>; };
STOCK
[COLOR=#FF0000]-[/COLOR] dvfs { vd_arm { regulator_name = "vdd_arm"; suspend_volt = <0x3e8>; pd_core { clk_core_b { operating-points = <0x4c2c0 0xf4240 0x639c0 0xf4240 0x927c0 0xf4240 0xa9ec0 0xf4240 0xc7380 0x10c8e0 0xf6180 0x10c8e0 0x124f80 0x11edd8 0x159b40 0x13d620 0x16b480 0x1437c8 0x171240 0x149970>; status = "okay"; temp-limit-enable = <0x1>; target-temp = <0x5a>; min_temp_limit = <0x34bc0>; normal-temp-limit = <0x3 0x17700 0x6 0x23280 0x9 0x2ee00 0xf 0x5dc00>; performance-temp-limit = <0x64 0xc7380>; lkg_adjust_volt_en = <0x1>; channel = <0x0>; tsadc-ch = <0x0>; def_table_lkg = <0xa>; min_adjust_freq = <0x34bc0>; lkg_adjust_volt_table = <0x0 0x61a8 0x28 0x0 0x32 0x61a8 0x96 0xc350>; }; clk_core_l { operating-points = <0x4c2c0 0xf4240 0x639c0 0xf4240 0x927c0 0xf4240 0xa9ec0 0xf4240 0xc7380 0x10c8e0 0xf6180 0x124f80 0x124f80 0x1312d0>; status = "okay"; temp-limit-enable = <0x1>; target-temp = <0x5a>; min_temp_limit = <0x34bc0>; normal-temp-limit = <0x3 0x17700 0x6 0x23280 0x9 0x2ee00 0xf 0x5dc00>; performance-temp-limit = <0x64 0xc7380>; lkg_adjust_volt_en = <0x1>; channel = <0x0>; tsadc-ch = <0x0>; def_table_lkg = <0xa>; min_adjust_freq = <0x34bc0>; lkg_adjust_volt_table = <0x0 0x61a8 0x28 0x0 0x32 0x61a8 0x96 0xc350>; };
[COLOR=#00FF00]+[/COLOR] dvfs { vd_arm { regulator_name = "vdd_arm"; suspend_volt = <0x3e8>; pd_core { clk_core_b { operating-points = <0xa9ec0 0xee098 0xc7380 0xf4240 0xf6180 0x10c8e0 0x124f80 0x11edd8 0x159b40 0x13d620 0x16b480 0x1437c8 0x171240 0x149970 0x188940 0x1535b0>; status = "okay"; #cluster = <0x1>; channel = <0x1>; high_performance = <0x1>; dev_mode = <0x0>; clk_core_l { operating-points = <0xa9ec0 0xee098 0xc7380 0x100590 0xf6180 0x112a88 0x124f80 0x1312d0 0x188940 0x162010>; status = "disabled"; cluster = <0x1>; temp-limit-enable = <0x1>; target-temp = <0x50>; min_temp_limit = <0x34bc0>; normal-temp-limit = <0x3 0x17700 0x6 0x23280 0x9 0x2ee00 0xf 0x5dc00>; performance-temp-limit = <0x64 0xc7380>; lkg_adjust_volt_en = <0x1>; channel = <0x1>; tsadc-ch = <0x0>; def_table_lkg = <0x19>; min_adjust_freq = <0x34bc0>; lkg_adjust_volt_table = <0x0 0x61a8 0x28 0x0 0x32 0x61a8 0x96 0xc350>; };
http://freaktab.com/member/41233-shomari FOR RESEARCH PURPOSES ONLY
Comment