Linux內(nèi)核dvfs之cpufreq配置

本文基于RockPi 4A單板Linux4.4 內(nèi)核介紹OPP Table

內(nèi)核中將頻率冒冬、電壓的相關(guān)配置放在DTSI文件中毅该,這些配置信息組成的節(jié)點(diǎn)被稱(chēng)為OPP Table(Operating Performance Points)咨堤。

定義文件:arch/arm64/boot/dts/rockchip/rk3399-opp.dtsi,內(nèi)容如下:

    cluster0_opp: opp-table0 {
        compatible = "operating-points-v2";
        opp-shared; 

        rockchip,temp-hysteresis = <5000>; ## 5攝氏度
        rockchip,low-temp = <0>;
        rockchip,low-temp-min-volt = <900000>; ## 0.9V

        nvmem-cells = <&cpul_leakage>;
        nvmem-cell-names = "cpu_leakage";

        rockchip,pvtm-voltage-sel = <
            0        143500   0
            143501   148500   1
            148501   152000   2
            152001   999999   3
        >;
        rockchip,pvtm-freq = <408000>;
        rockchip,pvtm-volt = <1000000>;
        rockchip,pvtm-ch = <0 0>;
        rockchip,pvtm-sample-time = <1000>;
        rockchip,pvtm-number = <10>;
        rockchip,pvtm-error = <1000>;
        rockchip,pvtm-ref-temp = <41>;
        rockchip,pvtm-temp-prop = <115 66>;
        rockchip,thermal-zone = "soc-thermal";

        opp-408000000 {
            opp-hz = /bits/ 64 <408000000>;
            opp-microvolt = <800000 800000 1200000>;
            opp-microvolt-L0 = <800000 800000 1200000>;
            opp-microvolt-L1 = <800000 800000 1200000>;
            opp-microvolt-L2 = <800000 800000 1200000>;
            opp-microvolt-L3 = <800000 800000 1200000>;
            clock-latency-ns = <40000>;
        };
        opp-600000000 {
            opp-hz = /bits/ 64 <600000000>;
            opp-microvolt = <800000 800000 1200000>;
            opp-microvolt-L0 = <800000 800000 1200000>;
            opp-microvolt-L1 = <800000 800000 1200000>;
            opp-microvolt-L2 = <800000 800000 1200000>;
            opp-microvolt-L3 = <800000 800000 1200000>;
            clock-latency-ns = <40000>;
        };
        opp-816000000 {
            opp-hz = /bits/ 64 <816000000>;
            opp-microvolt = <850000 850000 1200000>;
            opp-microvolt-L0 = <850000 850000 1200000>;
            opp-microvolt-L1 = <825000 825000 1200000>;
            opp-microvolt-L2 = <800000 800000 1200000>;
            opp-microvolt-L3 = <800000 800000 1200000>;
            clock-latency-ns = <40000>;
            opp-suspend;
        };
        opp-1008000000 {
            opp-hz = /bits/ 64 <1008000000>;
            opp-microvolt = <925000 925000 1200000>;
            opp-microvolt-L0 = <925000 925000 1200000>;
            opp-microvolt-L1 = <900000 900000 1200000>;
            opp-microvolt-L2 = <875000 875000 1200000>;
            opp-microvolt-L3 = <850000 850000 1200000>;
            clock-latency-ns = <40000>;
        };
        opp-1200000000 {
            opp-hz = /bits/ 64 <1200000000>;
            opp-microvolt = <1000000 1000000 1200000>;
            opp-microvolt-L0 = <1000000 1000000 1200000>;
            opp-microvolt-L1 = <975000 975000 1200000>;
            opp-microvolt-L2 = <950000 950000 1200000>;
            opp-microvolt-L3 = <925000 925000 1200000>;
            clock-latency-ns = <40000>;
        };
        opp-1416000000 {
            opp-hz = /bits/ 64 <1416000000>;
            opp-microvolt = <1125000 1125000 1200000>;
            opp-microvolt-L0 = <1125000 1125000 1200000>;
            opp-microvolt-L1 = <1100000 1100000 1200000>;
            opp-microvolt-L2 = <1075000 1075000 1200000>;
            opp-microvolt-L3 = <1050000 1050000 1200000>;
            clock-latency-ns = <40000>;
        };
    };

