gyfkyu 发表于 2016-7-11 17:17:24

请问如何修改内存频率

hi,
   从内核启动log上发现,系统设置的内存频率只有200MHZ,而内存芯片的有效频率可是1066M的,所以按理说内存工作频率
   起码可以设置成400mhz(不超过533)。
   关于内存频率设置的文档只找到一个比较老的《DDR常见问题简单排查-V1.0-20121205.pdf》,里面提到在
    make menuconfig
    System Type --->
   下设置,但我的3.10.0内核源码该选项下只有一个ddr test的选项,没有其他任何设置ddr参数的地方。
   请问有哦同学知道如何设置ddr的频率的吗?
   谢谢!!!

loading 发表于 2016-7-11 18:11:26

在dts 里面,看看

gyfkyu 发表于 2016-7-12 10:13:47

loading 发表于 2016-7-11 18:11
在dts 里面,看看

dts里面关于ddr的设置只找到这一段

&clk_ddr_dvfs_table {
        operating-points = <
                /* KHz    uV */
                200000 1075000
                300000 1075000               
                456000 1125000
                533000 1150000
                >;

        freq-table = <
                /*status                freq(KHz)*/
                SYS_STATUS_NORMAL        456000
                SYS_STATUS_SUSPEND        200000
                //SYS_STATUS_VIDEO_1080P240000
                SYS_STATUS_VIDEO_4K   456000
                SYS_STATUS_PERFORMANCE533000
                //SYS_STATUS_BOOST        324000
                //SYS_STATUS_ISP                400000
                >;
        auto-freq-table = <
                240000
                324000
                456000
                528000
                >;
        auto-freq=<0>;
        status="okay";
};

dtsi里面也有类似的。
但改了两个文件,都没什么效果,内存频率依然为200mhz

brandwarden 发表于 2016-7-12 13:47:10

SYS_STATUS_NORMAL      456000
正常运行时候ddr频率已经是456M了

gyfkyu 发表于 2016-7-12 14:56:06

在arch/arm/mach-rockchip下有ddr的驱动,ddr_rk32.c里面的ddr_init函数有
clk = clk_get(NULL, "clk_ddr");
ddr_print("init success!!! freq=%luMHz\n", clk ? clk_get_rate(clk)/1000000 : freq);
这一句打出来的freq一直都是200mhz。
clk_get函数和clk_get_rate函数应该也是读取dtb的配置来获取参数,不过不清楚其获取的是dtb clk_ddr下的哪些值。

loading 发表于 2016-7-13 12:13:43

gyfkyu 发表于 2016-7-12 14:56
在arch/arm/mach-rockchip下有ddr的驱动,ddr_rk32.c里面的ddr_init函数有
clk = clk_get(NULL, "clk_ddr" ...

没什么研究哎,,,打印出来的是不是初始化时的频率
运行时,,,查看了吗?
页: [1]
查看完整版本: 请问如何修改内存频率