diff options
author | Igor Opaniuk | 2020-03-27 12:28:18 +0200 |
---|---|---|
committer | Stefano Babic | 2020-04-17 18:58:58 +0200 |
commit | f8ae0bc7c279e48a4bf6602d8a8a7e71d96377db (patch) | |
tree | 398d2c3d14826d6e5c2da13d173ff5e6dd8ad806 /board | |
parent | 168fff26a88fe0bd9034beb8035f61b4c9460048 (diff) |
verdin-imx8mm: adjust dram size in case bl32 is used
Adjust DRAM size in case BL32 secure payload is loaded (OP-TEE/Trusty),
so during MMU initialization U-Boot won't touch this mem area.
BL32 is loaded to the end of DRAM, bl32 payload size is read from
rom_pointer[1]. This relates to the issue described in
59efa6b52b("imx8m: Fix MMU table issue for OPTEE memory").
Signed-off-by: Igor Opaniuk <igor.opaniuk@toradex.com>
Diffstat (limited to 'board')
-rw-r--r-- | board/toradex/verdin-imx8mm/verdin-imx8mm.c | 7 |
1 files changed, 6 insertions, 1 deletions
diff --git a/board/toradex/verdin-imx8mm/verdin-imx8mm.c b/board/toradex/verdin-imx8mm/verdin-imx8mm.c index 16b9fa1ec18..cb9b4e3b0a9 100644 --- a/board/toradex/verdin-imx8mm/verdin-imx8mm.c +++ b/board/toradex/verdin-imx8mm/verdin-imx8mm.c @@ -5,6 +5,7 @@ #include <common.h> #include <asm/arch/clock.h> +#include <asm/arch/sys_proto.h> #include <asm/io.h> #include <miiphy.h> #include <netdev.h> @@ -13,7 +14,11 @@ DECLARE_GLOBAL_DATA_PTR; int dram_init(void) { - gd->ram_size = get_ram_size((void *)PHYS_SDRAM, PHYS_SDRAM_SIZE); + /* rom_pointer[1] contains the size of TEE occupies */ + if (rom_pointer[1]) + gd->ram_size = PHYS_SDRAM_SIZE - rom_pointer[1]; + else + gd->ram_size = PHYS_SDRAM_SIZE; return 0; } |