上面節(jié)點(diǎn)中的相關(guān)屬性含義如下:

1、opp-shared:表示opp-table1是小核的各CPU共用煞额。

2、rockchip,temp-hysteresis:遲滯參數(shù)沾谜,防止頻繁進(jìn)入高溫或低溫膊毁,單位:毫攝氏度。

3基跑、rockchip,low-temp:低溫閾值婚温。小于該值時(shí),進(jìn)入低溫媳否,大于‘該值+遲滯參數(shù)’時(shí)栅螟,恢復(fù)常溫。

4篱竭、rockchip,low-temp-min-volt:低溫下最低電壓力图,單位:微伏。

5掺逼、nvmem-cells:從eFUSE中讀取相關(guān)信息值(小核漏電流)吃媒。

6、rockchip,pvtm-voltage-sel:min-pvtm(單位KHz)、max-pvtm(單位KHz)和voltage-selector(用于匹配opp節(jié)點(diǎn)中opp-microvolt-L*屬性的序列號(hào))赘那。例:pvtm值為:0 ~ 143500 使用opp-microvolt-L0惑朦,143501 ~ 148500使用opp-microvolt-L1

7、rockchip,pvtm-freq:時(shí)鐘頻率(KHz)漓概,在獲取pvtm的頻率前漾月,先設(shè)置CPU頻率。

8胃珍、rockchip,pvtm-volt:電壓(微伏)梁肿,在獲取pvtm的頻率前,先設(shè)置CPU電壓觅彰。

9吩蔑、rockchip,pvtm-chPVTM通道,格式<通道號(hào) sel的序號(hào)>

10填抬、rockchip,pvtm-sample-timePVTM采樣時(shí)間烛芬,單位:毫秒。

11飒责、rockchip,pvtm-numberPVTM采樣個(gè)數(shù)赘娄。

12、rockchip,pvtm-error:允許采樣數(shù)據(jù)之間的誤差宏蛉。

13遣臼、rockchip,pvtm-ref-temp:參考溫度。

14拾并、rockchip,pvtm-temp-propPVTM隨溫度變化的比例系數(shù)揍堰,格式<小于參考溫度的比例系數(shù) 大于參考溫度的比例系數(shù)>。

15嗅义、rockchip,thermal-zone:獲取溫度的thermal-zone屏歹。

16、opp-microvolt-L*:電壓(微伏)之碗,格式<target min max>

17蝙眶、clock-latency-ns:完成變頻需要的時(shí)間,單位:納秒继控。

RK3399中械馆,除了配置上述小核的opp table外,還設(shè)置了大核(cluster1_opp)武通、gpu(gpu_opp_table)等的相關(guān)值霹崎。查看命令如下:

root@linaro-alip:/sys/kernel/debug/opp# ls
cpu0  cpu1  cpu2  cpu3  cpu4  cpu5  opp_summary  platform-ff9a0000.gpu
root@linaro-alip:/sys/kernel/debug/opp# cat opp_summary
 device                rate(Hz)    target(uV)    min(uV)    max(uV)
-------------------------------------------------------------------
 platform-ff9a0000.gpu
                      200000000       800000      800000      800000
                      300000000       800000      800000      800000
                      400000000       825000      825000      825000
                      600000000       925000      925000      925000
                      800000000      1100000     1100000     1100000
 cpu4
                      408000000       800000      800000     1200000
                      600000000       800000      800000     1200000
                      816000000       825000      825000     1200000
                     1008000000       875000      875000     1200000
                     1200000000       950000      950000     1200000
                     1416000000      1025000     1025000     1200000
                     1608000000      1100000     1100000     1200000
                     1800000000      1200000     1200000     1200000
 cpu0
                      408000000       800000      800000     1200000
                      600000000       800000      800000     1200000
                      816000000       850000      850000     1200000
                     1008000000       925000      925000     1200000
                     1200000000      1000000     1000000     1200000
                     1416000000      1125000     1125000     1200000

注:

CPU PVTM(Process Voltage Temperature Monitor)是一個(gè)位于CPU附近,能反應(yīng)出不同芯片之間性能差異的模塊冶忱,受工藝尾菇,電壓和溫度 的影響。

