Android 台灣中文網
標題:
Sony Xperia C S39H MTK MT6589超頻代碼
[打印本頁]
作者:
JKGOOD
時間:
2014-4-28 23:48
標題:
Sony Xperia C S39H MTK MT6589超頻代碼
本帖最後由 JKGOOD 於 2014-4-28 23:50 編輯
在這份文件
mt_cpufreq.c
複製代碼
所有的頻率都在最一開始伴隨著電壓做定義 (先不要變動電壓值)
#define DVFS_F0_0 (1703000) // KHz
#define DVFS_F0_1 (1599000) // KHz
#define DVFS_F0_2 (1508000) // KHz
#define DVFS_F0_3 (1404000) // KHz
#define DVFS_F0_4 (1300000) // KHz
#define DVFS_F1 (1209000) // KHz
#define DVFS_F2 ( 988000) // KHz
#define DVFS_F3 ( 754000) // KHz
#define DVFS_F4 ( 497250) // KHz
#define DVFS_V0 (1250) // mV
#define DVFS_V1 (1200) // mV
#define DVFS_V2 (1150) // mV
#define DVFS_V3 (1050) // mV
#define DVFS_V4 ( 950) // mV
複製代碼
可以看到我們並不需要新增任何代碼, 因為在整份文件我們看到最高值被設定在 DVFS_F1 , 所以看到 126-127 行
static unsigned int g_cpufreq_get_ptp_level = 0;
static unsigned int g_max_freq_by_ptp = DVFS_F1; /* default 1.2GHz */
複製代碼
因此我們可以根據在 1646-1655 行來更改 126 行到 1-5 的值
/************************************************
* Check PTP level to define default max freq
*************************************************/
g_cpufreq_get_ptp_level = PTP_get_ptp_level();
if(g_cpufreq_get_ptp_level == 0)
g_max_freq_by_ptp = DVFS_F1;
else if(g_cpufreq_get_ptp_level == 1)
g_max_freq_by_ptp = DVFS_F0_4;
else if(g_cpufreq_get_ptp_level == 2)
g_max_freq_by_ptp = DVFS_F0_3;
else if(g_cpufreq_get_ptp_level == 3)
g_max_freq_by_ptp = DVFS_F0_2;
else if(g_cpufreq_get_ptp_level == 4)
g_max_freq_by_ptp = DVFS_F0_1;
else if(g_cpufreq_get_ptp_level == 5)
g_max_freq_by_ptp = DVFS_F0_0;
else
g_max_freq_by_ptp = DVFS_F1;
複製代碼
這些 ID 起於 DVFS_F0_4 又稱為 set g_cpufreq_get_ptp_level == 1
讓我們回到 127 行設定 static unsigned int g_max_freq_by_ptp = DVFS_F0_4; 讓他有一致性
接下來看到 early suspend(注1) 這個值在 328 行被定義, 如果你想讓他高於正常的值, 就在這行更改
cpufreq_driver_target(policy, DVFS_F1, CPUFREQ_RELATION_L);
複製代碼
注意到這個值對應到 1102 行的值, 所以在修改時要注意他的一致性, 然後再 342 行也要改成記錄一樣的頻率
做了這些更改我們可以讓 ptp 的頻率設定到我們想要的值, 那就是我們超頻的開始所在. 如果我有索尼 Xperia C 我就會自己測試了, 但是我不知道誰有這款手機會試試這個代碼, 如果有人能達到更高的頻率(雖然這個舉動不一定很好, 但這就是我們正在討論的是吧?)
如果他沒有對應到最初的電壓可能就會開始發熱. 但是這些頻率是在最初的預設值就被定義了, 所以應該可行.
最後, 如果你不想親手修改, 這邊有現成的 :
http://pastebin.com/nswkHqZt
注1 : Early suspend -這個機制定義了在suspend的早期,關閉顯示屏的時候,一些和顯示屏相關的設備,比如背光、重力感應器和触摸屏等設備都應該被關掉,但是此時系統可能還有持有wake lock的任務在運行,如音樂播放,電話,或者掃描sd卡上的文件等,這個時候整個系統還不能進入真正睡眠,直到所有的wake lock都被釋放。在嵌入式設備中,背光是一個很大的電源消耗,所有android加入了這種機制。
XDA原文地址 :
http://forum.xda-developers.com/showpost.php?p=45237075&postcount=369
作者:
tomylin
時間:
2014-5-15 16:05
請問大大mt_cpufreq.c這個檔案在哪裡~?
手邊有MTK6589的手機,之前送修之後廠商有幫我超頻過1.2G-1.3G
想看看源碼是否可以改到1.5Ghz,在此發問先謝謝大了~!!
作者:
tfw5535
時間:
2014-6-17 01:55
樓主技術帝!!,路過拿碎鑽
歡迎光臨 Android 台灣中文網 (https://apk.tw/)
Powered by Discuz! X3.1