[U-Boot] [PATCH v3 1/4] lib: fdtdec: Add new variable ram_start to global data

Added new variable ram_start to global data structure for holding the start address of first bank of RAM, and then use this ram_start for calculating ram_top properly. This patch fixes the erroneous calculation of ram_top incase of non zero ram start address. This patch also renames fdtdec_setup_memory_size() to fdtdec_setup_mem_size_start() as this routine now takes care of memory size and start.
Signed-off-by: Siva Durga Prasad Paladugu siva.durga.paladugu@xilinx.com Signed-off-by: Michal Simek michal.simek@xilinx.com --- Changes from v2: - Used new varibale ram_start - Rename fdtdec_setup_memory_size
Changes from v1: - None --- arch/arm/mach-mvebu/arm64-common.c | 2 +- board/emulation/qemu-arm/qemu-arm.c | 2 +- board/renesas/alt/alt.c | 2 +- board/renesas/blanche/blanche.c | 2 +- board/renesas/draak/draak.c | 2 +- board/renesas/eagle/eagle.c | 2 +- board/renesas/gose/gose.c | 2 +- board/renesas/koelsch/koelsch.c | 2 +- board/renesas/lager/lager.c | 2 +- board/renesas/porter/porter.c | 2 +- board/renesas/salvator-x/salvator-x.c | 2 +- board/renesas/silk/silk.c | 2 +- board/renesas/stout/stout.c | 2 +- board/renesas/ulcb/ulcb.c | 2 +- board/st/stm32f429-discovery/stm32f429-discovery.c | 2 +- board/st/stm32f429-evaluation/stm32f429-evaluation.c | 2 +- board/st/stm32f469-discovery/stm32f469-discovery.c | 2 +- board/st/stm32h743-disco/stm32h743-disco.c | 2 +- board/st/stm32h743-eval/stm32h743-eval.c | 2 +- board/xilinx/zynq/board.c | 2 +- board/xilinx/zynqmp/zynqmp.c | 2 +- board/xilinx/zynqmp_r5/board.c | 2 +- common/board_f.c | 4 ++-- include/asm-generic/global_data.h | 1 + include/fdtdec.h | 16 +++++++++------- lib/fdtdec.c | 3 ++- tools/patman/func_test.py | 2 +- tools/patman/test/0000-cover-letter.patch | 2 +- ...orrect-cast-for-sandbox-in-fdtdec_setup_memory_.patch | 4 ++-- tools/patman/test/test01.txt | 2 +- 30 files changed, 41 insertions(+), 37 deletions(-)
diff --git a/arch/arm/mach-mvebu/arm64-common.c b/arch/arm/mach-mvebu/arm64-common.c index d3ea9e6..c2ab831 100644 --- a/arch/arm/mach-mvebu/arm64-common.c +++ b/arch/arm/mach-mvebu/arm64-common.c @@ -54,7 +54,7 @@ int dram_init_banksize(void)
int dram_init(void) { - if (fdtdec_setup_memory_size() != 0) + if (fdtdec_setup_mem_size_start() != 0) return -EINVAL;
return 0; diff --git a/board/emulation/qemu-arm/qemu-arm.c b/board/emulation/qemu-arm/qemu-arm.c index 6ec4200..926bbf2 100644 --- a/board/emulation/qemu-arm/qemu-arm.c +++ b/board/emulation/qemu-arm/qemu-arm.c @@ -47,7 +47,7 @@ int board_init(void)
int dram_init(void) { - if (fdtdec_setup_memory_size() != 0) + if (fdtdec_setup_mem_size_start() != 0) return -EINVAL;
return 0; diff --git a/board/renesas/alt/alt.c b/board/renesas/alt/alt.c index 86e9d24..58838ff 100644 --- a/board/renesas/alt/alt.c +++ b/board/renesas/alt/alt.c @@ -78,7 +78,7 @@ int board_init(void)
int dram_init(void) { - if (fdtdec_setup_memory_size() != 0) + if (fdtdec_setup_mem_size_start() != 0) return -EINVAL;
return 0; diff --git a/board/renesas/blanche/blanche.c b/board/renesas/blanche/blanche.c index 7d48d0f..1fd511c 100644 --- a/board/renesas/blanche/blanche.c +++ b/board/renesas/blanche/blanche.c @@ -339,7 +339,7 @@ int board_eth_init(bd_t *bis)
int dram_init(void) { - if (fdtdec_setup_memory_size() != 0) + if (fdtdec_setup_mem_size_start() != 0) return -EINVAL;
return 0; diff --git a/board/renesas/draak/draak.c b/board/renesas/draak/draak.c index f804fae..b178131 100644 --- a/board/renesas/draak/draak.c +++ b/board/renesas/draak/draak.c @@ -96,7 +96,7 @@ int board_init(void)
int dram_init(void) { - if (fdtdec_setup_memory_size() != 0) + if (fdtdec_setup_mem_size_start() != 0) return -EINVAL;
return 0; diff --git a/board/renesas/eagle/eagle.c b/board/renesas/eagle/eagle.c index 4bf0a20..26deca9 100644 --- a/board/renesas/eagle/eagle.c +++ b/board/renesas/eagle/eagle.c @@ -73,7 +73,7 @@ int board_init(void)
int dram_init(void) { - if (fdtdec_setup_memory_size() != 0) + if (fdtdec_setup_mem_size_start() != 0) return -EINVAL;
return 0; diff --git a/board/renesas/gose/gose.c b/board/renesas/gose/gose.c index 96ac29d..1862c16 100644 --- a/board/renesas/gose/gose.c +++ b/board/renesas/gose/gose.c @@ -83,7 +83,7 @@ int board_init(void)
int dram_init(void) { - if (fdtdec_setup_memory_size() != 0) + if (fdtdec_setup_mem_size_start() != 0) return -EINVAL;
return 0; diff --git a/board/renesas/koelsch/koelsch.c b/board/renesas/koelsch/koelsch.c index b6688a2..a650b8b 100644 --- a/board/renesas/koelsch/koelsch.c +++ b/board/renesas/koelsch/koelsch.c @@ -85,7 +85,7 @@ int board_init(void)
int dram_init(void) { - if (fdtdec_setup_memory_size() != 0) + if (fdtdec_setup_mem_size_start() != 0) return -EINVAL;
return 0; diff --git a/board/renesas/lager/lager.c b/board/renesas/lager/lager.c index 6bfb0d1..ee66f02 100644 --- a/board/renesas/lager/lager.c +++ b/board/renesas/lager/lager.c @@ -94,7 +94,7 @@ int board_init(void)
int dram_init(void) { - if (fdtdec_setup_memory_size() != 0) + if (fdtdec_setup_mem_size_start() != 0) return -EINVAL;
return 0; diff --git a/board/renesas/porter/porter.c b/board/renesas/porter/porter.c index cadff2c..b4d7f57 100644 --- a/board/renesas/porter/porter.c +++ b/board/renesas/porter/porter.c @@ -83,7 +83,7 @@ int board_init(void)
int dram_init(void) { - if (fdtdec_setup_memory_size() != 0) + if (fdtdec_setup_mem_size_start() != 0) return -EINVAL;
return 0; diff --git a/board/renesas/salvator-x/salvator-x.c b/board/renesas/salvator-x/salvator-x.c index 651877c..c104458 100644 --- a/board/renesas/salvator-x/salvator-x.c +++ b/board/renesas/salvator-x/salvator-x.c @@ -108,7 +108,7 @@ int board_init(void)
int dram_init(void) { - if (fdtdec_setup_memory_size() != 0) + if (fdtdec_setup_mem_size_start() != 0) return -EINVAL;
return 0; diff --git a/board/renesas/silk/silk.c b/board/renesas/silk/silk.c index 5fa472c..eda61ee 100644 --- a/board/renesas/silk/silk.c +++ b/board/renesas/silk/silk.c @@ -78,7 +78,7 @@ int board_init(void)
int dram_init(void) { - if (fdtdec_setup_memory_size() != 0) + if (fdtdec_setup_mem_size_start() != 0) return -EINVAL;
return 0; diff --git a/board/renesas/stout/stout.c b/board/renesas/stout/stout.c index 778593b..bc62caf 100644 --- a/board/renesas/stout/stout.c +++ b/board/renesas/stout/stout.c @@ -97,7 +97,7 @@ int board_init(void)
int dram_init(void) { - if (fdtdec_setup_memory_size() != 0) + if (fdtdec_setup_mem_size_start() != 0) return -EINVAL;
return 0; diff --git a/board/renesas/ulcb/ulcb.c b/board/renesas/ulcb/ulcb.c index 9e15e45..679f09d 100644 --- a/board/renesas/ulcb/ulcb.c +++ b/board/renesas/ulcb/ulcb.c @@ -96,7 +96,7 @@ int board_init(void)
int dram_init(void) { - if (fdtdec_setup_memory_size() != 0) + if (fdtdec_setup_mem_size_start() != 0) return -EINVAL;
return 0; diff --git a/board/st/stm32f429-discovery/stm32f429-discovery.c b/board/st/stm32f429-discovery/stm32f429-discovery.c index b7638c0..fea3b6e 100644 --- a/board/st/stm32f429-discovery/stm32f429-discovery.c +++ b/board/st/stm32f429-discovery/stm32f429-discovery.c @@ -29,7 +29,7 @@ int dram_init(void) return rv; }
- if (fdtdec_setup_memory_size() != 0) + if (fdtdec_setup_mem_size_start() != 0) rv = -EINVAL;
return rv; diff --git a/board/st/stm32f429-evaluation/stm32f429-evaluation.c b/board/st/stm32f429-evaluation/stm32f429-evaluation.c index 2e638c6..6bf7f33 100644 --- a/board/st/stm32f429-evaluation/stm32f429-evaluation.c +++ b/board/st/stm32f429-evaluation/stm32f429-evaluation.c @@ -23,7 +23,7 @@ int dram_init(void) return rv; }
- if (fdtdec_setup_memory_size() != 0) + if (fdtdec_setup_mem_size_start() != 0) rv = -EINVAL;
return rv; diff --git a/board/st/stm32f469-discovery/stm32f469-discovery.c b/board/st/stm32f469-discovery/stm32f469-discovery.c index 90d7045..e2c2865 100644 --- a/board/st/stm32f469-discovery/stm32f469-discovery.c +++ b/board/st/stm32f469-discovery/stm32f469-discovery.c @@ -23,7 +23,7 @@ int dram_init(void) return rv; }
- if (fdtdec_setup_memory_size() != 0) + if (fdtdec_setup_mem_size_start() != 0) rv = -EINVAL;
return rv; diff --git a/board/st/stm32h743-disco/stm32h743-disco.c b/board/st/stm32h743-disco/stm32h743-disco.c index fa007c7..469370c 100644 --- a/board/st/stm32h743-disco/stm32h743-disco.c +++ b/board/st/stm32h743-disco/stm32h743-disco.c @@ -20,7 +20,7 @@ int dram_init(void) return ret; }
- if (fdtdec_setup_memory_size() != 0) + if (fdtdec_setup_mem_size_start() != 0) ret = -EINVAL;
return ret; diff --git a/board/st/stm32h743-eval/stm32h743-eval.c b/board/st/stm32h743-eval/stm32h743-eval.c index fa007c7..469370c 100644 --- a/board/st/stm32h743-eval/stm32h743-eval.c +++ b/board/st/stm32h743-eval/stm32h743-eval.c @@ -20,7 +20,7 @@ int dram_init(void) return ret; }
- if (fdtdec_setup_memory_size() != 0) + if (fdtdec_setup_mem_size_start() != 0) ret = -EINVAL;
return ret; diff --git a/board/xilinx/zynq/board.c b/board/xilinx/zynq/board.c index e4f86d1..d80dd3d 100644 --- a/board/xilinx/zynq/board.c +++ b/board/xilinx/zynq/board.c @@ -93,7 +93,7 @@ int dram_init_banksize(void)
int dram_init(void) { - if (fdtdec_setup_memory_size() != 0) + if (fdtdec_setup_mem_size_start() != 0) return -EINVAL;
zynq_ddrc_init(); diff --git a/board/xilinx/zynqmp/zynqmp.c b/board/xilinx/zynqmp/zynqmp.c index e41fec3..38f935c 100644 --- a/board/xilinx/zynqmp/zynqmp.c +++ b/board/xilinx/zynqmp/zynqmp.c @@ -418,7 +418,7 @@ int dram_init_banksize(void)
int dram_init(void) { - if (fdtdec_setup_memory_size() != 0) + if (fdtdec_setup_mem_size_start() != 0) return -EINVAL;
return 0; diff --git a/board/xilinx/zynqmp_r5/board.c b/board/xilinx/zynqmp_r5/board.c index 70fb202..954e463 100644 --- a/board/xilinx/zynqmp_r5/board.c +++ b/board/xilinx/zynqmp_r5/board.c @@ -18,7 +18,7 @@ int dram_init_banksize(void)
int dram_init(void) { - if (fdtdec_setup_memory_size() != 0) + if (fdtdec_setup_mem_size_start() != 0) return -EINVAL;
return 0; diff --git a/common/board_f.c b/common/board_f.c index fa667c7..ccd2a2f 100644 --- a/common/board_f.c +++ b/common/board_f.c @@ -281,9 +281,9 @@ static int setup_dest_addr(void) gd->ram_size -= CONFIG_SYS_MEM_TOP_HIDE; #endif #ifdef CONFIG_SYS_SDRAM_BASE - gd->ram_top = CONFIG_SYS_SDRAM_BASE; + gd->ram_start = CONFIG_SYS_SDRAM_BASE; #endif - gd->ram_top += get_effective_memsize(); + gd->ram_top = gd->ram_start + get_effective_memsize(); gd->ram_top = board_get_usable_ram_top(gd->mon_len); gd->relocaddr = gd->ram_top; debug("Ram top: %08lX\n", (ulong)gd->ram_top); diff --git a/include/asm-generic/global_data.h b/include/asm-generic/global_data.h index 2d451f8..c8ee788 100644 --- a/include/asm-generic/global_data.h +++ b/include/asm-generic/global_data.h @@ -52,6 +52,7 @@ typedef struct global_data { unsigned long env_has_init; /* Bitmask of boolean of struct env_location offsets */ int env_load_location;
+ unsigned long ram_start; /* Start address of first bank of RAM */ unsigned long ram_top; /* Top address of RAM used by U-Boot */ unsigned long relocaddr; /* Start address of U-Boot in RAM */ phys_size_t ram_size; /* RAM size */ diff --git a/include/fdtdec.h b/include/fdtdec.h index c15b2a0..f5ebf52 100644 --- a/include/fdtdec.h +++ b/include/fdtdec.h @@ -951,20 +951,22 @@ int fdtdec_decode_display_timing(const void *blob, int node, int index, struct display_timing *config);
/** - * fdtdec_setup_memory_size() - decode and setup gd->ram_size + * fdtdec_setup_mem_size_start() - decode and setup gd->ram_size and + * gd->ram_start * - * Decode the /memory 'reg' property to determine the size of the first memory - * bank, populate the global data with the size of the first bank of memory. + * Decode the /memory 'reg' property to determine the size and start of the + * first memory bank, populate the global data with the size and start of the + * first bank of memory. * * This function should be called from a boards dram_init(). This helper - * function allows for boards to query the device tree for DRAM size instead of - * hard coding the value in the case where the memory size cannot be detected - * automatically. + * function allows for boards to query the device tree for DRAM size and start + * address instead of hard coding the value in the case where the memory size + * and start address cannot be detected automatically. * * @return 0 if OK, -EINVAL if the /memory node or reg property is missing or * invalid */ -int fdtdec_setup_memory_size(void); +int fdtdec_setup_mem_size_start(void);
/** * fdtdec_setup_memory_banksize() - decode and populate gd->bd->bi_dram diff --git a/lib/fdtdec.c b/lib/fdtdec.c index f4e8dbf..8c63278 100644 --- a/lib/fdtdec.c +++ b/lib/fdtdec.c @@ -1154,7 +1154,7 @@ int fdtdec_decode_display_timing(const void *blob, int parent, int index, return ret; }
-int fdtdec_setup_memory_size(void) +int fdtdec_setup_mem_size_start(void) { int ret, mem; struct fdt_resource res; @@ -1172,6 +1172,7 @@ int fdtdec_setup_memory_size(void) }
gd->ram_size = (phys_size_t)(res.end - res.start + 1); + gd->ram_start = (unsigned long)res.start; debug("%s: Initial DRAM size %llx\n", __func__, (unsigned long long)gd->ram_size);
diff --git a/tools/patman/func_test.py b/tools/patman/func_test.py index 85372f3..a16427a 100644 --- a/tools/patman/func_test.py +++ b/tools/patman/func_test.py @@ -209,7 +209,7 @@ Changes in v4:
Simon Glass (2): pci: Correct cast for sandbox - fdt: Correct cast for sandbox in fdtdec_setup_memory_size() + fdt: Correct cast for sandbox in fdtdec_setup_mem_size_start()
cmd/pci.c | 3 ++- fs/fat/fat.c | 1 + diff --git a/tools/patman/test/0000-cover-letter.patch b/tools/patman/test/0000-cover-letter.patch index 2906201..84ba81b 100644 --- a/tools/patman/test/0000-cover-letter.patch +++ b/tools/patman/test/0000-cover-letter.patch @@ -10,7 +10,7 @@ Content-Transfer-Encoding: 8bit
Simon Glass (2): pci: Correct cast for sandbox - fdt: Correct cast for sandbox in fdtdec_setup_memory_size() + fdt: Correct cast for sandbox in fdtdec_setup_mem_size_start()
cmd/pci.c | 3 ++- fs/fat/fat.c | 1 + diff --git a/tools/patman/test/0002-fdt-Correct-cast-for-sandbox-in-fdtdec_setup_memory_.patch b/tools/patman/test/0002-fdt-Correct-cast-for-sandbox-in-fdtdec_setup_memory_.patch index e328497..827e4cc 100644 --- a/tools/patman/test/0002-fdt-Correct-cast-for-sandbox-in-fdtdec_setup_memory_.patch +++ b/tools/patman/test/0002-fdt-Correct-cast-for-sandbox-in-fdtdec_setup_memory_.patch @@ -1,7 +1,7 @@ From 5ab48490f03051875ab13d288a4bf32b507d76fd Mon Sep 17 00:00:00 2001 From: Simon Glass sjg@chromium.org Date: Sat, 15 Apr 2017 15:39:08 -0600 -Subject: [RFC 2/2] fdt: Correct cast for sandbox in fdtdec_setup_memory_size() +Subject: [RFC 2/2] fdt: Correct cast for sandbox in fdtdec_setup_mem_size_start() MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit @@ -58,7 +58,7 @@ diff --git a/lib/fdtdec.c b/lib/fdtdec.c index c072e54..942244f 100644 --- a/lib/fdtdec.c +++ b/lib/fdtdec.c -@@ -1200,7 +1200,8 @@ int fdtdec_setup_memory_size(void) +@@ -1200,7 +1200,8 @@ int fdtdec_setup_mem_size_start(void) }
gd->ram_size = (phys_size_t)(res.end - res.start + 1); diff --git a/tools/patman/test/test01.txt b/tools/patman/test/test01.txt index 8ad9587..d8be23d 100644 --- a/tools/patman/test/test01.txt +++ b/tools/patman/test/test01.txt @@ -28,7 +28,7 @@ commit 5ab48490f03051875ab13d288a4bf32b507d76fd Author: Simon Glass sjg@chromium.org Date: Sat Apr 15 15:39:08 2017 -0600
- fdt: Correct cast for sandbox in fdtdec_setup_memory_size() + fdt: Correct cast for sandbox in fdtdec_setup_mem_size_start()
This gives a warning with some native compilers:

Hi Simon,
On 18.6.2018 08:18, Siva Durga Prasad Paladugu wrote:
Added new variable ram_start to global data structure for holding the start address of first bank of RAM, and then use this ram_start for calculating ram_top properly. This patch fixes the erroneous calculation of ram_top incase of non zero ram start address. This patch also renames fdtdec_setup_memory_size() to fdtdec_setup_mem_size_start() as this routine now takes care of memory size and start.
Signed-off-by: Siva Durga Prasad Paladugu siva.durga.paladugu@xilinx.com Signed-off-by: Michal Simek michal.simek@xilinx.com
Changes from v2:
- Used new varibale ram_start
- Rename fdtdec_setup_memory_size
Changes from v1:
- None
arch/arm/mach-mvebu/arm64-common.c | 2 +- board/emulation/qemu-arm/qemu-arm.c | 2 +- board/renesas/alt/alt.c | 2 +- board/renesas/blanche/blanche.c | 2 +- board/renesas/draak/draak.c | 2 +- board/renesas/eagle/eagle.c | 2 +- board/renesas/gose/gose.c | 2 +- board/renesas/koelsch/koelsch.c | 2 +- board/renesas/lager/lager.c | 2 +- board/renesas/porter/porter.c | 2 +- board/renesas/salvator-x/salvator-x.c | 2 +- board/renesas/silk/silk.c | 2 +- board/renesas/stout/stout.c | 2 +- board/renesas/ulcb/ulcb.c | 2 +- board/st/stm32f429-discovery/stm32f429-discovery.c | 2 +- board/st/stm32f429-evaluation/stm32f429-evaluation.c | 2 +- board/st/stm32f469-discovery/stm32f469-discovery.c | 2 +- board/st/stm32h743-disco/stm32h743-disco.c | 2 +- board/st/stm32h743-eval/stm32h743-eval.c | 2 +- board/xilinx/zynq/board.c | 2 +- board/xilinx/zynqmp/zynqmp.c | 2 +- board/xilinx/zynqmp_r5/board.c | 2 +- common/board_f.c | 4 ++-- include/asm-generic/global_data.h | 1 + include/fdtdec.h | 16 +++++++++------- lib/fdtdec.c | 3 ++- tools/patman/func_test.py | 2 +- tools/patman/test/0000-cover-letter.patch | 2 +- ...orrect-cast-for-sandbox-in-fdtdec_setup_memory_.patch | 4 ++-- tools/patman/test/test01.txt | 2 +- 30 files changed, 41 insertions(+), 37 deletions(-)
diff --git a/arch/arm/mach-mvebu/arm64-common.c b/arch/arm/mach-mvebu/arm64-common.c index d3ea9e6..c2ab831 100644 --- a/arch/arm/mach-mvebu/arm64-common.c +++ b/arch/arm/mach-mvebu/arm64-common.c @@ -54,7 +54,7 @@ int dram_init_banksize(void)
int dram_init(void) {
- if (fdtdec_setup_memory_size() != 0)
if (fdtdec_setup_mem_size_start() != 0) return -EINVAL;
return 0;
diff --git a/board/emulation/qemu-arm/qemu-arm.c b/board/emulation/qemu-arm/qemu-arm.c index 6ec4200..926bbf2 100644 --- a/board/emulation/qemu-arm/qemu-arm.c +++ b/board/emulation/qemu-arm/qemu-arm.c @@ -47,7 +47,7 @@ int board_init(void)
int dram_init(void) {
- if (fdtdec_setup_memory_size() != 0)
if (fdtdec_setup_mem_size_start() != 0) return -EINVAL;
return 0;
diff --git a/board/renesas/alt/alt.c b/board/renesas/alt/alt.c index 86e9d24..58838ff 100644 --- a/board/renesas/alt/alt.c +++ b/board/renesas/alt/alt.c @@ -78,7 +78,7 @@ int board_init(void)
int dram_init(void) {
- if (fdtdec_setup_memory_size() != 0)
if (fdtdec_setup_mem_size_start() != 0) return -EINVAL;
return 0;
diff --git a/board/renesas/blanche/blanche.c b/board/renesas/blanche/blanche.c index 7d48d0f..1fd511c 100644 --- a/board/renesas/blanche/blanche.c +++ b/board/renesas/blanche/blanche.c @@ -339,7 +339,7 @@ int board_eth_init(bd_t *bis)
int dram_init(void) {
- if (fdtdec_setup_memory_size() != 0)
if (fdtdec_setup_mem_size_start() != 0) return -EINVAL;
return 0;
diff --git a/board/renesas/draak/draak.c b/board/renesas/draak/draak.c index f804fae..b178131 100644 --- a/board/renesas/draak/draak.c +++ b/board/renesas/draak/draak.c @@ -96,7 +96,7 @@ int board_init(void)
int dram_init(void) {
- if (fdtdec_setup_memory_size() != 0)
if (fdtdec_setup_mem_size_start() != 0) return -EINVAL;
return 0;
diff --git a/board/renesas/eagle/eagle.c b/board/renesas/eagle/eagle.c index 4bf0a20..26deca9 100644 --- a/board/renesas/eagle/eagle.c +++ b/board/renesas/eagle/eagle.c @@ -73,7 +73,7 @@ int board_init(void)
int dram_init(void) {
- if (fdtdec_setup_memory_size() != 0)
if (fdtdec_setup_mem_size_start() != 0) return -EINVAL;
return 0;
diff --git a/board/renesas/gose/gose.c b/board/renesas/gose/gose.c index 96ac29d..1862c16 100644 --- a/board/renesas/gose/gose.c +++ b/board/renesas/gose/gose.c @@ -83,7 +83,7 @@ int board_init(void)
int dram_init(void) {
- if (fdtdec_setup_memory_size() != 0)
if (fdtdec_setup_mem_size_start() != 0) return -EINVAL;
return 0;
diff --git a/board/renesas/koelsch/koelsch.c b/board/renesas/koelsch/koelsch.c index b6688a2..a650b8b 100644 --- a/board/renesas/koelsch/koelsch.c +++ b/board/renesas/koelsch/koelsch.c @@ -85,7 +85,7 @@ int board_init(void)
int dram_init(void) {
- if (fdtdec_setup_memory_size() != 0)
if (fdtdec_setup_mem_size_start() != 0) return -EINVAL;
return 0;
diff --git a/board/renesas/lager/lager.c b/board/renesas/lager/lager.c index 6bfb0d1..ee66f02 100644 --- a/board/renesas/lager/lager.c +++ b/board/renesas/lager/lager.c @@ -94,7 +94,7 @@ int board_init(void)
int dram_init(void) {
- if (fdtdec_setup_memory_size() != 0)
if (fdtdec_setup_mem_size_start() != 0) return -EINVAL;
return 0;
diff --git a/board/renesas/porter/porter.c b/board/renesas/porter/porter.c index cadff2c..b4d7f57 100644 --- a/board/renesas/porter/porter.c +++ b/board/renesas/porter/porter.c @@ -83,7 +83,7 @@ int board_init(void)
int dram_init(void) {
- if (fdtdec_setup_memory_size() != 0)
if (fdtdec_setup_mem_size_start() != 0) return -EINVAL;
return 0;
diff --git a/board/renesas/salvator-x/salvator-x.c b/board/renesas/salvator-x/salvator-x.c index 651877c..c104458 100644 --- a/board/renesas/salvator-x/salvator-x.c +++ b/board/renesas/salvator-x/salvator-x.c @@ -108,7 +108,7 @@ int board_init(void)
int dram_init(void) {
- if (fdtdec_setup_memory_size() != 0)
if (fdtdec_setup_mem_size_start() != 0) return -EINVAL;
return 0;
diff --git a/board/renesas/silk/silk.c b/board/renesas/silk/silk.c index 5fa472c..eda61ee 100644 --- a/board/renesas/silk/silk.c +++ b/board/renesas/silk/silk.c @@ -78,7 +78,7 @@ int board_init(void)
int dram_init(void) {
- if (fdtdec_setup_memory_size() != 0)
if (fdtdec_setup_mem_size_start() != 0) return -EINVAL;
return 0;
diff --git a/board/renesas/stout/stout.c b/board/renesas/stout/stout.c index 778593b..bc62caf 100644 --- a/board/renesas/stout/stout.c +++ b/board/renesas/stout/stout.c @@ -97,7 +97,7 @@ int board_init(void)
int dram_init(void) {
- if (fdtdec_setup_memory_size() != 0)
if (fdtdec_setup_mem_size_start() != 0) return -EINVAL;
return 0;
diff --git a/board/renesas/ulcb/ulcb.c b/board/renesas/ulcb/ulcb.c index 9e15e45..679f09d 100644 --- a/board/renesas/ulcb/ulcb.c +++ b/board/renesas/ulcb/ulcb.c @@ -96,7 +96,7 @@ int board_init(void)
int dram_init(void) {
- if (fdtdec_setup_memory_size() != 0)
if (fdtdec_setup_mem_size_start() != 0) return -EINVAL;
return 0;
diff --git a/board/st/stm32f429-discovery/stm32f429-discovery.c b/board/st/stm32f429-discovery/stm32f429-discovery.c index b7638c0..fea3b6e 100644 --- a/board/st/stm32f429-discovery/stm32f429-discovery.c +++ b/board/st/stm32f429-discovery/stm32f429-discovery.c @@ -29,7 +29,7 @@ int dram_init(void) return rv; }
- if (fdtdec_setup_memory_size() != 0)
if (fdtdec_setup_mem_size_start() != 0) rv = -EINVAL;
return rv;
diff --git a/board/st/stm32f429-evaluation/stm32f429-evaluation.c b/board/st/stm32f429-evaluation/stm32f429-evaluation.c index 2e638c6..6bf7f33 100644 --- a/board/st/stm32f429-evaluation/stm32f429-evaluation.c +++ b/board/st/stm32f429-evaluation/stm32f429-evaluation.c @@ -23,7 +23,7 @@ int dram_init(void) return rv; }
- if (fdtdec_setup_memory_size() != 0)
if (fdtdec_setup_mem_size_start() != 0) rv = -EINVAL;
return rv;
diff --git a/board/st/stm32f469-discovery/stm32f469-discovery.c b/board/st/stm32f469-discovery/stm32f469-discovery.c index 90d7045..e2c2865 100644 --- a/board/st/stm32f469-discovery/stm32f469-discovery.c +++ b/board/st/stm32f469-discovery/stm32f469-discovery.c @@ -23,7 +23,7 @@ int dram_init(void) return rv; }
- if (fdtdec_setup_memory_size() != 0)
if (fdtdec_setup_mem_size_start() != 0) rv = -EINVAL;
return rv;
diff --git a/board/st/stm32h743-disco/stm32h743-disco.c b/board/st/stm32h743-disco/stm32h743-disco.c index fa007c7..469370c 100644 --- a/board/st/stm32h743-disco/stm32h743-disco.c +++ b/board/st/stm32h743-disco/stm32h743-disco.c @@ -20,7 +20,7 @@ int dram_init(void) return ret; }
- if (fdtdec_setup_memory_size() != 0)
if (fdtdec_setup_mem_size_start() != 0) ret = -EINVAL;
return ret;
diff --git a/board/st/stm32h743-eval/stm32h743-eval.c b/board/st/stm32h743-eval/stm32h743-eval.c index fa007c7..469370c 100644 --- a/board/st/stm32h743-eval/stm32h743-eval.c +++ b/board/st/stm32h743-eval/stm32h743-eval.c @@ -20,7 +20,7 @@ int dram_init(void) return ret; }
- if (fdtdec_setup_memory_size() != 0)
if (fdtdec_setup_mem_size_start() != 0) ret = -EINVAL;
return ret;
diff --git a/board/xilinx/zynq/board.c b/board/xilinx/zynq/board.c index e4f86d1..d80dd3d 100644 --- a/board/xilinx/zynq/board.c +++ b/board/xilinx/zynq/board.c @@ -93,7 +93,7 @@ int dram_init_banksize(void)
int dram_init(void) {
- if (fdtdec_setup_memory_size() != 0)
if (fdtdec_setup_mem_size_start() != 0) return -EINVAL;
zynq_ddrc_init();
diff --git a/board/xilinx/zynqmp/zynqmp.c b/board/xilinx/zynqmp/zynqmp.c index e41fec3..38f935c 100644 --- a/board/xilinx/zynqmp/zynqmp.c +++ b/board/xilinx/zynqmp/zynqmp.c @@ -418,7 +418,7 @@ int dram_init_banksize(void)
int dram_init(void) {
- if (fdtdec_setup_memory_size() != 0)
if (fdtdec_setup_mem_size_start() != 0) return -EINVAL;
return 0;
diff --git a/board/xilinx/zynqmp_r5/board.c b/board/xilinx/zynqmp_r5/board.c index 70fb202..954e463 100644 --- a/board/xilinx/zynqmp_r5/board.c +++ b/board/xilinx/zynqmp_r5/board.c @@ -18,7 +18,7 @@ int dram_init_banksize(void)
int dram_init(void) {
- if (fdtdec_setup_memory_size() != 0)
if (fdtdec_setup_mem_size_start() != 0) return -EINVAL;
return 0;
diff --git a/common/board_f.c b/common/board_f.c index fa667c7..ccd2a2f 100644 --- a/common/board_f.c +++ b/common/board_f.c @@ -281,9 +281,9 @@ static int setup_dest_addr(void) gd->ram_size -= CONFIG_SYS_MEM_TOP_HIDE; #endif #ifdef CONFIG_SYS_SDRAM_BASE
- gd->ram_top = CONFIG_SYS_SDRAM_BASE;
- gd->ram_start = CONFIG_SYS_SDRAM_BASE;
#endif
- gd->ram_top += get_effective_memsize();
- gd->ram_top = gd->ram_start + get_effective_memsize(); gd->ram_top = board_get_usable_ram_top(gd->mon_len); gd->relocaddr = gd->ram_top; debug("Ram top: %08lX\n", (ulong)gd->ram_top);
diff --git a/include/asm-generic/global_data.h b/include/asm-generic/global_data.h index 2d451f8..c8ee788 100644 --- a/include/asm-generic/global_data.h +++ b/include/asm-generic/global_data.h @@ -52,6 +52,7 @@ typedef struct global_data { unsigned long env_has_init; /* Bitmask of boolean of struct env_location offsets */ int env_load_location;
- unsigned long ram_start; /* Start address of first bank of RAM */ unsigned long ram_top; /* Top address of RAM used by U-Boot */ unsigned long relocaddr; /* Start address of U-Boot in RAM */ phys_size_t ram_size; /* RAM size */
diff --git a/include/fdtdec.h b/include/fdtdec.h index c15b2a0..f5ebf52 100644 --- a/include/fdtdec.h +++ b/include/fdtdec.h @@ -951,20 +951,22 @@ int fdtdec_decode_display_timing(const void *blob, int node, int index, struct display_timing *config);
/**
- fdtdec_setup_memory_size() - decode and setup gd->ram_size
- fdtdec_setup_mem_size_start() - decode and setup gd->ram_size and
- gd->ram_start
- Decode the /memory 'reg' property to determine the size of the first memory
- bank, populate the global data with the size of the first bank of memory.
- Decode the /memory 'reg' property to determine the size and start of the
- first memory bank, populate the global data with the size and start of the
- first bank of memory.
- This function should be called from a boards dram_init(). This helper
- function allows for boards to query the device tree for DRAM size instead of
- hard coding the value in the case where the memory size cannot be detected
- automatically.
- function allows for boards to query the device tree for DRAM size and start
- address instead of hard coding the value in the case where the memory size
*/
- and start address cannot be detected automatically.
- @return 0 if OK, -EINVAL if the /memory node or reg property is missing or
- invalid
-int fdtdec_setup_memory_size(void); +int fdtdec_setup_mem_size_start(void);
/**
- fdtdec_setup_memory_banksize() - decode and populate gd->bd->bi_dram
diff --git a/lib/fdtdec.c b/lib/fdtdec.c index f4e8dbf..8c63278 100644 --- a/lib/fdtdec.c +++ b/lib/fdtdec.c @@ -1154,7 +1154,7 @@ int fdtdec_decode_display_timing(const void *blob, int parent, int index, return ret; }
-int fdtdec_setup_memory_size(void) +int fdtdec_setup_mem_size_start(void) { int ret, mem; struct fdt_resource res; @@ -1172,6 +1172,7 @@ int fdtdec_setup_memory_size(void) }
gd->ram_size = (phys_size_t)(res.end - res.start + 1);
- gd->ram_start = (unsigned long)res.start; debug("%s: Initial DRAM size %llx\n", __func__, (unsigned long long)gd->ram_size);
diff --git a/tools/patman/func_test.py b/tools/patman/func_test.py index 85372f3..a16427a 100644 --- a/tools/patman/func_test.py +++ b/tools/patman/func_test.py @@ -209,7 +209,7 @@ Changes in v4:
Simon Glass (2): pci: Correct cast for sandbox
- fdt: Correct cast for sandbox in fdtdec_setup_memory_size()
fdt: Correct cast for sandbox in fdtdec_setup_mem_size_start()
cmd/pci.c | 3 ++- fs/fat/fat.c | 1 +
diff --git a/tools/patman/test/0000-cover-letter.patch b/tools/patman/test/0000-cover-letter.patch index 2906201..84ba81b 100644 --- a/tools/patman/test/0000-cover-letter.patch +++ b/tools/patman/test/0000-cover-letter.patch @@ -10,7 +10,7 @@ Content-Transfer-Encoding: 8bit
Simon Glass (2): pci: Correct cast for sandbox
- fdt: Correct cast for sandbox in fdtdec_setup_memory_size()
fdt: Correct cast for sandbox in fdtdec_setup_mem_size_start()
cmd/pci.c | 3 ++- fs/fat/fat.c | 1 +
diff --git a/tools/patman/test/0002-fdt-Correct-cast-for-sandbox-in-fdtdec_setup_memory_.patch b/tools/patman/test/0002-fdt-Correct-cast-for-sandbox-in-fdtdec_setup_memory_.patch index e328497..827e4cc 100644 --- a/tools/patman/test/0002-fdt-Correct-cast-for-sandbox-in-fdtdec_setup_memory_.patch +++ b/tools/patman/test/0002-fdt-Correct-cast-for-sandbox-in-fdtdec_setup_memory_.patch @@ -1,7 +1,7 @@ From 5ab48490f03051875ab13d288a4bf32b507d76fd Mon Sep 17 00:00:00 2001 From: Simon Glass sjg@chromium.org Date: Sat, 15 Apr 2017 15:39:08 -0600 -Subject: [RFC 2/2] fdt: Correct cast for sandbox in fdtdec_setup_memory_size() +Subject: [RFC 2/2] fdt: Correct cast for sandbox in fdtdec_setup_mem_size_start() MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit @@ -58,7 +58,7 @@ diff --git a/lib/fdtdec.c b/lib/fdtdec.c index c072e54..942244f 100644 --- a/lib/fdtdec.c +++ b/lib/fdtdec.c -@@ -1200,7 +1200,8 @@ int fdtdec_setup_memory_size(void) +@@ -1200,7 +1200,8 @@ int fdtdec_setup_mem_size_start(void) }
gd->ram_size = (phys_size_t)(res.end - res.start + 1); diff --git a/tools/patman/test/test01.txt b/tools/patman/test/test01.txt index 8ad9587..d8be23d 100644 --- a/tools/patman/test/test01.txt +++ b/tools/patman/test/test01.txt @@ -28,7 +28,7 @@ commit 5ab48490f03051875ab13d288a4bf32b507d76fd Author: Simon Glass sjg@chromium.org Date: Sat Apr 15 15:39:08 2017 -0600
- fdt: Correct cast for sandbox in fdtdec_setup_memory_size()
fdt: Correct cast for sandbox in fdtdec_setup_mem_size_start()
This gives a warning with some native compilers:
sjg: Do you see any issue with this patch?
I can't see the reason for fixing tools/patman but I will wait for you.
Thanks, Michal

Hi,
On 22 June 2018 at 01:41, Michal Simek michal.simek@xilinx.com wrote:
Hi Simon,
On 18.6.2018 08:18, Siva Durga Prasad Paladugu wrote:
Added new variable ram_start to global data structure for holding the start address of first bank of RAM, and then use this ram_start for calculating ram_top properly. This patch fixes the erroneous calculation of ram_top incase of non zero ram start address. This patch also renames fdtdec_setup_memory_size() to fdtdec_setup_mem_size_start() as this routine now takes care of memory size and start.
Signed-off-by: Siva Durga Prasad Paladugu siva.durga.paladugu@xilinx.com Signed-off-by: Michal Simek michal.simek@xilinx.com
Changes from v2:
- Used new varibale ram_start
- Rename fdtdec_setup_memory_size
Changes from v1:
- None
arch/arm/mach-mvebu/arm64-common.c | 2 +- board/emulation/qemu-arm/qemu-arm.c | 2 +- board/renesas/alt/alt.c | 2 +- board/renesas/blanche/blanche.c | 2 +- board/renesas/draak/draak.c | 2 +- board/renesas/eagle/eagle.c | 2 +- board/renesas/gose/gose.c | 2 +- board/renesas/koelsch/koelsch.c | 2 +- board/renesas/lager/lager.c | 2 +- board/renesas/porter/porter.c | 2 +- board/renesas/salvator-x/salvator-x.c | 2 +- board/renesas/silk/silk.c | 2 +- board/renesas/stout/stout.c | 2 +- board/renesas/ulcb/ulcb.c | 2 +- board/st/stm32f429-discovery/stm32f429-discovery.c | 2 +- board/st/stm32f429-evaluation/stm32f429-evaluation.c | 2 +- board/st/stm32f469-discovery/stm32f469-discovery.c | 2 +- board/st/stm32h743-disco/stm32h743-disco.c | 2 +- board/st/stm32h743-eval/stm32h743-eval.c | 2 +- board/xilinx/zynq/board.c | 2 +- board/xilinx/zynqmp/zynqmp.c | 2 +- board/xilinx/zynqmp_r5/board.c | 2 +- common/board_f.c | 4 ++-- include/asm-generic/global_data.h | 1 + include/fdtdec.h | 16 +++++++++------- lib/fdtdec.c | 3 ++- tools/patman/func_test.py | 2 +- tools/patman/test/0000-cover-letter.patch | 2 +- ...orrect-cast-for-sandbox-in-fdtdec_setup_memory_.patch | 4 ++-- tools/patman/test/test01.txt | 2 +- 30 files changed, 41 insertions(+), 37 deletions(-)
[...]
sjg: Do you see any issue with this patch?
I think it is OK. Would like to get more people to look at it though.
I can't see the reason for fixing tools/patman but I will wait for you.
Changing patman tests is OK with me. Keeps thing consistent.
Regards, Simon

Hi,
On 22.6.2018 21:28, Simon Glass wrote:
Hi,
On 22 June 2018 at 01:41, Michal Simek michal.simek@xilinx.com wrote:
Hi Simon,
On 18.6.2018 08:18, Siva Durga Prasad Paladugu wrote:
Added new variable ram_start to global data structure for holding the start address of first bank of RAM, and then use this ram_start for calculating ram_top properly. This patch fixes the erroneous calculation of ram_top incase of non zero ram start address. This patch also renames fdtdec_setup_memory_size() to fdtdec_setup_mem_size_start() as this routine now takes care of memory size and start.
Signed-off-by: Siva Durga Prasad Paladugu siva.durga.paladugu@xilinx.com Signed-off-by: Michal Simek michal.simek@xilinx.com
Changes from v2:
- Used new varibale ram_start
- Rename fdtdec_setup_memory_size
Changes from v1:
- None
arch/arm/mach-mvebu/arm64-common.c | 2 +- board/emulation/qemu-arm/qemu-arm.c | 2 +- board/renesas/alt/alt.c | 2 +- board/renesas/blanche/blanche.c | 2 +- board/renesas/draak/draak.c | 2 +- board/renesas/eagle/eagle.c | 2 +- board/renesas/gose/gose.c | 2 +- board/renesas/koelsch/koelsch.c | 2 +- board/renesas/lager/lager.c | 2 +- board/renesas/porter/porter.c | 2 +- board/renesas/salvator-x/salvator-x.c | 2 +- board/renesas/silk/silk.c | 2 +- board/renesas/stout/stout.c | 2 +- board/renesas/ulcb/ulcb.c | 2 +- board/st/stm32f429-discovery/stm32f429-discovery.c | 2 +- board/st/stm32f429-evaluation/stm32f429-evaluation.c | 2 +- board/st/stm32f469-discovery/stm32f469-discovery.c | 2 +- board/st/stm32h743-disco/stm32h743-disco.c | 2 +- board/st/stm32h743-eval/stm32h743-eval.c | 2 +- board/xilinx/zynq/board.c | 2 +- board/xilinx/zynqmp/zynqmp.c | 2 +- board/xilinx/zynqmp_r5/board.c | 2 +- common/board_f.c | 4 ++-- include/asm-generic/global_data.h | 1 + include/fdtdec.h | 16 +++++++++------- lib/fdtdec.c | 3 ++- tools/patman/func_test.py | 2 +- tools/patman/test/0000-cover-letter.patch | 2 +- ...orrect-cast-for-sandbox-in-fdtdec_setup_memory_.patch | 4 ++-- tools/patman/test/test01.txt | 2 +- 30 files changed, 41 insertions(+), 37 deletions(-)
[...]
sjg: Do you see any issue with this patch?
I think it is OK. Would like to get more people to look at it though.
I can't see the reason for fixing tools/patman but I will wait for you.
Changing patman tests is OK with me. Keeps thing consistent.
thanks Simon.
Tom: Do you see any issue with this change?
Marek: Can you please retest renesas boards that this patch is not breaking your boards?
Thanks, Michal

On Mon, Jun 25, 2018 at 08:15:34AM +0200, Michal Simek wrote:
Hi,
On 22.6.2018 21:28, Simon Glass wrote:
Hi,
On 22 June 2018 at 01:41, Michal Simek michal.simek@xilinx.com wrote:
Hi Simon,
On 18.6.2018 08:18, Siva Durga Prasad Paladugu wrote:
Added new variable ram_start to global data structure for holding the start address of first bank of RAM, and then use this ram_start for calculating ram_top properly. This patch fixes the erroneous calculation of ram_top incase of non zero ram start address. This patch also renames fdtdec_setup_memory_size() to fdtdec_setup_mem_size_start() as this routine now takes care of memory size and start.
Signed-off-by: Siva Durga Prasad Paladugu siva.durga.paladugu@xilinx.com Signed-off-by: Michal Simek michal.simek@xilinx.com
Changes from v2:
- Used new varibale ram_start
- Rename fdtdec_setup_memory_size
Changes from v1:
- None
arch/arm/mach-mvebu/arm64-common.c | 2 +- board/emulation/qemu-arm/qemu-arm.c | 2 +- board/renesas/alt/alt.c | 2 +- board/renesas/blanche/blanche.c | 2 +- board/renesas/draak/draak.c | 2 +- board/renesas/eagle/eagle.c | 2 +- board/renesas/gose/gose.c | 2 +- board/renesas/koelsch/koelsch.c | 2 +- board/renesas/lager/lager.c | 2 +- board/renesas/porter/porter.c | 2 +- board/renesas/salvator-x/salvator-x.c | 2 +- board/renesas/silk/silk.c | 2 +- board/renesas/stout/stout.c | 2 +- board/renesas/ulcb/ulcb.c | 2 +- board/st/stm32f429-discovery/stm32f429-discovery.c | 2 +- board/st/stm32f429-evaluation/stm32f429-evaluation.c | 2 +- board/st/stm32f469-discovery/stm32f469-discovery.c | 2 +- board/st/stm32h743-disco/stm32h743-disco.c | 2 +- board/st/stm32h743-eval/stm32h743-eval.c | 2 +- board/xilinx/zynq/board.c | 2 +- board/xilinx/zynqmp/zynqmp.c | 2 +- board/xilinx/zynqmp_r5/board.c | 2 +- common/board_f.c | 4 ++-- include/asm-generic/global_data.h | 1 + include/fdtdec.h | 16 +++++++++------- lib/fdtdec.c | 3 ++- tools/patman/func_test.py | 2 +- tools/patman/test/0000-cover-letter.patch | 2 +- ...orrect-cast-for-sandbox-in-fdtdec_setup_memory_.patch | 4 ++-- tools/patman/test/test01.txt | 2 +- 30 files changed, 41 insertions(+), 37 deletions(-)
[...]
sjg: Do you see any issue with this patch?
I think it is OK. Would like to get more people to look at it though.
I can't see the reason for fixing tools/patman but I will wait for you.
Changing patman tests is OK with me. Keeps thing consistent.
thanks Simon.
Tom: Do you see any issue with this change?
Yes, thanks. You can take it via your tree once Marek has had a chance to test things.
Reviewed-by: Tom Rini trini@konsulko.com

On 06/25/2018 02:56 PM, Tom Rini wrote:
On Mon, Jun 25, 2018 at 08:15:34AM +0200, Michal Simek wrote:
Hi,
On 22.6.2018 21:28, Simon Glass wrote:
Hi,
On 22 June 2018 at 01:41, Michal Simek michal.simek@xilinx.com wrote:
Hi Simon,
On 18.6.2018 08:18, Siva Durga Prasad Paladugu wrote:
Added new variable ram_start to global data structure for holding the start address of first bank of RAM, and then use this ram_start for calculating ram_top properly. This patch fixes the erroneous calculation of ram_top incase of non zero ram start address. This patch also renames fdtdec_setup_memory_size() to fdtdec_setup_mem_size_start() as this routine now takes care of memory size and start.
Signed-off-by: Siva Durga Prasad Paladugu siva.durga.paladugu@xilinx.com Signed-off-by: Michal Simek michal.simek@xilinx.com
Changes from v2:
- Used new varibale ram_start
- Rename fdtdec_setup_memory_size
Changes from v1:
- None
arch/arm/mach-mvebu/arm64-common.c | 2 +- board/emulation/qemu-arm/qemu-arm.c | 2 +- board/renesas/alt/alt.c | 2 +- board/renesas/blanche/blanche.c | 2 +- board/renesas/draak/draak.c | 2 +- board/renesas/eagle/eagle.c | 2 +- board/renesas/gose/gose.c | 2 +- board/renesas/koelsch/koelsch.c | 2 +- board/renesas/lager/lager.c | 2 +- board/renesas/porter/porter.c | 2 +- board/renesas/salvator-x/salvator-x.c | 2 +- board/renesas/silk/silk.c | 2 +- board/renesas/stout/stout.c | 2 +- board/renesas/ulcb/ulcb.c | 2 +- board/st/stm32f429-discovery/stm32f429-discovery.c | 2 +- board/st/stm32f429-evaluation/stm32f429-evaluation.c | 2 +- board/st/stm32f469-discovery/stm32f469-discovery.c | 2 +- board/st/stm32h743-disco/stm32h743-disco.c | 2 +- board/st/stm32h743-eval/stm32h743-eval.c | 2 +- board/xilinx/zynq/board.c | 2 +- board/xilinx/zynqmp/zynqmp.c | 2 +- board/xilinx/zynqmp_r5/board.c | 2 +- common/board_f.c | 4 ++-- include/asm-generic/global_data.h | 1 + include/fdtdec.h | 16 +++++++++------- lib/fdtdec.c | 3 ++- tools/patman/func_test.py | 2 +- tools/patman/test/0000-cover-letter.patch | 2 +- ...orrect-cast-for-sandbox-in-fdtdec_setup_memory_.patch | 4 ++-- tools/patman/test/test01.txt | 2 +- 30 files changed, 41 insertions(+), 37 deletions(-)
[...]
sjg: Do you see any issue with this patch?
I think it is OK. Would like to get more people to look at it though.
I can't see the reason for fixing tools/patman but I will wait for you.
Changing patman tests is OK with me. Keeps thing consistent.
thanks Simon.
Tom: Do you see any issue with this change?
Yes, thanks. You can take it via your tree once Marek has had a chance to test things.
Reviewed-by: Tom Rini trini@konsulko.com
I'd rather like the rename in a separate patch, since that makes it hard to review. I don't see how "This patch fixes the erroneous calculation of ram_top incase of non zero ram start address." thought, maybe it's hidden in this mega-patch.

On 12.7.2018 09:20, Marek Vasut wrote:
On 06/25/2018 02:56 PM, Tom Rini wrote:
On Mon, Jun 25, 2018 at 08:15:34AM +0200, Michal Simek wrote:
Hi,
On 22.6.2018 21:28, Simon Glass wrote:
Hi,
On 22 June 2018 at 01:41, Michal Simek michal.simek@xilinx.com wrote:
Hi Simon,
On 18.6.2018 08:18, Siva Durga Prasad Paladugu wrote:
Added new variable ram_start to global data structure for holding the start address of first bank of RAM, and then use this ram_start for calculating ram_top properly. This patch fixes the erroneous calculation of ram_top incase of non zero ram start address. This patch also renames fdtdec_setup_memory_size() to fdtdec_setup_mem_size_start() as this routine now takes care of memory size and start.
Signed-off-by: Siva Durga Prasad Paladugu siva.durga.paladugu@xilinx.com Signed-off-by: Michal Simek michal.simek@xilinx.com
Changes from v2:
- Used new varibale ram_start
- Rename fdtdec_setup_memory_size
Changes from v1:
- None
arch/arm/mach-mvebu/arm64-common.c | 2 +- board/emulation/qemu-arm/qemu-arm.c | 2 +- board/renesas/alt/alt.c | 2 +- board/renesas/blanche/blanche.c | 2 +- board/renesas/draak/draak.c | 2 +- board/renesas/eagle/eagle.c | 2 +- board/renesas/gose/gose.c | 2 +- board/renesas/koelsch/koelsch.c | 2 +- board/renesas/lager/lager.c | 2 +- board/renesas/porter/porter.c | 2 +- board/renesas/salvator-x/salvator-x.c | 2 +- board/renesas/silk/silk.c | 2 +- board/renesas/stout/stout.c | 2 +- board/renesas/ulcb/ulcb.c | 2 +- board/st/stm32f429-discovery/stm32f429-discovery.c | 2 +- board/st/stm32f429-evaluation/stm32f429-evaluation.c | 2 +- board/st/stm32f469-discovery/stm32f469-discovery.c | 2 +- board/st/stm32h743-disco/stm32h743-disco.c | 2 +- board/st/stm32h743-eval/stm32h743-eval.c | 2 +- board/xilinx/zynq/board.c | 2 +- board/xilinx/zynqmp/zynqmp.c | 2 +- board/xilinx/zynqmp_r5/board.c | 2 +- common/board_f.c | 4 ++-- include/asm-generic/global_data.h | 1 + include/fdtdec.h | 16 +++++++++------- lib/fdtdec.c | 3 ++- tools/patman/func_test.py | 2 +- tools/patman/test/0000-cover-letter.patch | 2 +- ...orrect-cast-for-sandbox-in-fdtdec_setup_memory_.patch | 4 ++-- tools/patman/test/test01.txt | 2 +- 30 files changed, 41 insertions(+), 37 deletions(-)
[...]
sjg: Do you see any issue with this patch?
I think it is OK. Would like to get more people to look at it though.
I can't see the reason for fixing tools/patman but I will wait for you.
Changing patman tests is OK with me. Keeps thing consistent.
thanks Simon.
Tom: Do you see any issue with this change?
Yes, thanks. You can take it via your tree once Marek has had a chance to test things.
Reviewed-by: Tom Rini trini@konsulko.com
I'd rather like the rename in a separate patch, since that makes it hard to review. I don't see how "This patch fixes the erroneous calculation of ram_top incase of non zero ram start address." thought, maybe it's hidden in this mega-patch.
We have discussed this with Marek over chat that he will look how renesas is configuring sdram based. Fix is done only in lib/fdtdec.c to fill gd->ram_start = (unsigned long)res.start;
the rest is just renaming around.
Thanks, Michal

On 18.6.2018 08:18, Siva Durga Prasad Paladugu wrote:
Added new variable ram_start to global data structure for holding the start address of first bank of RAM, and then use this ram_start for calculating ram_top properly. This patch fixes the erroneous calculation of ram_top incase of non zero ram start address. This patch also renames fdtdec_setup_memory_size() to fdtdec_setup_mem_size_start() as this routine now takes care of memory size and start.
Signed-off-by: Siva Durga Prasad Paladugu siva.durga.paladugu@xilinx.com Signed-off-by: Michal Simek michal.simek@xilinx.com
Changes from v2:
- Used new varibale ram_start
- Rename fdtdec_setup_memory_size
Changes from v1:
- None
arch/arm/mach-mvebu/arm64-common.c | 2 +- board/emulation/qemu-arm/qemu-arm.c | 2 +- board/renesas/alt/alt.c | 2 +- board/renesas/blanche/blanche.c | 2 +- board/renesas/draak/draak.c | 2 +- board/renesas/eagle/eagle.c | 2 +- board/renesas/gose/gose.c | 2 +- board/renesas/koelsch/koelsch.c | 2 +- board/renesas/lager/lager.c | 2 +- board/renesas/porter/porter.c | 2 +- board/renesas/salvator-x/salvator-x.c | 2 +- board/renesas/silk/silk.c | 2 +- board/renesas/stout/stout.c | 2 +- board/renesas/ulcb/ulcb.c | 2 +- board/st/stm32f429-discovery/stm32f429-discovery.c | 2 +- board/st/stm32f429-evaluation/stm32f429-evaluation.c | 2 +- board/st/stm32f469-discovery/stm32f469-discovery.c | 2 +- board/st/stm32h743-disco/stm32h743-disco.c | 2 +- board/st/stm32h743-eval/stm32h743-eval.c | 2 +- board/xilinx/zynq/board.c | 2 +- board/xilinx/zynqmp/zynqmp.c | 2 +- board/xilinx/zynqmp_r5/board.c | 2 +- common/board_f.c | 4 ++-- include/asm-generic/global_data.h | 1 + include/fdtdec.h | 16 +++++++++------- lib/fdtdec.c | 3 ++- tools/patman/func_test.py | 2 +- tools/patman/test/0000-cover-letter.patch | 2 +- ...orrect-cast-for-sandbox-in-fdtdec_setup_memory_.patch | 4 ++-- tools/patman/test/test01.txt | 2 +- 30 files changed, 41 insertions(+), 37 deletions(-)
diff --git a/arch/arm/mach-mvebu/arm64-common.c b/arch/arm/mach-mvebu/arm64-common.c index d3ea9e6..c2ab831 100644 --- a/arch/arm/mach-mvebu/arm64-common.c +++ b/arch/arm/mach-mvebu/arm64-common.c @@ -54,7 +54,7 @@ int dram_init_banksize(void)
int dram_init(void) {
- if (fdtdec_setup_memory_size() != 0)
if (fdtdec_setup_mem_size_start() != 0) return -EINVAL;
return 0;
diff --git a/board/emulation/qemu-arm/qemu-arm.c b/board/emulation/qemu-arm/qemu-arm.c index 6ec4200..926bbf2 100644 --- a/board/emulation/qemu-arm/qemu-arm.c +++ b/board/emulation/qemu-arm/qemu-arm.c @@ -47,7 +47,7 @@ int board_init(void)
int dram_init(void) {
- if (fdtdec_setup_memory_size() != 0)
if (fdtdec_setup_mem_size_start() != 0) return -EINVAL;
return 0;
diff --git a/board/renesas/alt/alt.c b/board/renesas/alt/alt.c index 86e9d24..58838ff 100644 --- a/board/renesas/alt/alt.c +++ b/board/renesas/alt/alt.c @@ -78,7 +78,7 @@ int board_init(void)
int dram_init(void) {
- if (fdtdec_setup_memory_size() != 0)
if (fdtdec_setup_mem_size_start() != 0) return -EINVAL;
return 0;
diff --git a/board/renesas/blanche/blanche.c b/board/renesas/blanche/blanche.c index 7d48d0f..1fd511c 100644 --- a/board/renesas/blanche/blanche.c +++ b/board/renesas/blanche/blanche.c @@ -339,7 +339,7 @@ int board_eth_init(bd_t *bis)
int dram_init(void) {
- if (fdtdec_setup_memory_size() != 0)
if (fdtdec_setup_mem_size_start() != 0) return -EINVAL;
return 0;
diff --git a/board/renesas/draak/draak.c b/board/renesas/draak/draak.c index f804fae..b178131 100644 --- a/board/renesas/draak/draak.c +++ b/board/renesas/draak/draak.c @@ -96,7 +96,7 @@ int board_init(void)
int dram_init(void) {
- if (fdtdec_setup_memory_size() != 0)
if (fdtdec_setup_mem_size_start() != 0) return -EINVAL;
return 0;
diff --git a/board/renesas/eagle/eagle.c b/board/renesas/eagle/eagle.c index 4bf0a20..26deca9 100644 --- a/board/renesas/eagle/eagle.c +++ b/board/renesas/eagle/eagle.c @@ -73,7 +73,7 @@ int board_init(void)
int dram_init(void) {
- if (fdtdec_setup_memory_size() != 0)
if (fdtdec_setup_mem_size_start() != 0) return -EINVAL;
return 0;
diff --git a/board/renesas/gose/gose.c b/board/renesas/gose/gose.c index 96ac29d..1862c16 100644 --- a/board/renesas/gose/gose.c +++ b/board/renesas/gose/gose.c @@ -83,7 +83,7 @@ int board_init(void)
int dram_init(void) {
- if (fdtdec_setup_memory_size() != 0)
if (fdtdec_setup_mem_size_start() != 0) return -EINVAL;
return 0;
diff --git a/board/renesas/koelsch/koelsch.c b/board/renesas/koelsch/koelsch.c index b6688a2..a650b8b 100644 --- a/board/renesas/koelsch/koelsch.c +++ b/board/renesas/koelsch/koelsch.c @@ -85,7 +85,7 @@ int board_init(void)
int dram_init(void) {
- if (fdtdec_setup_memory_size() != 0)
if (fdtdec_setup_mem_size_start() != 0) return -EINVAL;
return 0;
diff --git a/board/renesas/lager/lager.c b/board/renesas/lager/lager.c index 6bfb0d1..ee66f02 100644 --- a/board/renesas/lager/lager.c +++ b/board/renesas/lager/lager.c @@ -94,7 +94,7 @@ int board_init(void)
int dram_init(void) {
- if (fdtdec_setup_memory_size() != 0)
if (fdtdec_setup_mem_size_start() != 0) return -EINVAL;
return 0;
diff --git a/board/renesas/porter/porter.c b/board/renesas/porter/porter.c index cadff2c..b4d7f57 100644 --- a/board/renesas/porter/porter.c +++ b/board/renesas/porter/porter.c @@ -83,7 +83,7 @@ int board_init(void)
int dram_init(void) {
- if (fdtdec_setup_memory_size() != 0)
if (fdtdec_setup_mem_size_start() != 0) return -EINVAL;
return 0;
diff --git a/board/renesas/salvator-x/salvator-x.c b/board/renesas/salvator-x/salvator-x.c index 651877c..c104458 100644 --- a/board/renesas/salvator-x/salvator-x.c +++ b/board/renesas/salvator-x/salvator-x.c @@ -108,7 +108,7 @@ int board_init(void)
int dram_init(void) {
- if (fdtdec_setup_memory_size() != 0)
if (fdtdec_setup_mem_size_start() != 0) return -EINVAL;
return 0;
diff --git a/board/renesas/silk/silk.c b/board/renesas/silk/silk.c index 5fa472c..eda61ee 100644 --- a/board/renesas/silk/silk.c +++ b/board/renesas/silk/silk.c @@ -78,7 +78,7 @@ int board_init(void)
int dram_init(void) {
- if (fdtdec_setup_memory_size() != 0)
if (fdtdec_setup_mem_size_start() != 0) return -EINVAL;
return 0;
diff --git a/board/renesas/stout/stout.c b/board/renesas/stout/stout.c index 778593b..bc62caf 100644 --- a/board/renesas/stout/stout.c +++ b/board/renesas/stout/stout.c @@ -97,7 +97,7 @@ int board_init(void)
int dram_init(void) {
- if (fdtdec_setup_memory_size() != 0)
if (fdtdec_setup_mem_size_start() != 0) return -EINVAL;
return 0;
diff --git a/board/renesas/ulcb/ulcb.c b/board/renesas/ulcb/ulcb.c index 9e15e45..679f09d 100644 --- a/board/renesas/ulcb/ulcb.c +++ b/board/renesas/ulcb/ulcb.c @@ -96,7 +96,7 @@ int board_init(void)
int dram_init(void) {
- if (fdtdec_setup_memory_size() != 0)
if (fdtdec_setup_mem_size_start() != 0) return -EINVAL;
return 0;
diff --git a/board/st/stm32f429-discovery/stm32f429-discovery.c b/board/st/stm32f429-discovery/stm32f429-discovery.c index b7638c0..fea3b6e 100644 --- a/board/st/stm32f429-discovery/stm32f429-discovery.c +++ b/board/st/stm32f429-discovery/stm32f429-discovery.c @@ -29,7 +29,7 @@ int dram_init(void) return rv; }
- if (fdtdec_setup_memory_size() != 0)
if (fdtdec_setup_mem_size_start() != 0) rv = -EINVAL;
return rv;
diff --git a/board/st/stm32f429-evaluation/stm32f429-evaluation.c b/board/st/stm32f429-evaluation/stm32f429-evaluation.c index 2e638c6..6bf7f33 100644 --- a/board/st/stm32f429-evaluation/stm32f429-evaluation.c +++ b/board/st/stm32f429-evaluation/stm32f429-evaluation.c @@ -23,7 +23,7 @@ int dram_init(void) return rv; }
- if (fdtdec_setup_memory_size() != 0)
if (fdtdec_setup_mem_size_start() != 0) rv = -EINVAL;
return rv;
diff --git a/board/st/stm32f469-discovery/stm32f469-discovery.c b/board/st/stm32f469-discovery/stm32f469-discovery.c index 90d7045..e2c2865 100644 --- a/board/st/stm32f469-discovery/stm32f469-discovery.c +++ b/board/st/stm32f469-discovery/stm32f469-discovery.c @@ -23,7 +23,7 @@ int dram_init(void) return rv; }
- if (fdtdec_setup_memory_size() != 0)
if (fdtdec_setup_mem_size_start() != 0) rv = -EINVAL;
return rv;
diff --git a/board/st/stm32h743-disco/stm32h743-disco.c b/board/st/stm32h743-disco/stm32h743-disco.c index fa007c7..469370c 100644 --- a/board/st/stm32h743-disco/stm32h743-disco.c +++ b/board/st/stm32h743-disco/stm32h743-disco.c @@ -20,7 +20,7 @@ int dram_init(void) return ret; }
- if (fdtdec_setup_memory_size() != 0)
if (fdtdec_setup_mem_size_start() != 0) ret = -EINVAL;
return ret;
diff --git a/board/st/stm32h743-eval/stm32h743-eval.c b/board/st/stm32h743-eval/stm32h743-eval.c index fa007c7..469370c 100644 --- a/board/st/stm32h743-eval/stm32h743-eval.c +++ b/board/st/stm32h743-eval/stm32h743-eval.c @@ -20,7 +20,7 @@ int dram_init(void) return ret; }
- if (fdtdec_setup_memory_size() != 0)
if (fdtdec_setup_mem_size_start() != 0) ret = -EINVAL;
return ret;
diff --git a/board/xilinx/zynq/board.c b/board/xilinx/zynq/board.c index e4f86d1..d80dd3d 100644 --- a/board/xilinx/zynq/board.c +++ b/board/xilinx/zynq/board.c @@ -93,7 +93,7 @@ int dram_init_banksize(void)
int dram_init(void) {
- if (fdtdec_setup_memory_size() != 0)
if (fdtdec_setup_mem_size_start() != 0) return -EINVAL;
zynq_ddrc_init();
diff --git a/board/xilinx/zynqmp/zynqmp.c b/board/xilinx/zynqmp/zynqmp.c index e41fec3..38f935c 100644 --- a/board/xilinx/zynqmp/zynqmp.c +++ b/board/xilinx/zynqmp/zynqmp.c @@ -418,7 +418,7 @@ int dram_init_banksize(void)
int dram_init(void) {
- if (fdtdec_setup_memory_size() != 0)
if (fdtdec_setup_mem_size_start() != 0) return -EINVAL;
return 0;
diff --git a/board/xilinx/zynqmp_r5/board.c b/board/xilinx/zynqmp_r5/board.c index 70fb202..954e463 100644 --- a/board/xilinx/zynqmp_r5/board.c +++ b/board/xilinx/zynqmp_r5/board.c @@ -18,7 +18,7 @@ int dram_init_banksize(void)
int dram_init(void) {
- if (fdtdec_setup_memory_size() != 0)
if (fdtdec_setup_mem_size_start() != 0) return -EINVAL;
return 0;
diff --git a/common/board_f.c b/common/board_f.c index fa667c7..ccd2a2f 100644 --- a/common/board_f.c +++ b/common/board_f.c @@ -281,9 +281,9 @@ static int setup_dest_addr(void) gd->ram_size -= CONFIG_SYS_MEM_TOP_HIDE; #endif #ifdef CONFIG_SYS_SDRAM_BASE
- gd->ram_top = CONFIG_SYS_SDRAM_BASE;
- gd->ram_start = CONFIG_SYS_SDRAM_BASE;
#endif
- gd->ram_top += get_effective_memsize();
- gd->ram_top = gd->ram_start + get_effective_memsize(); gd->ram_top = board_get_usable_ram_top(gd->mon_len); gd->relocaddr = gd->ram_top; debug("Ram top: %08lX\n", (ulong)gd->ram_top);
diff --git a/include/asm-generic/global_data.h b/include/asm-generic/global_data.h index 2d451f8..c8ee788 100644 --- a/include/asm-generic/global_data.h +++ b/include/asm-generic/global_data.h @@ -52,6 +52,7 @@ typedef struct global_data { unsigned long env_has_init; /* Bitmask of boolean of struct env_location offsets */ int env_load_location;
- unsigned long ram_start; /* Start address of first bank of RAM */ unsigned long ram_top; /* Top address of RAM used by U-Boot */ unsigned long relocaddr; /* Start address of U-Boot in RAM */ phys_size_t ram_size; /* RAM size */
diff --git a/include/fdtdec.h b/include/fdtdec.h index c15b2a0..f5ebf52 100644 --- a/include/fdtdec.h +++ b/include/fdtdec.h @@ -951,20 +951,22 @@ int fdtdec_decode_display_timing(const void *blob, int node, int index, struct display_timing *config);
/**
- fdtdec_setup_memory_size() - decode and setup gd->ram_size
- fdtdec_setup_mem_size_start() - decode and setup gd->ram_size and
- gd->ram_start
- Decode the /memory 'reg' property to determine the size of the first memory
- bank, populate the global data with the size of the first bank of memory.
- Decode the /memory 'reg' property to determine the size and start of the
- first memory bank, populate the global data with the size and start of the
- first bank of memory.
- This function should be called from a boards dram_init(). This helper
- function allows for boards to query the device tree for DRAM size instead of
- hard coding the value in the case where the memory size cannot be detected
- automatically.
- function allows for boards to query the device tree for DRAM size and start
- address instead of hard coding the value in the case where the memory size
*/
- and start address cannot be detected automatically.
- @return 0 if OK, -EINVAL if the /memory node or reg property is missing or
- invalid
-int fdtdec_setup_memory_size(void); +int fdtdec_setup_mem_size_start(void);
/**
- fdtdec_setup_memory_banksize() - decode and populate gd->bd->bi_dram
diff --git a/lib/fdtdec.c b/lib/fdtdec.c index f4e8dbf..8c63278 100644 --- a/lib/fdtdec.c +++ b/lib/fdtdec.c @@ -1154,7 +1154,7 @@ int fdtdec_decode_display_timing(const void *blob, int parent, int index, return ret; }
-int fdtdec_setup_memory_size(void) +int fdtdec_setup_mem_size_start(void) { int ret, mem; struct fdt_resource res; @@ -1172,6 +1172,7 @@ int fdtdec_setup_memory_size(void) }
gd->ram_size = (phys_size_t)(res.end - res.start + 1);
- gd->ram_start = (unsigned long)res.start; debug("%s: Initial DRAM size %llx\n", __func__, (unsigned long long)gd->ram_size);
diff --git a/tools/patman/func_test.py b/tools/patman/func_test.py index 85372f3..a16427a 100644 --- a/tools/patman/func_test.py +++ b/tools/patman/func_test.py @@ -209,7 +209,7 @@ Changes in v4:
Simon Glass (2): pci: Correct cast for sandbox
- fdt: Correct cast for sandbox in fdtdec_setup_memory_size()
fdt: Correct cast for sandbox in fdtdec_setup_mem_size_start()
cmd/pci.c | 3 ++- fs/fat/fat.c | 1 +
diff --git a/tools/patman/test/0000-cover-letter.patch b/tools/patman/test/0000-cover-letter.patch index 2906201..84ba81b 100644 --- a/tools/patman/test/0000-cover-letter.patch +++ b/tools/patman/test/0000-cover-letter.patch @@ -10,7 +10,7 @@ Content-Transfer-Encoding: 8bit
Simon Glass (2): pci: Correct cast for sandbox
- fdt: Correct cast for sandbox in fdtdec_setup_memory_size()
fdt: Correct cast for sandbox in fdtdec_setup_mem_size_start()
cmd/pci.c | 3 ++- fs/fat/fat.c | 1 +
diff --git a/tools/patman/test/0002-fdt-Correct-cast-for-sandbox-in-fdtdec_setup_memory_.patch b/tools/patman/test/0002-fdt-Correct-cast-for-sandbox-in-fdtdec_setup_memory_.patch index e328497..827e4cc 100644 --- a/tools/patman/test/0002-fdt-Correct-cast-for-sandbox-in-fdtdec_setup_memory_.patch +++ b/tools/patman/test/0002-fdt-Correct-cast-for-sandbox-in-fdtdec_setup_memory_.patch @@ -1,7 +1,7 @@ From 5ab48490f03051875ab13d288a4bf32b507d76fd Mon Sep 17 00:00:00 2001 From: Simon Glass sjg@chromium.org Date: Sat, 15 Apr 2017 15:39:08 -0600 -Subject: [RFC 2/2] fdt: Correct cast for sandbox in fdtdec_setup_memory_size() +Subject: [RFC 2/2] fdt: Correct cast for sandbox in fdtdec_setup_mem_size_start() MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit @@ -58,7 +58,7 @@ diff --git a/lib/fdtdec.c b/lib/fdtdec.c index c072e54..942244f 100644 --- a/lib/fdtdec.c +++ b/lib/fdtdec.c -@@ -1200,7 +1200,8 @@ int fdtdec_setup_memory_size(void) +@@ -1200,7 +1200,8 @@ int fdtdec_setup_mem_size_start(void) }
gd->ram_size = (phys_size_t)(res.end - res.start + 1); diff --git a/tools/patman/test/test01.txt b/tools/patman/test/test01.txt index 8ad9587..d8be23d 100644 --- a/tools/patman/test/test01.txt +++ b/tools/patman/test/test01.txt @@ -28,7 +28,7 @@ commit 5ab48490f03051875ab13d288a4bf32b507d76fd Author: Simon Glass sjg@chromium.org Date: Sat Apr 15 15:39:08 2017 -0600
- fdt: Correct cast for sandbox in fdtdec_setup_memory_size()
fdt: Correct cast for sandbox in fdtdec_setup_mem_size_start()
This gives a warning with some native compilers:
Siva: Can you please update this patch based on this one which was applied? There is a new ram_base added.
Thanks, Michal
commit 90c08fa038451d6d7b7d8711bfd829b61d64c490 Author: Michael Pratt mpratt@chromium.org AuthorDate: Mon Jun 11 13:07:09 2018 -0600 Commit: Simon Glass sjg@chromium.org CommitDate: Mon Jul 9 09:11:00 2018 -0600
fdt: Add device tree memory bindings
Support a default memory bank, specified in reg, as well as board-specific memory banks in subtree board-id nodes.
This allows memory information to be provided in the device tree, rather than hard-coded in, which will make it simpler to handle similar devices with different memory banks, as the board-id values or masks can be used to match devices.
Signed-off-by: Michael Pratt mpratt@chromium.org Signed-off-by: Simon Glass sjg@chromium.org Reviewed-by: Vadim Bendebury vbendeb@chromium.org
participants (5)
-
Marek Vasut
-
Michal Simek
-
Simon Glass
-
Siva Durga Prasad Paladugu
-
Tom Rini