mirror of
https://github.com/Fishwaldo/u-boot.git
synced 2025-06-05 22:31:36 +00:00
mpc5121: determine RAM size using get_ram_size()
Configure CONFIG_SYS_MAX_RAM_SIZE address range in DDR Local Access Window and determine the RAM size. Fix DDR LAW afterwards using detected RAM size. Signed-off-by: Anatolij Gustschin <agust@denx.de>
This commit is contained in:
parent
5d937e8b59
commit
b9947bbb08
4 changed files with 9 additions and 1 deletions
|
@ -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;
|
||||||
}
|
}
|
||||||
|
|
|
@ -78,6 +78,7 @@
|
||||||
#define CONFIG_SYS_DDR_SIZE 256 /* MB */
|
#define CONFIG_SYS_DDR_SIZE 256 /* MB */
|
||||||
#define CONFIG_SYS_DDR_BASE 0x00000000
|
#define CONFIG_SYS_DDR_BASE 0x00000000
|
||||||
#define CONFIG_SYS_SDRAM_BASE CONFIG_SYS_DDR_BASE
|
#define CONFIG_SYS_SDRAM_BASE CONFIG_SYS_DDR_BASE
|
||||||
|
#define CONFIG_SYS_MAX_RAM_SIZE 0x20000000
|
||||||
|
|
||||||
#define CONFIG_SYS_IOCTRL_MUX_DDR 0x00000036
|
#define CONFIG_SYS_IOCTRL_MUX_DDR 0x00000036
|
||||||
|
|
||||||
|
|
|
@ -66,6 +66,7 @@
|
||||||
|
|
||||||
#define CONFIG_SYS_DDR_BASE 0x00000000 /* DDR is sys memory*/
|
#define CONFIG_SYS_DDR_BASE 0x00000000 /* DDR is sys memory*/
|
||||||
#define CONFIG_SYS_SDRAM_BASE CONFIG_SYS_DDR_BASE
|
#define CONFIG_SYS_SDRAM_BASE CONFIG_SYS_DDR_BASE
|
||||||
|
#define CONFIG_SYS_MAX_RAM_SIZE 0x20000000
|
||||||
|
|
||||||
#define CONFIG_SYS_IOCTRL_MUX_DDR 0x00000036
|
#define CONFIG_SYS_IOCTRL_MUX_DDR 0x00000036
|
||||||
|
|
||||||
|
|
|
@ -85,6 +85,7 @@
|
||||||
#endif
|
#endif
|
||||||
#define CONFIG_SYS_DDR_BASE 0x00000000 /* DDR is system memory*/
|
#define CONFIG_SYS_DDR_BASE 0x00000000 /* DDR is system memory*/
|
||||||
#define CONFIG_SYS_SDRAM_BASE CONFIG_SYS_DDR_BASE
|
#define CONFIG_SYS_SDRAM_BASE CONFIG_SYS_DDR_BASE
|
||||||
|
#define CONFIG_SYS_MAX_RAM_SIZE 0x20000000
|
||||||
|
|
||||||
#define CONFIG_SYS_IOCTRL_MUX_DDR 0x00000036
|
#define CONFIG_SYS_IOCTRL_MUX_DDR 0x00000036
|
||||||
|
|
||||||
|
|
Loading…
Add table
Reference in a new issue