Bootstrap

[RK3288][Android6.0] DDR Frequency控制流程小结

Platform: RK3288
OS: Android 6.0
Kernel: 3.10.92

DVFS即Dynamic Voltage and Frequency Scaling.

有看到RK将DDR的控制也放在DVFS中,也就是说DDR会在系统运行时被根据不同的情况
做出不同的频率调整以降低系统功耗.DVFS驱动在dvfs.c中,这里不做描述,只要关注调用的接口即可.


相关文件:

ddr_rk32.c
ddr驱动,直接和硬件打交道.
rk3288.c
ddr控制接口.
ddr_freq.c
ddr和用户空间交互接口.
dvfs.c
dvfs驱动.
rk_system_status.c
system status控制接口.


dts:
&clk_ddr_dvfs_table {
    /*不同的频率需要对应不同的电压.*/
    operating-points = <
        /* KHz    uV */
        200000 1050000
        300000 1050000
        400000 1100000
        533000 1150000
        >;

    /*系统有两种控制方法:

    一种是根据当前的video 分辨率(这里称作系统状态)来决定ddr freq;

    还有一种就是下面的auto-freq-table,系统根据当前的loading来自动控制频率.

   前者会被优先判断,当系统状态不是前者任何一种时,再选择使用后者策略。

*/

;