summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMikhail Kshevetskiy <mikhail.kshevetskiy@gmail.com>2010-08-26 23:24:19 +0400
committerWolfgang Denk <wd@denx.de>2010-10-19 22:47:28 +0200
commit11934fbf520a02e3ddff95607c60e79efad7dab1 (patch)
tree6aa8680c314a75331b9c2143d44b5429fa93ddbb
parentb2b67baca318d7f3a5940c5a07f924601fa4c885 (diff)
downloadu-boot-imx-11934fbf520a02e3ddff95607c60e79efad7dab1.zip
u-boot-imx-11934fbf520a02e3ddff95607c60e79efad7dab1.tar.gz
u-boot-imx-11934fbf520a02e3ddff95607c60e79efad7dab1.tar.bz2
PXA: fix environment sector size, kernel and environment location for vpac270
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 and one sector for environment (size = 0x20000), so the kernel may start from 0x00060000 only. Signed-off-by: Mikhail Kshevetskiy <mikhail.kshevetskiy@gmail.com>
-rw-r--r--include/configs/vpac270.h25
1 files changed, 17 insertions, 8 deletions
diff --git a/include/configs/vpac270.h b/include/configs/vpac270.h
index 4c18d3a..b8440a1 100644
--- a/include/configs/vpac270.h
+++ b/include/configs/vpac270.h
@@ -45,7 +45,7 @@
"if ide reset && fatload ide 0 0xa4000000 uImage; then " \
"bootm 0xa4000000; " \
"fi; " \
- "bootm 0x40000;"
+ "bootm 0x60000;"
#define CONFIG_BOOTARGS "console=tty0 console=ttyS0,115200"
#define CONFIG_TIMESTAMP
#define CONFIG_BOOTDELAY 2 /* Autoboot delay */
@@ -185,6 +185,12 @@
/*
* NOR FLASH
*/
+#define CONFIG_SYS_MONITOR_BASE 0x0
+#define CONFIG_SYS_MONITOR_LEN 0x40000
+#define CONFIG_ENV_ADDR \
+ (CONFIG_SYS_MONITOR_BASE + CONFIG_SYS_MONITOR_LEN)
+#define CONFIG_ENV_SIZE 0x4000
+
#if defined(CONFIG_CMD_FLASH) /* NOR */
#define PHYS_FLASH_1 0x00000000 /* Flash Bank #1 */
@@ -211,7 +217,16 @@
#define CONFIG_SYS_FLASH_PROTECTION 1
#define CONFIG_ENV_IS_IN_FLASH 1
-#define CONFIG_ENV_SECT_SIZE 0x4000
+
+/*
+ * The first four sectors of the NOR flash are 0x8000 bytes big, the rest of the
+ * flash consists of 0x20000 bytes big sectors.
+ */
+#if (CONFIG_ENV_ADDR <= 0x18000)
+#define CONFIG_ENV_SECT_SIZE 0x8000
+#else
+#define CONFIG_ENV_SECT_SIZE 0x20000
+#endif
#elif defined(CONFIG_CMD_ONENAND) /* OneNAND */
#define CONFIG_SYS_NO_FLASH
@@ -225,12 +240,6 @@
#define CONFIG_SYS_ENV_IS_NOWHERE
#endif
-#define CONFIG_SYS_MONITOR_BASE 0x0
-#define CONFIG_SYS_MONITOR_LEN 0x40000
-
-#define CONFIG_ENV_ADDR 0x40000
-#define CONFIG_ENV_SIZE 0x4000
-
/*
* IDE
*/