km: adapt defines and variables for new memory layout
authorHolger Brunck <holger.brunck@hitachi-powergrids.com>
Fri, 9 Oct 2020 15:21:32 +0000 (17:21 +0200)
committerTom Rini <trini@konsulko.com>
Thu, 22 Oct 2020 15:25:33 +0000 (11:25 -0400)
Due to increasing kernel image sizes we get problems when decompressing
the kernel image. To fix this we need to change the addresses where we
load and where we extract the kernel. Also we need to adapt the address
where to load the CRAMFS image and where to load the DTB file.
While at it also harmonize all boards for PPC and ARM to have the
same values. Also we add a new variable "env_version", so that the
userspace is able to detect if this is a u-boot binary with updated
values or not.

CC: Valentin Longchamp <valentin.longchamp@hitachi-powergrids.com>
CC: Heiko Schocher <hs@denx.de>
CC: Tom Rini <trini@konsulko.com>
Signed-off-by: Holger Brunck <holger.brunck@hitachi-powergrids.com>
Reviewed-by: Heiko Schocher <hs@denx.de>
[trini: Remove old values from kmp204x.h]
Signed-off-by: Tom Rini <trini@konsulko.com>
board/keymile/Kconfig
include/configs/km/keymile-common.h
include/configs/km/km-powerpc.h
include/configs/km/km_arm.h
include/configs/kmp204x.h

index e20c017..e590690 100644 (file)
@@ -37,26 +37,20 @@ config KM_RESERVED_PRAM
 
 config KM_CRAMFS_ADDR
        hex "CRAMFS Address"
-       default 0x2400000 if ARCH_KIRKWOOD
-       default 0xC00000 if MPC83xx
-       default 0x2000000 if MPC85xx
+       default 0x3000000
        depends on !ARCH_SOCFPGA
        help
          Start address of the CRAMFS containing the Linux kernel.
 
 config KM_KERNEL_ADDR
        hex "Kernel Load Address"
-       default 0x2000000 if ARCH_KIRKWOOD
-       default 0x400000 if MPC83xx
-       default 0x1000000 if MPC85xx || ARCH_SOCFPGA
+       default 0x2000000
        help
          Address where to load Linux kernel in RAM.
 
 config KM_FDT_ADDR
        hex "FDT Load Address"
-       default 0x23E0000 if ARCH_KIRKWOOD || ARCH_SOCFPGA
-       default 0xB80000 if MPC83xx
-       default 0x1F80000 if MPC85xx
+       default 0x2FC0000
        help
          Address where to load flattened device tree in RAM.
 
index e9e3981..6a8c415 100644 (file)
        "pnvramsize=" __stringify(CONFIG_KM_PNVRAM) "\0"                \
        "testbootcmd=setenv boot_bank ${test_bank}; "                   \
                "run ${subbootcmds}; reset\0"                           \
+       "env_version=1\0"                                               \
        ""
 
 #ifndef CONFIG_KM_DEF_ENV
index fde8487..7bfe12f 100644 (file)
@@ -21,6 +21,9 @@
 /* Reserve 4 MB for malloc */
 #define CONFIG_SYS_MALLOC_LEN          (4 * 1024 * 1024)
 
+/* Increase max size of compressed kernel */
+#define CONFIG_SYS_BOOTM_LEN           0x2000000     /* 32 MB */
+
 /******************************************************************************
  * (PRAM usage)
  * ... -------------------------------------------------------
@@ -53,6 +56,7 @@
                "protect on " __stringify(BOOTFLASH_START) "  +${filesize}\0"\
        "set_fdthigh=true\0"                                            \
        "checkfdt=true\0"                                               \
+       "bootm_mapsize=" __stringify(CONFIG_SYS_BOOTM_LEN) "\0"         \
        ""
 
 #endif /* __CONFIG_KEYMILE_POWERPC_H */
index 79edfa7..98e0ce1 100644 (file)
@@ -35,6 +35,9 @@
 /* Reserve 4 MB for malloc */
 #define CONFIG_SYS_MALLOC_LEN          (4 * 1024 * 1024)
 
+/* Increase max size of compressed kernel */
+#define CONFIG_SYS_BOOTM_LEN           (32 << 20)
+
 #include "asm/arch/config.h"
 
 #define CONFIG_SYS_LOAD_ADDR   0x00800000      /* default load adr- 8M */
index fb3a83c..ec1254e 100644 (file)
@@ -125,10 +125,6 @@ unsigned long get_board_sys_clk(unsigned long dummy);
  */
 #define CONFIG_PRAM            ((CONFIG_KM_PNVRAM + CONFIG_KM_PHRAM) >> 10)
 
-#define CONFIG_KM_CRAMFS_ADDR  0x2000000
-#define CONFIG_KM_KERNEL_ADDR  0x1000000       /* max kernel size 15.5Mbytes */
-#define CONFIG_KM_FDT_ADDR     0x1F80000       /* max dtb    size  0.5Mbytes */
-
 /*
  * Local Bus Definitions
  */