[PATCH] imx8m: fix cache setup for dynamic sdram size

the mem_map structure containing the size of SDRAM is used in various cache functions in cache_v8.c thus we need to update it with the sdram size the board is configured with as well. Without this the cache functions do not get setup properly and can hang in the case where a board reports more SDRAM than defined in PHYS_SDRAM_SIZE.
Signed-off-by: Tim Harvey tharvey@gateworks.com --- arch/arm/mach-imx/imx8m/soc.c | 3 +++ 1 file changed, 3 insertions(+)
diff --git a/arch/arm/mach-imx/imx8m/soc.c b/arch/arm/mach-imx/imx8m/soc.c index 9bca5bf..5df8e17 100644 --- a/arch/arm/mach-imx/imx8m/soc.c +++ b/arch/arm/mach-imx/imx8m/soc.c @@ -210,6 +210,9 @@ int dram_init(void) else gd->ram_size = sdram_size;
+ /* also update the SDRAM size in the mem_map used externally */ + imx8m_mem_map[5].size = sdram_size; + #ifdef PHYS_SDRAM_2_SIZE gd->ram_size += PHYS_SDRAM_2_SIZE; #endif

the mem_map structure containing the size of SDRAM is used in various cache functions in cache_v8.c thus we need to update it with the sdram size the board is configured with as well. Without this the cache functions do not get setup properly and can hang in the case where a board reports more SDRAM than defined in PHYS_SDRAM_SIZE. Signed-off-by: Tim Harvey tharvey@gateworks.com
Applied to u-boot-imx, master, thanks !
Best regards, Stefano Babic
participants (2)
-
sbabic@denx.de
-
Tim Harvey