OS: Android 7.1
Board: Firefly-RK3399
Kernel: v4.4.55
之前有提到loader中有设置ddr频率为800MHz,当kernel中开启了ddr devfreq之后,驱动加载时会获取ddr默认频率。
rockchip_dmc.c:
static int rockchip_dmcfreq_probe(struct platform_device *pdev)
{
//根据name获取对应的struct clk结构
data->dmc_clk = devm_clk_get(dev, "dmc_clk");
......
//获取clk的当前rate
data->rate = clk_get_rate(data->dmc_clk);
...

本文介绍了在Android 7.1系统上,基于RK3399平台的DDR工作频率获取与设置。在Kernel v4.4.55中,由于ddr devfreq的启用,驱动在加载时会自动获取默认DDR频率。通过分析rockchip_dmc.c,发现DDR的实际频率并非PCLK_DDR的200MHz,而是SCLK_DDRCLK的800MHz。系统开机后,devfreq监控线程利用recalc_rate函数获取当前DDR频率,而set_rate接口用于设定频率。
最低0.47元/天 解锁文章
1774

被折叠的 条评论
为什么被折叠?



