summaryrefslogtreecommitdiff
path: root/board/st
diff options
context:
space:
mode:
authorPatrice Chotard <patrice.chotard@st.com>2018-08-03 13:09:55 +0200
committerTom Rini <trini@konsulko.com>2018-08-13 14:03:57 -0400
commit8ff21d6d9c26e1aca5a6d0df9a43519d24948f69 (patch)
treeb483534f0a6a21b0c02f70649917192ff8be4ba4 /board/st
parent673c624cab2471daadb7f197c98959a2398dbe98 (diff)
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 <mark@markolsson.se> Signed-off-by: Patrice Chotard <patrice.chotard@st.com> Cc: Mark Olsson <mark@markolsson.se> Reviewed-by: Vikas Manocha <vikas.manocha@st.com>
Diffstat (limited to 'board/st')
-rw-r--r--board/st/stm32f746-disco/stm32f746-disco.c35
1 files changed, 3 insertions, 32 deletions
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)