|
@@ -78,7 +78,7 @@ long int fixed_sdram(ddr512x_config_t *mddrc_config,
|
|
u32 *dram_init_seq, int seq_sz)
|
|
u32 *dram_init_seq, int seq_sz)
|
|
{
|
|
{
|
|
volatile immap_t *im = (immap_t *)CONFIG_SYS_IMMR;
|
|
volatile immap_t *im = (immap_t *)CONFIG_SYS_IMMR;
|
|
- u32 msize = CONFIG_SYS_DDR_SIZE * 1024 * 1024;
|
|
|
|
|
|
+ u32 msize = CONFIG_SYS_MAX_RAM_SIZE;
|
|
u32 msize_log2 = __ilog2(msize);
|
|
u32 msize_log2 = __ilog2(msize);
|
|
u32 i;
|
|
u32 i;
|
|
|
|
|
|
@@ -148,5 +148,10 @@ long int fixed_sdram(ddr512x_config_t *mddrc_config,
|
|
out_be32(&im->mddrc.ddr_time_config0, mddrc_config->ddr_time_config0);
|
|
out_be32(&im->mddrc.ddr_time_config0, mddrc_config->ddr_time_config0);
|
|
out_be32(&im->mddrc.ddr_sys_config, mddrc_config->ddr_sys_config);
|
|
out_be32(&im->mddrc.ddr_sys_config, mddrc_config->ddr_sys_config);
|
|
|
|
|
|
|
|
+ msize = get_ram_size(CONFIG_SYS_DDR_BASE, CONFIG_SYS_MAX_RAM_SIZE);
|
|
|
|
+ /* Fix DDR Local Window for new size */
|
|
|
|
+ out_be32(&im->sysconf.ddrlaw.ar, __ilog2(msize) - 1);
|
|
|
|
+ sync_law(&im->sysconf.ddrlaw.ar);
|
|
|
|
+
|
|
return msize;
|
|
return msize;
|
|
}
|
|
}
|