DM8168的板子,板子在EMIF0和EMIF1上面各挂了1G的DDR,经过修改EMIF参数和DMM参数,功能都正常了。
现在问题是我们希望在未来的板子里减小设备体积只使用EMIF0上的1G空间。可是只配EMIF0的话,不管配不配DMM,uboot都启动不了。
有什么其他模块对这个内存有要求吗?
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.
你好,
你可以参考一下下面补丁的修改。
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内存的配置