zoukankan      html  css  js  c++  java
  • RK3288 修改ddr频率

    转载请注明出处: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
        >;
  • 相关阅读:
    AAC音频格式分析与解码
    SIGPIPE信号
    可变参数的宏定义
    Makefile条件编译debug版和release版
    Linux下查看内存使用情况
    Trie树 字典树
    C/C++随机数生成 rand() srand()
    关于编译安装Thrift找不到libthriftnb.a的问题
    Linux下使用popen()执行shell命令
    WebSocket协议分析
  • 原文地址:https://www.cnblogs.com/lialong1st/p/10912334.html
Copyright © 2011-2022 走看看