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 cd042ca0ce48f531b0c4ad1d31a341ade27fd68e..990cca4ebb6eb280724836b763ab1745b60e6883 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 7e9fe3800da7428fb32235f9715c2e44ed665255..cb28d6522abdedf2ebbe2e9771793e3d2af802ab 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 */