其他分享
首页 > 其他分享> > rk3399 devfs说明或者ddr定频

rk3399 devfs说明或者ddr定频

作者:互联网

rk3399 devfs说明或者ddr定频

1 概述

CPUFreq是内核开发者定义的一套支持根据指定的governor动态调整CPU频率和电压的框架模型,它能有效地降低CPU的功耗,同时兼顾CPU的性能。CPUFreq framework由governor、core、driver、stats组成,软件架构如下:

在这里插入图片描述

CPUFreq governor:用于CPU升降频检测,根据系统负载,决定CPU频率。目前Linux4.4内核中包含了如下几种governor:

conservative:根据CPU负载动态调频,按一定的比例平滑的升高或降低频率。
ondemand:根据CPU负载动态调频,调频幅度比较大,可直接调到最高频或最低频。
interactive:根据CPU负载动态调频,相比ondemand,响应时间更快,可配置参数更多,更灵活。
userspace:提供相应接口供用户态应用程序调整频率。
powersave:功耗优先,始终将频率设置在最低值。
performance:性能优先,始终将频率设置为最高值。

schedutil:EAS使用governor。EAS(Energy Aware Scheduling)是新一代的任务调度策略, 结合CPUFreq
和CPUIdle的策略, 在为某个任务选择运行CPU时, 同时考虑了性能和功耗, 保证了系统能耗最低,并且不
会对性能造成影响。Schedutil调度策略就是专门给EAS使用的CPU调频策略。
CPUFreq core: 对cpufreq governors和cpufreq driver进行了封装和抽象,并定义了清晰的接口。
CPUFreq driver:用于初始化CPU的频率电压表,设置具体CPU的频率。
CPUFreq stats:提供cpufreq有关的统计信息。

2. DDR如何定频:

如果是为了定位问题,想通过命令来定频,可以采用如下方式
kernel 4.4:
获取固件支持的DDR频率:

cat /sys/class/devfreq/dmc/available_frequencies

设置频率:

echo userspace > /sys/class/devfreq/dmc/governor echo 300000000 >/sys/class/devfreq/dmc/min_freq 

//这条是防止要设置的频率低于min_freq,导致设置失败.

echo 300000000 > /sys/class/devfreq/dmc/userspace/set_freq

标签:ddr,governor,定频,CPUFreq,rk3399,频率,调频,CPU,devfs
来源: https://blog.csdn.net/mynameislinduan/article/details/118733835