1、6739平台支持的最大DDR速率为1333Mbps
2、平台默认配置的DDR速率为1333
3、平台默认开启了DVFS功能
4、pl阶段修改DDR速率的位置
dramc_calib.c文件
mempll_init_main函数中
mt_mempll_init(DDR1333, PLL_MODE_1); 设置DDR速率为1333
memfreq_val = 1333000;
对于mt_mempll_init函数的第一个参数,可以设置的值有如下几种,但是6739平台可以设置的最大值为DDR1333
enum {
DDR533 = 533,
DDR800 = 800,
DDR900 = 900,
DDR938 = 938,
DDR1066 = 1066,
DDR1280 = 1280,
DDR1313 = 1313,
DDR1333 = 1333,
DDR1466 = 1466,
DDR1600 = 1600,
};
4、如何确认当前DDR的频率的配置
方法1:查看内核打印信息
[DRAMC Driver] Dram Data Rate = 1333
方法2:cat节点信息
adb root
adb shell cat /sys/bus/platform/drivers/emi_clk_test/read_dram_data_rate
返回:DRAM data rate = 1333
补充说明:cat read_dram_data_rate节点显示的是实时的dramc频率,由于6739平台默认开启了DVFS功能,因此实际得到的值会小于等于1333
5、如何关闭DVFS自动变频功能,从而实现定频配置
修改kernel部分mtk_spm_dvfs.h文件
/* Feature will disable both of DVS/DFS are 0 */
#if defined(CONFIG_MACH_MT6739)
#define SPM_VCORE_DVS_EN 1 // 修改为0 即关闭DVFS自动变频
#define SPM_DDR_DFS_EN 1 // 修改为0 即关闭DVFS自动变频
6、DVFS功能的作用
简单来说DVFS动态电压和频率功能,主要是能根据当前cpu工作任务的强度来自动调整DDR的频率和电压,当系统不忙时降低DDR的频率和电压,从而降低系统的功耗延长机器的续航能力