summaryrefslogtreecommitdiff
path: root/include/configs/idmr.h
diff options
context:
space:
mode:
authorWolfgang Denk <wd@denx.de>2007-09-16 17:10:04 +0200
committerWolfgang Denk <wd@denx.de>2007-09-16 17:20:37 +0200
commit67c31036acaaaa992fc346cc89db0909a7e733c4 (patch)
tree51c721627703ec40a724e1503061554401743f05 /include/configs/idmr.h
parenteb6da8050797c204c9d010548424186c7ce32fc1 (diff)
downloadu-boot-imx-67c31036acaaaa992fc346cc89db0909a7e733c4.zip
u-boot-imx-67c31036acaaaa992fc346cc89db0909a7e733c4.tar.gz
u-boot-imx-67c31036acaaaa992fc346cc89db0909a7e733c4.tar.bz2
TQM8xx[LM]: Fix broken environment alignment.
With recent toolchains, the environment sectors were no longer aligned to sector boundaries. The reason was a combination of two bugs: 1) common/environment.c assumed that CONFIG_TQM8xxL would be defined for all TQM8xxL and TQM8xxM boards. But "include/common.h", where this gets defined, is not included here (and cannot be included without causing lots of problems). Added a new #define CFG_USE_PPCENV for all boards which really want to put the environment is a ".ppcenv" section. 2) The linker scripts just include environment.o, silently assuming that the objects in that file are really in the order in which they are coded in the C file, i. e. "environment" first, then "redundand_environment", and "env_size" last. However, current toolchains (GCC-4.x) reorder the objects, causing the environment data not to start on a flash sector boundary: Instead of: we got: 40008000 T environment 40008000 T env_size 4000c000 T redundand_environment 40008004 T redundand_environment 40010000 T env_size 4000c004 T environment Note: this patch fixes just the first part, and cures the alignment problem by making sure that "env_size" gets placed correctly. However, we still have a potential issue because primary and redundant environment sectors are actually swapped, i. e. we have now: 40008000 T redundand_environment 4000c000 T environment 40010000 T env_size This shall be fixed in the next version. Signed-off-by: Wolfgang Denk <wd@denx.de>
Diffstat (limited to 'include/configs/idmr.h')
-rw-r--r--include/configs/idmr.h2
1 files changed, 2 insertions, 0 deletions
diff --git a/include/configs/idmr.h b/include/configs/idmr.h
index 404e88a..3821ebc 100644
--- a/include/configs/idmr.h
+++ b/include/configs/idmr.h
@@ -125,6 +125,8 @@
#define CFG_ENV_IS_IN_FLASH
#endif /* !CONFIG_MONITOR_IS_IN_RAM */
+#define CFG_USE_PPCENV /* Environment embedded in sect .ppcenv */
+
#define CFG_PROMPT "=> "
#define CFG_LONGHELP /* undef to save memory */