diff mbox

[U-Boot] powerpc/mpc8641hpcn: Move environment to avoid conflict

Message ID 1429132428-21396-1-git-send-email-scottwood@freescale.com
State Accepted
Delegated to: York Sun
Headers show

Commit Message

Scott Wood April 15, 2015, 9:13 p.m. UTC
U-Boot on this board grew a long time ago past the 384 KiB that
it reserves for the U-Boot image, before the environment.  Thus,
saveenv overwrites the U-Boot image and bricks the board.

I tried to find out when U-Boot grew beyond this point, but there is a
long stretch in the history where this board did not build -- and
AFAICT when it did fit in 384 KiB, it was missing vital features such
as fdt support.  Turning off CONFIG_VIDEO was not enough to make it
fit.  Thus, I don't think we have any choice other than to move the
environment.

Signed-off-by: Scott Wood <scottwood@freescale.com>
---
 include/configs/MPC8641HPCN.h | 5 +++--
 1 file changed, 3 insertions(+), 2 deletions(-)

Comments

York Sun April 20, 2015, 9:02 p.m. UTC | #1
On 04/15/2015 02:13 PM, Scott Wood wrote:
> U-Boot on this board grew a long time ago past the 384 KiB that
> it reserves for the U-Boot image, before the environment.  Thus,
> saveenv overwrites the U-Boot image and bricks the board.
> 
> I tried to find out when U-Boot grew beyond this point, but there is a
> long stretch in the history where this board did not build -- and
> AFAICT when it did fit in 384 KiB, it was missing vital features such
> as fdt support.  Turning off CONFIG_VIDEO was not enough to make it
> fit.  Thus, I don't think we have any choice other than to move the
> environment.
> 
> Signed-off-by: Scott Wood <scottwood@freescale.com>
> ---

Applied to mpc85xx master, awaiting upstream.

York
diff mbox

Patch

diff --git a/include/configs/MPC8641HPCN.h b/include/configs/MPC8641HPCN.h
index a0d7d52..9f755e5 100644
--- a/include/configs/MPC8641HPCN.h
+++ b/include/configs/MPC8641HPCN.h
@@ -255,7 +255,7 @@  extern unsigned long get_board_sys_clk(unsigned long dummy);
 #define CONFIG_SYS_GBL_DATA_OFFSET	(CONFIG_SYS_INIT_RAM_SIZE - GENERATED_GBL_DATA_SIZE)
 #define CONFIG_SYS_INIT_SP_OFFSET	CONFIG_SYS_GBL_DATA_OFFSET
 
-#define CONFIG_SYS_MONITOR_LEN		(256 * 1024)	/* Reserve 256 kB for Mon */
+#define CONFIG_SYS_MONITOR_LEN		(512 * 1024)	/* Reserve 512 kB for Mon */
 #define CONFIG_SYS_MALLOC_LEN		(1024 * 1024)	 /* Reserved for malloc */
 
 /* Serial Port */
@@ -602,7 +602,8 @@  extern unsigned long get_board_sys_clk(unsigned long dummy);
  */
 #ifndef CONFIG_SYS_RAMBOOT
     #define CONFIG_ENV_IS_IN_FLASH	1
-    #define CONFIG_ENV_ADDR		(CONFIG_SYS_MONITOR_BASE + 0x60000)
+    #define CONFIG_ENV_ADDR		\
+			(CONFIG_SYS_MONITOR_BASE + CONFIG_SYS_MONITOR_LEN)
     #define CONFIG_ENV_SECT_SIZE		0x10000	/* 64K(one sector) for env */
 #else
     #define CONFIG_ENV_IS_NOWHERE	1	/* Store ENV in memory only */