diff options
author | Linus Walleij <linus.walleij@linaro.org> | 2015-05-11 10:03:57 +0200 |
---|---|---|
committer | Tom Rini <trini@konsulko.com> | 2015-05-27 13:35:55 -0400 |
commit | 303557089f3db253eaec6f38dece204fd154b6ac (patch) | |
tree | 6944b538c12cfbd6f020c31f549b09fa73c8ee7b | |
parent | e186851ae4f0a4c8b75108930b61a5f74baf6ed4 (diff) | |
download | u-boot-imx-303557089f3db253eaec6f38dece204fd154b6ac.zip u-boot-imx-303557089f3db253eaec6f38dece204fd154b6ac.tar.gz u-boot-imx-303557089f3db253eaec6f38dece204fd154b6ac.tar.bz2 |
vexpress64: fix various memory issues
The ARM Trusted Firmware or other security solutions are
eating memory from the top of the physical SDRAM1 space,
moving backward from 0xffffffff, currently occupying e.g.
0xfe000000-0xffffffff with Trusted Firmware.
This solution to reserving memory for secure world is not
optimal, so we need to think of how the secure world and
earlier boot stages should communicate to U-Boot what
memory they are eating up. For now let's just put 16MB
aside.
Also enable the memory test command and define start and
end of the test range so we can check that we actually have
all that memory available and working.
Suggested-by: Axel Haslam <ahaslam@baylibre.com>
Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
-rw-r--r-- | include/configs/vexpress_aemv8a.h | 14 |
1 files changed, 9 insertions, 5 deletions
diff --git a/include/configs/vexpress_aemv8a.h b/include/configs/vexpress_aemv8a.h index 18edd5d..e9d9ae3 100644 --- a/include/configs/vexpress_aemv8a.h +++ b/include/configs/vexpress_aemv8a.h @@ -113,9 +113,6 @@ #endif #endif /* !CONFIG_GICV3 */ -#define CONFIG_SYS_MEMTEST_START V2M_BASE -#define CONFIG_SYS_MEMTEST_END (V2M_BASE + 0x80000000) - /* Size of malloc() pool */ #define CONFIG_SYS_MALLOC_F_LEN 0x2000 #define CONFIG_SYS_MALLOC_LEN (CONFIG_ENV_SIZE + (8 << 20)) @@ -182,8 +179,15 @@ /* Physical Memory Map */ #define CONFIG_NR_DRAM_BANKS 1 #define PHYS_SDRAM_1 (V2M_BASE) /* SDRAM Bank #1 */ -#define PHYS_SDRAM_1_SIZE 0x80000000 /* 2048 MB */ -#define CONFIG_SYS_SDRAM_BASE PHYS_SDRAM_1 +/* Top 16MB reserved for secure world use */ +#define DRAM_SEC_SIZE 0x01000000 +#define PHYS_SDRAM_1_SIZE 0x80000000 - DRAM_SEC_SIZE +#define CONFIG_SYS_SDRAM_BASE PHYS_SDRAM_1 + +/* Enable memtest */ +#define CONFIG_CMD_MEMTEST +#define CONFIG_SYS_MEMTEST_START PHYS_SDRAM_1 +#define CONFIG_SYS_MEMTEST_END (PHYS_SDRAM_1 + PHYS_SDRAM_1_SIZE) /* Initial environment variables */ #ifdef CONFIG_TARGET_VEXPRESS64_JUNO |