參考:

Documentation/devicetree/bindings/cpufreq/cpufreq-rockchip.txt

Documentation/devicetree/bindings/cpufreq/cpufreq-rockchip.txt

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市派诬,隨后出現(xiàn)的幾起案子劳淆,更是在濱河造成了極大的恐慌,老刑警劉巖默赂,帶你破解...
    沈念sama閱讀 222,807評(píng)論 6 518
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件沛鸵,死亡現(xiàn)場(chǎng)離奇詭異,居然都是意外死亡缆八,警方通過(guò)查閱死者的電腦和手機(jī)曲掰,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 95,284評(píng)論 3 399
  • 文/潘曉璐 我一進(jìn)店門(mén),熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)奈辰,“玉大人栏妖,你說(shuō)我怎么就攤上這事〗鼻。” “怎么了吊趾?”我有些...
    開(kāi)封第一講書(shū)人閱讀 169,589評(píng)論 0 363
  • 文/不壞的土叔 我叫張陵,是天一觀的道長(zhǎng)瑟啃。 經(jīng)常有香客問(wèn)我论泛,道長(zhǎng),這世上最難降的妖魔是什么翰守? 我笑而不...
    開(kāi)封第一講書(shū)人閱讀 60,188評(píng)論 1 300
  • 正文 為了忘掉前任孵奶,我火速辦了婚禮,結(jié)果婚禮上蜡峰,老公的妹妹穿的比我還像新娘。我一直安慰自己朗恳,他們只是感情好湿颅,可當(dāng)我...
    茶點(diǎn)故事閱讀 69,185評(píng)論 6 398
  • 文/花漫 我一把揭開(kāi)白布。 她就那樣靜靜地躺著粥诫,像睡著了一般油航。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上怀浆,一...
    開(kāi)封第一講書(shū)人閱讀 52,785評(píng)論 1 314
  • 那天谊囚,我揣著相機(jī)與錄音,去河邊找鬼执赡。 笑死镰踏,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的沙合。 我是一名探鬼主播奠伪,決...
    沈念sama閱讀 41,220評(píng)論 3 423
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼!你這毒婦竟也來(lái)了绊率?” 一聲冷哼從身側(cè)響起谨敛,我...
    開(kāi)封第一講書(shū)人閱讀 40,167評(píng)論 0 277
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤,失蹤者是張志新(化名)和其女友劉穎滤否,沒(méi)想到半個(gè)月后脸狸,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 46,698評(píng)論 1 320
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡藐俺,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 38,767評(píng)論 3 343
  • 正文 我和宋清朗相戀三年肥惭,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片紊搪。...
    茶點(diǎn)故事閱讀 40,912評(píng)論 1 353
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡蜜葱,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出耀石,到底是詐尸還是另有隱情牵囤,我是刑警寧澤,帶...
    沈念sama閱讀 36,572評(píng)論 5 351
  • 正文 年R本政府宣布滞伟,位于F島的核電站揭鳞,受9級(jí)特大地震影響,放射性物質(zhì)發(fā)生泄漏梆奈。R本人自食惡果不足惜野崇,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 42,254評(píng)論 3 336
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望亩钟。 院中可真熱鬧乓梨,春花似錦、人聲如沸清酥。這莊子的主人今日做“春日...
    開(kāi)封第一講書(shū)人閱讀 32,746評(píng)論 0 25
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)焰轻。三九已至臭觉,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間辱志,已是汗流浹背蝠筑。 一陣腳步聲響...
    開(kāi)封第一講書(shū)人閱讀 33,859評(píng)論 1 274
  • 我被黑心中介騙來(lái)泰國(guó)打工, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留揩懒,地道東北人什乙。 一個(gè)月前我還...
    沈念sama閱讀 49,359評(píng)論 3 379
  • 正文 我出身青樓,卻偏偏與公主長(zhǎng)得像旭从,于是被迫代替她去往敵國(guó)和親稳强。 傳聞我的和親對(duì)象是個(gè)殘疾皇子场仲,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,922評(píng)論 2 361

推薦閱讀更多精彩內(nèi)容