If CONFIG_SYS_MEM_TOP_HIDE is defined, gd->ram_size is reduced by
CONFIG_SYS_MEM_TOP_HIDE. Need to correct the actual ram size in
dram_init_banksize.

Signed-off-by: Jim Liu <jjl...@nuvoton.com>
---
 board/nuvoton/arbel_evb/arbel_evb.c | 8 ++++++--
 1 file changed, 6 insertions(+), 2 deletions(-)

diff --git a/board/nuvoton/arbel_evb/arbel_evb.c 
b/board/nuvoton/arbel_evb/arbel_evb.c
index 1f519219e7..55e93a77f0 100644
--- a/board/nuvoton/arbel_evb/arbel_evb.c
+++ b/board/nuvoton/arbel_evb/arbel_evb.c
@@ -59,17 +59,21 @@ int dram_init(void)
 
 int dram_init_banksize(void)
 {
+       phys_size_t ram_size = gd->ram_size;
 
        gd->bd->bi_dram[0].start = 0;
 
-       switch (gd->ram_size) {
+       #if defined(CONFIG_SYS_MEM_TOP_HIDE)
+               ram_size += CONFIG_SYS_MEM_TOP_HIDE;
+       #endif
+       switch (ram_size) {
        case DRAM_512MB_ECC_SIZE:
        case DRAM_512MB_SIZE:
        case DRAM_1GB_ECC_SIZE:
        case DRAM_1GB_SIZE:
        case DRAM_2GB_ECC_SIZE:
        case DRAM_2GB_SIZE:
-               gd->bd->bi_dram[0].size = gd->ram_size;
+               gd->bd->bi_dram[0].size = ram_size;
                gd->bd->bi_dram[1].start = 0;
                gd->bd->bi_dram[1].size = 0;
                break;
-- 
2.34.1

Reply via email to