轉載請注明出處:https://www.cnblogs.com/lialong1st/p/10912334.html
CPU:RK3288
系統:Android 5.1
RK3288 的 ddr 頻率會根據系統運行時的狀態做出調試,是系統運行更加流暢,而且也降低功耗
rk3288-8846.dts
operating-points = < /* KHz uV */ 200000 1050000 300000 1050000 400000 1100000 533000 1150000 >;
operating-points 是不同頻率多對應的電壓值,比如 400MHz 需要的電壓是 1.1V。
這里一般不需要自行修改,如果要調,也只是微調。
本人只遇到一次,開機后lcd偶現綠屏,當是 ddr 頻率是 400MHz,然后將 400MHz 對應的電壓從 1.1V 提高到 1.15V,問題解決。
freq-table = < /*status freq(KHz)*/ SYS_STATUS_NORMAL 400000 SYS_STATUS_SUSPEND 200000 SYS_STATUS_VIDEO_1080P 240000 SYS_STATUS_VIDEO_4K 400000 SYS_STATUS_PERFORMANCE 528000 SYS_STATUS_DUALVIEW 400000 SYS_STATUS_BOOST 324000 SYS_STATUS_ISP 400000 >; auto-freq-table = < 240000 324000 396000 528000 >;
控制 ddr 頻率有兩種方式
系統默認根據當前的狀態 (freq-table) 來調整 ddr 頻率,400MHz實際是396MHz,如果沒有合適的狀態,就會根據當前的負載 (auto-freq-table) 來調整 ddr 頻率
一般情況下,查看 ddr 的頻率都是 396MHz,RK3288 查看ddr當前運行頻率
誤區:如果主板接一個 LCD,大家都會以為系統狀態是 SYS_STATUS_NORMAL,但是代碼默認支持 HDMI,所以正確狀態是 SYS_STATUS_DUALVIEW
如果想提高到 528MHz,最直接的方法是將 SYS_STATUS_DUALVIEW 對應的頻率修改為 528MHz
也可以按照以下方法修改:
1、屏蔽掉 freq-table 中的 SYS_STATUS_DUALVIEW
2、屏蔽掉 SYS_STATUS_DUALVIEW 后,系統在 freq-table 中找不到當前適合的狀態,就會進入 auto-freq-table 中,設置第一個為 ddr 頻率
顯然 240MHz 不是我們需要的,要想得到 528MHz 的頻率,就需要把前面的都屏蔽掉。
freq-table = < /*status freq(KHz)*/ SYS_STATUS_NORMAL 400000 SYS_STATUS_SUSPEND 200000 SYS_STATUS_VIDEO_1080P 240000 SYS_STATUS_VIDEO_4K 400000 SYS_STATUS_PERFORMANCE 528000 // SYS_STATUS_DUALVIEW 400000 SYS_STATUS_BOOST 324000 SYS_STATUS_ISP 400000 >; auto-freq-table = < // 240000 // 324000 // 396000 528000 >;