转载请注明出处: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 >;