From: Patrice Chotard Date: Fri, 3 Aug 2018 11:09:55 +0000 (+0200) Subject: stm32f7: board: Fix memory init X-Git-Tag: v2018.09-rc2~15 X-Git-Url: https://git.librecmc.org/?a=commitdiff_plain;h=8ff21d6d9c26e1aca5a6d0df9a43519d24948f69;p=oweals%2Fu-boot.git stm32f7: board: Fix memory init Commit 1473b12ad0b3 ("lib: fdtdec: Update ram_base to store ram start adddress") brings regression on STM32F7 which can't boot. Use fdtdec_setup_mem_size_base() to setup memory base and size. Use fdtdec_setup_memory_banksize() to setup memory bank base and size. Reported-by: Mark Olsson Signed-off-by: Patrice Chotard Cc: Mark Olsson Reviewed-by: Vikas Manocha --- diff --git a/board/st/stm32f746-disco/stm32f746-disco.c b/board/st/stm32f746-disco/stm32f746-disco.c index e21cfc6e49..7c9b1ad82a 100644 --- a/board/st/stm32f746-disco/stm32f746-disco.c +++ b/board/st/stm32f746-disco/stm32f746-disco.c @@ -21,25 +21,10 @@ DECLARE_GLOBAL_DATA_PTR; -int get_memory_base_size(fdt_addr_t *mr_base, fdt_addr_t *mr_size) -{ - int mr_node; - - mr_node = fdt_path_offset(gd->fdt_blob, "/memory"); - if (mr_node < 0) - return mr_node; - *mr_base = fdtdec_get_addr_size_auto_noparent(gd->fdt_blob, mr_node, - "reg", 0, mr_size, false); - debug("mr_base = %lx, mr_size= %lx\n", *mr_base, *mr_size); - - return 0; -} int dram_init(void) { - int rv; - fdt_addr_t mr_base, mr_size; - #ifndef CONFIG_SUPPORT_SPL + int rv; struct udevice *dev; rv = uclass_get_device(UCLASS_RAM, 0, &dev); if (rv) { @@ -48,26 +33,12 @@ int dram_init(void) } #endif - rv = get_memory_base_size(&mr_base, &mr_size); - if (rv) - return rv; - gd->ram_size = mr_size; - gd->ram_top = mr_base; - - return rv; + return fdtdec_setup_mem_size_base(); } int dram_init_banksize(void) { - fdt_addr_t mr_base, mr_size; - get_memory_base_size(&mr_base, &mr_size); - /* - * Fill in global info with description of SRAM configuration - */ - gd->bd->bi_dram[0].start = mr_base; - gd->bd->bi_dram[0].size = mr_size; - - return 0; + return fdtdec_setup_memory_banksize(); } int board_early_init_f(void)