mirror of
https://xff.cz/git/u-boot/
synced 2025-09-01 00:32:04 +02:00
lib: fdt: Split fdtdec_setup_mem_size_base()
Split fdtdec_setup_mem_size_base() into fdtdec_setup_mem_size_base_fdt(), which allows the caller to pass custom blob into the function and the original fdtdec_setup_mem_size_base(), which uses the gd->fdt_blob. This is useful when configuring the DRAM properties from a FDT blob fragment passed in by the firmware. Signed-off-by: Marek Vasut <marek.vasut+renesas@gmail.com> Cc: Nobuhiro Iwamatsu <iwamatsu@nigauri.org> Cc: Simon Glass <sjg@chromium.org> Cc: Tom Rini <trini@konsulko.com> Reviewed-by: Simon Glass <sjg@chromium.org>
This commit is contained in:
11
lib/fdtdec.c
11
lib/fdtdec.c
@@ -1088,18 +1088,18 @@ int fdtdec_decode_display_timing(const void *blob, int parent, int index,
|
||||
return ret;
|
||||
}
|
||||
|
||||
int fdtdec_setup_mem_size_base(void)
|
||||
int fdtdec_setup_mem_size_base_fdt(const void *blob)
|
||||
{
|
||||
int ret, mem;
|
||||
struct fdt_resource res;
|
||||
|
||||
mem = fdt_path_offset(gd->fdt_blob, "/memory");
|
||||
mem = fdt_path_offset(blob, "/memory");
|
||||
if (mem < 0) {
|
||||
debug("%s: Missing /memory node\n", __func__);
|
||||
return -EINVAL;
|
||||
}
|
||||
|
||||
ret = fdt_get_resource(gd->fdt_blob, mem, "reg", 0, &res);
|
||||
ret = fdt_get_resource(blob, mem, "reg", 0, &res);
|
||||
if (ret != 0) {
|
||||
debug("%s: Unable to decode first memory bank\n", __func__);
|
||||
return -EINVAL;
|
||||
@@ -1113,6 +1113,11 @@ int fdtdec_setup_mem_size_base(void)
|
||||
return 0;
|
||||
}
|
||||
|
||||
int fdtdec_setup_mem_size_base(void)
|
||||
{
|
||||
return fdtdec_setup_mem_size_base_fdt(gd->fdt_blob);
|
||||
}
|
||||
|
||||
#if defined(CONFIG_NR_DRAM_BANKS)
|
||||
|
||||
static int get_next_memory_node(const void *blob, int mem)
|
||||
|
Reference in New Issue
Block a user