This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

DM8168只使用EMIF0的问题



DM8168的板子,板子在EMIF0和EMIF1上面各挂了1G的DDR,经过修改EMIF参数和DMM参数,功能都正常了。

现在问题是我们希望在未来的板子里减小设备体积只使用EMIF0上的1G空间。可是只配EMIF0的话,不管配不配DMM,uboot都启动不了。

有什么其他模块对这个内存有要求吗?

  • 你好,

    你可以参考一下下面补丁的修改。

    http://processors.wiki.ti.com/index.php/TI814x-DDR3-Init-U-Boot#FAQ

    Q. How to enable single EMIF configurations on TI8148 u-boot ?

  • 抱歉回复晚了。

    8148的修改思路基本和我改8168一致。

    修改文件include/configs/ti8168_dvr.h,设置只使用EMIF0,只使用一个Bank

    #define CONFIG_TI816X_TWO_EMIF 0

    #define CONFIG_NR_DRAM_BANKS 1 

    修改文件arch\arm\include\asm\arch-ti81xx\ddr_defs_ti816x.h,只使用一个EMIF情况下,EMIF1设置不使用

    #if (CONFIG_TI816X_TWO_EMIF)
    #define USE_EMIF1 1
    #else
    #define USE_EMIF1 0
    #endif

    修改文件board\ti\ti8168_dvr\dvr.c,设置只使用EMIF0,只初始化一个Bank

    int dram_init(void)
    {
    /* Fill up board info */
    gd->bd->bi_dram[0].start = PHYS_DRAM_1;
    gd->bd->bi_dram[0].size = PHYS_DRAM_1_SIZE;

    //WYH,20151228 For 1G ram
    if (CONFIG_TI816X_TWO_EMIF)
    {
    gd->bd->bi_dram[1].start = PHYS_DRAM_2;
    gd->bd->bi_dram[1].size = PHYS_DRAM_2_SIZE;
    }
    return 0;
    }

    其他部分就和Wiki上关于8148部分一样,只不过函数名称不一样而已,包括:

    修改函数config_ti816x_sdram_ddr和emif4p_init增加针对CONFIG_TI816X_TWO_EMIF的条件编译

    config_ti816x_sdram_ddr中增加DMM配置中LISA3只映射挂在EMIF0上的 0x80000000开始的1G内存的配置