[RK3399][Android7.1] DDR动态频率调节驱动小结

OS: Android 7.1
Board: Firefly-RK3399
Kernel: v4.4.55

devfreq介绍:

rk3288平台上, gpu和ddr有自己的一套dvfs机制,而在rk3399平台,使用了系统的devfreq框架。

devfreq 是内核开发者定义的一套支持动态调整设备频率和电压的的框架模型。它能有效的降
低该设备的功耗,同时兼顾其性能。
devfreq 通过不同的变频策略,选择一个合适的频率供设备使用,目前的内核版本提供了以下
几种策略:

  • Simple Ondemand :根据负载动态调频调压;
  • Userspace:用户自己设置电压和频率,系统不会自动调整;
  • Powersave:功耗优先,始终将频率设置在最低值;
  • Performance:性能优先,始终将频率设置为最高值。

devfreq和cpufreq的功能类似,只是前者用于控制device的clock,后者用来控制cpu.

这里写图片描述


dts配置:
dmc, dynamic memory controller

    dmc: dmc {
        compatible = "rockchip,rk3399-dmc";
        devfreq-events = <&dfi>;
        interrupts = <GIC_SPI 1 IRQ_TYPE_LEVEL_HIGH 0>;
        clocks = <&cru SCLK_DDRCLK>;
        clock-names = "dmc_clk";
        ddr_timing = <&ddr_timing>;
        status = "disabled";
    };

dfi,全称不晓得,用于监控dmc的loading模块

    dfi: dfi@ff630000 {
        reg = <0x00 0xff630000 0x00 0x4000>;
        compatible = "rockchip,rk3399-dfi";
        rockchip,pmu = <&pmugrf>;
        clocks = <&cru PCLK_DDR_MON>;
        clock-names = "pclk_ddr_mon";
        status = "disabled";
    };

ddr timing:

ddr_timing: ddr_timing {
  • 9
    点赞
  • 33
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值