summaryrefslogtreecommitdiff
path: root/include
diff options
context:
space:
mode:
authorMarek Vasut <marex@denx.de>2014-03-28 08:31:01 +0100
committerStefano Babic <sbabic@denx.de>2014-03-31 18:28:51 +0200
commit97334c66169af70b665e4726730eadd002cc54b8 (patch)
treee2b7812b25749f24d7fd81bcf13f8e0f0c72d624 /include
parent2f844e76daa2141f445009d19fc9dffdaf3f5000 (diff)
downloadu-boot-imx-97334c66169af70b665e4726730eadd002cc54b8.zip
u-boot-imx-97334c66169af70b665e4726730eadd002cc54b8.tar.gz
u-boot-imx-97334c66169af70b665e4726730eadd002cc54b8.tar.bz2
arm: mx5: Avoid hardcoding memory sizes on M53EVK
The DRAM size can be easily detected at runtime on i.MX53. Implement such detection on M53EVK and adjust the rest of the macros accordingly to use the detected values. An important thing to note here is that we had to override the function for trimming the effective DRAM address, get_effective_memsize(). That is because the function uses CONFIG_MAX_MEM_MAPPED as the upper bound of the available DRAM and we don't have gd->bd->bi_dram[0].size set up at the time the function is called, thus we cannot put this into the macro CONFIG_MAX_MEM_MAPPED . Instead, we use custom override where we use the size of the first DRAM block which we just detected. Signed-off-by: Marek Vasut <marex@denx.de> Cc: Fabio Estevam <fabio.estevam@freescale.com> Cc: Stefano Babic <sbabic@denx.de> Cc: Wolfgang Denk <wd@denx.de>
Diffstat (limited to 'include')
-rw-r--r--include/configs/m53evk.h8
1 files changed, 3 insertions, 5 deletions
diff --git a/include/configs/m53evk.h b/include/configs/m53evk.h
index 3e0a618..7c0d3db 100644
--- a/include/configs/m53evk.h
+++ b/include/configs/m53evk.h
@@ -46,15 +46,13 @@
*/
#define CONFIG_NR_DRAM_BANKS 2
#define PHYS_SDRAM_1 CSD0_BASE_ADDR
-#define PHYS_SDRAM_1_SIZE (512 * 1024 * 1024)
+#define PHYS_SDRAM_1_SIZE (gd->bd->bi_dram[0].size)
#define PHYS_SDRAM_2 CSD1_BASE_ADDR
-#define PHYS_SDRAM_2_SIZE (512 * 1024 * 1024)
-#define PHYS_SDRAM_SIZE (PHYS_SDRAM_1_SIZE + PHYS_SDRAM_2_SIZE)
+#define PHYS_SDRAM_2_SIZE (gd->bd->bi_dram[1].size)
+#define PHYS_SDRAM_SIZE (gd->ram_size)
#define CONFIG_SYS_MALLOC_LEN (10 * 1024 * 1024)
#define CONFIG_SYS_MEMTEST_START 0x70000000
#define CONFIG_SYS_MEMTEST_END 0x8ff00000
-#define CONFIG_VERY_BIG_RAM
-#define CONFIG_MAX_MEM_MAPPED PHYS_SDRAM_1_SIZE
#define CONFIG_SYS_SDRAM_BASE (PHYS_SDRAM_1)
#define CONFIG_SYS_INIT_RAM_ADDR (IRAM_BASE_ADDR)