board: MCR3000: Use smaller flash sector for environment
authorChristophe Leroy <christophe.leroy@c-s.fr>
Fri, 16 Mar 2018 16:20:55 +0000 (17:20 +0100)
committerTom Rini <trini@konsulko.com>
Fri, 6 Apr 2018 20:30:37 +0000 (16:30 -0400)
Latest versions of u-boot have increased in size and require more
than the 256kb allocated to it.

The MCR3000 board is equipped with an AM29LV160DB boot flash which
is organised as follows:
- One 16kb block
- Two 8kb block
- One 32kb block
- Thirty one 64kb blocks

At the time being, u-boot is a single piece occupying the 256 first
kbytes, then the environment is stored in the following 64kb block

The environment being quite tiny, we save one 64kb block by embedding
the environment in the first 8kb block, hence allowing to increase
the monitor size to 320kb.

Signed-off-by: Christophe Leroy <christophe.leroy@c-s.fr>
board/cssi/MCR3000/u-boot.lds
include/configs/MCR3000.h

index cd042ca..990cca4 100644 (file)
@@ -18,14 +18,14 @@ SECTIONS
        .text          :
        {
                arch/powerpc/cpu/mpc8xx/start.o (.text)
-               arch/powerpc/cpu/mpc8xx/start.o (.text*)
                arch/powerpc/cpu/mpc8xx/traps.o (.text*)
-               arch/powerpc/cpu/mpc8xx/built-in.o      (.text*)
                arch/powerpc/lib/built-in.o             (.text*)
                board/cssi/MCR3000/built-in.o   (.text*)
-               disk/built-in.o                 (.text*)
                drivers/net/built-in.o          (.text*)
 
+               . = DEFINED(env_offset) ? env_offset : .;
+               env/embedded.o                  (.text.environment)
+
                *(.text)
        }
        _etext = .;
index 7e9fe38..cb28d65 100644 (file)
  * the maximum mapped by the Linux kernel during initialization.
  */
 #define        CONFIG_SYS_BOOTMAPSZ            (8 << 20)
-#define        CONFIG_SYS_MONITOR_LEN          (256 << 10)
+#define        CONFIG_SYS_MONITOR_LEN          (320 << 10)
 #define CONFIG_SYS_MONITOR_BASE                CONFIG_SYS_TEXT_BASE
 #define CONFIG_SYS_MALLOC_LEN          (4096 << 10)
 
 /* Environment Configuration */
 
 /* environment is in FLASH */
-#define CONFIG_ENV_SECT_SIZE   (64 * 1024)
-#define CONFIG_ENV_OFFSET      CONFIG_SYS_MONITOR_LEN
+#define CONFIG_ENV_SECT_SIZE   0x2000
+#define CONFIG_ENV_OFFSET      0x4000
 #define CONFIG_ENV_OVERWRITE   1
 
 /* Ethernet configuration part */