[U-Boot] [PATCH 05/11] arm/pxa: fix environment location/length for vpac270 and related bugs.

Mikhail Kshevetskiy mikhail.kshevetskiy at gmail.com
Thu Aug 26 12:48:00 CEST 2010


Define MONITOR_BASE on the base of used flash type. Define ENV_ADDR as
MONITOR_BASE + MONITOR_LEN. Fix environment sector size (NOR: 32Kb for
first four sectors and 128Kb for other; OneNAND: 128Kb).

Last but not least: we have MONITOR_LEN = 0x40000, one sector for environment
and one sector for its redundancy copy (2 * 0x20000 = 256Kb). So the kernel
may start from 0x00080000 only.

Signed-off-by: Mikhail Kshevetskiy <mikhail.kshevetskiy at gmail.com>
---
 include/configs/vpac270.h |   10 ++++++----
 1 files changed, 6 insertions(+), 4 deletions(-)

diff --git a/include/configs/vpac270.h b/include/configs/vpac270.h
index 4c162bd..d3e805a 100644
--- a/include/configs/vpac270.h
+++ b/include/configs/vpac270.h
@@ -49,7 +49,7 @@
 	"if usb reset && fatload usb 0 0xa4000000 uImage; then "	\
 		"bootm 0xa4000000; "					\
 	"fi; "								\
-	"bootm 0x40000;"
+	"bootm 0x00080000;"
 #define	CONFIG_BOOTARGS			"console=tty0 console=ttyS0,115200"
 #define	CONFIG_TIMESTAMP
 #define	CONFIG_BOOTDELAY		2	/* Autoboot delay */
@@ -188,6 +188,7 @@
 #if	defined(CONFIG_CMD_FLASH)	/* NOR */
 #define	PHYS_FLASH_1			0x00000000	/* Flash Bank #1 */
 #define	PHYS_FLASH_2			0x02000000	/* Flash Bank #2 */
+#define	CONFIG_SYS_MONITOR_BASE		PHYS_FLASH_1
 
 #define	CONFIG_SYS_FLASH_CFI
 #define	CONFIG_FLASH_CFI_DRIVER		1
@@ -207,18 +208,19 @@
 #elif	defined(CONFIG_CMD_ONENAND)	/* OneNAND */
 #define	CONFIG_SYS_NO_FLASH
 #define	CONFIG_SYS_ONENAND_BASE		0x00000000
+#define	CONFIG_SYS_MONITOR_BASE		CONFIG_SYS_ONENAND_BASE
 #define	CONFIG_ENV_IS_IN_ONENAND	1
 
 #else	/* No flash */
 #define	CONFIG_SYS_NO_FLASH
 #define	CONFIG_SYS_ENV_IS_NOWHERE
+#define	CONFIG_SYS_MONITOR_BASE		0x000000
 #endif
 
-#define	CONFIG_SYS_MONITOR_BASE		0x000000
 #define	CONFIG_SYS_MONITOR_LEN		0x40000
 
-#define CONFIG_ENV_ADDR		(CONFIG_SYS_MONITOR_LEN)
-#define CONFIG_ENV_SECT_SIZE	0x40000
+#define CONFIG_ENV_ADDR		(CONFIG_SYS_MONITOR_BASE + CONFIG_SYS_MONITOR_LEN)
+#define CONFIG_ENV_SECT_SIZE	0x20000
 #define CONFIG_ENV_ADDR_REDUND	(CONFIG_ENV_ADDR + CONFIG_ENV_SECT_SIZE)
 #define CONFIG_ENV_SIZE_REDUND	(CONFIG_ENV_SIZE)
 
-- 
1.7.1



More information about the U-Boot mailing list