summaryrefslogtreecommitdiff
path: root/arch
diff options
context:
space:
mode:
authorTerry Lv <r65388@freescale.com>2010-05-17 10:57:01 +0800
committerWolfgang Denk <wd@denx.de>2010-09-19 17:47:29 +0200
commita80603598cef13ab8031b514a603ef1a6169d249 (patch)
treedf2e6fba57113709e6fe8b943024999d4e564283 /arch
parent3adfd1143bd55608fa9ec81f98999d478c9313ba (diff)
downloadu-boot-imx-a80603598cef13ab8031b514a603ef1a6169d249.zip
u-boot-imx-a80603598cef13ab8031b514a603ef1a6169d249.tar.gz
u-boot-imx-a80603598cef13ab8031b514a603ef1a6169d249.tar.bz2
Save environment data to mmc.
This patch is to save environment data to mmc card. It uses interfaces defined in generic mmc. Signed-off-by: Terry Lv <r65388@freescale.com> Acked-by: Stefano Babic <sbabic@denx.de>
Diffstat (limited to 'arch')
-rw-r--r--arch/arm/lib/board.c15
-rw-r--r--arch/powerpc/lib/board.c17
2 files changed, 21 insertions, 11 deletions
diff --git a/arch/arm/lib/board.c b/arch/arm/lib/board.c
index 54519b0..e17f182 100644
--- a/arch/arm/lib/board.c
+++ b/arch/arm/lib/board.c
@@ -347,6 +347,16 @@ void start_armboot (void)
dataflash_print_info();
#endif
+#ifdef CONFIG_GENERIC_MMC
+/*
+ * MMC initialization is called before relocating env.
+ * Thus It is required that operations like pin multiplexer
+ * be put in board_init.
+ */
+ puts ("MMC: ");
+ mmc_initialize (gd->bd);
+#endif
+
/* initialize environment */
env_relocate ();
@@ -419,11 +429,6 @@ extern void davinci_eth_set_mac_addr (const u_int8_t *addr);
board_late_init ();
#endif
-#ifdef CONFIG_GENERIC_MMC
- puts ("MMC: ");
- mmc_initialize (gd->bd);
-#endif
-
#ifdef CONFIG_BITBANGMII
bb_miiphy_init();
#endif
diff --git a/arch/powerpc/lib/board.c b/arch/powerpc/lib/board.c
index 0e00d86..628d067 100644
--- a/arch/powerpc/lib/board.c
+++ b/arch/powerpc/lib/board.c
@@ -783,6 +783,17 @@ void board_init_r (gd_t *id, ulong dest_addr)
nand_init(); /* go init the NAND */
#endif
+#ifdef CONFIG_GENERIC_MMC
+/*
+ * MMC initialization is called before relocating env.
+ * Thus It is required that operations like pin multiplexer
+ * be put in board_init.
+ */
+ WATCHDOG_RESET ();
+ puts ("MMC: ");
+ mmc_initialize (bd);
+#endif
+
/* relocate environment function pointers etc. */
env_relocate ();
@@ -939,12 +950,6 @@ void board_init_r (gd_t *id, ulong dest_addr)
scsi_init ();
#endif
-#ifdef CONFIG_GENERIC_MMC
- WATCHDOG_RESET ();
- puts ("MMC: ");
- mmc_initialize (bd);
-#endif
-
#if defined(CONFIG_CMD_DOC)
WATCHDOG_RESET ();
puts ("DOC: ");