summaryrefslogtreecommitdiff
path: root/arch/arm/mach-stm32mp/dram_init.c
diff options
context:
space:
mode:
authorPatrice Chotard <patrice.chotard@foss.st.com>2021-09-01 10:56:02 +0300
committerPatrick Delaunay <patrick.delaunay@foss.st.com>2021-09-06 11:00:11 +0300
commitc8510e397fad4056619d2dab6f2b61c48766a239 (patch)
tree95d8ea2870afb05c87d0fdddf23452ef51ba970d /arch/arm/mach-stm32mp/dram_init.c
parentecd6e0ce5aaeeb1149b0b8ebe6bed8198d0bd2fe (diff)
downloadu-boot-c8510e397fad4056619d2dab6f2b61c48766a239.tar.xz
stm32mp: Fix board_get_usable_ram_top()
When booting in EFI, lib/efi_loader/efi_memory.c calls board_get_usable_ram_top(0) which returns by default gd->ram_base + gd->ram_size which is the top of DDR. In case of OPTEE boot, the top of DDR is currently reserved by OPTEE, board_get_usable_ram_top(0) must return an address outside OPTEE reserved memory. gd->ram_top matches this constraint as it has already been initialized by substracting all DT reserved-memory (included OPTEE memory area). Fixes: 92b611e8b003 ("stm32mp: correctly handle board_get_usable_ram_top(0)") Signed-off-by: Patrice Chotard <patrice.chotard@foss.st.com> Reviewed-by: Patrick Delaunay <patrick.delaunay@foss.st.com>
Diffstat (limited to 'arch/arm/mach-stm32mp/dram_init.c')
-rw-r--r--arch/arm/mach-stm32mp/dram_init.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/arch/arm/mach-stm32mp/dram_init.c b/arch/arm/mach-stm32mp/dram_init.c
index 94f25f34e0..920b99bb68 100644
--- a/arch/arm/mach-stm32mp/dram_init.c
+++ b/arch/arm/mach-stm32mp/dram_init.c
@@ -47,7 +47,7 @@ ulong board_get_usable_ram_top(ulong total_size)
struct lmb lmb;
if (!total_size)
- return gd->ram_base + gd->ram_size;
+ return gd->ram_top;
/* found enough not-reserved memory to relocated U-Boot */
lmb_init(&lmb);