
Hi Alagu,
On Wed, May 12, 2010 at 15:08:27, Alagu Sankar wrote:
This patch is to save environment data to mmc card. It uses interfaces defined in generic MMC framework. This is enabled with CONFIG_ENV_IS_IN_MMC option. Based on the earlier patch from Terry Lv at Freescale
Signed-off-by: Alagu Sankar alagusankar@embwise.com
arch/arm/lib/board.c | 10 ++-- arch/powerpc/lib/board.c | 12 ++-- common/Makefile | 1 + common/cmd_nvedit.c | 3 +- common/env_mmc.c | 168 ++++++++++++++++++++++++++++++++++++++++++++++ include/environment.h | 18 +++++ 6 files changed, 200 insertions(+), 12 deletions(-) create mode 100644 common/env_mmc.c
diff --git a/arch/arm/lib/board.c b/arch/arm/lib/board.c index f5660a9..5e7558e 100644 --- a/arch/arm/lib/board.c +++ b/arch/arm/lib/board.c @@ -338,6 +338,11 @@ void start_armboot (void) nand_init(); /* go init the NAND */ #endif
+#ifdef CONFIG_GENERIC_MMC
- puts ("MMC: ");
- mmc_initialize (gd->bd);
+#endif
Why this has been moved up? If there is any genuine reason for this, then you can mention it in patch description.
#if defined(CONFIG_CMD_ONENAND) onenand_init(); #endif @@ -419,11 +424,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 7b09fb5..1008635 100644 --- a/arch/powerpc/lib/board.c +++ b/arch/powerpc/lib/board.c @@ -783,6 +783,12 @@ void board_init_r (gd_t *id, ulong dest_addr) nand_init(); /* go init the NAND */ #endif
+#ifdef CONFIG_GENERIC_MMC
- WATCHDOG_RESET ();
- puts ("MMC: ");
- mmc_initialize (bd);
+#endif
The above comment applies here as well.
/* relocate environment function pointers etc. */ env_relocate ();
@@ -939,12 +945,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: "); diff --git a/common/Makefile b/common/Makefile index dbf7a05..2c37073 100644 --- a/common/Makefile +++ b/common/Makefile @@ -58,6 +58,7 @@ COBJS-$(CONFIG_ENV_IS_IN_FLASH) += env_embedded.o COBJS-$(CONFIG_ENV_IS_IN_NVRAM) += env_embedded.o COBJS-$(CONFIG_ENV_IS_IN_FLASH) += env_flash.o COBJS-$(CONFIG_ENV_IS_IN_MG_DISK) += env_mgdisk.o +COBJS-$(CONFIG_ENV_IS_IN_MMC) += env_mmc.o COBJS-$(CONFIG_ENV_IS_IN_NAND) += env_nand.o COBJS-$(CONFIG_ENV_IS_IN_NVRAM) += env_nvram.o COBJS-$(CONFIG_ENV_IS_IN_ONENAND) += env_onenand.o diff --git a/common/cmd_nvedit.c b/common/cmd_nvedit.c index eb89e9e..27e46f7 100644 --- a/common/cmd_nvedit.c +++ b/common/cmd_nvedit.c @@ -63,9 +63,10 @@ DECLARE_GLOBAL_DATA_PTR; !defined(CONFIG_ENV_IS_IN_NVRAM) && \ !defined(CONFIG_ENV_IS_IN_ONENAND) && \ !defined(CONFIG_ENV_IS_IN_SPI_FLASH) && \
- !defined(CONFIG_ENV_IS_IN_MMC) && \ !defined(CONFIG_ENV_IS_NOWHERE)
# error Define one of CONFIG_ENV_IS_IN_{EEPROM|FLASH|DATAFLASH|ONENAND|\ -SPI_FLASH|MG_DISK|NVRAM|NOWHERE} +SPI_FLASH|MG_DISK|NVRAM|MMC|NOWHERE} #endif
#define XMK_STR(x) #x diff --git a/common/env_mmc.c b/common/env_mmc.c new file mode 100644 index 0000000..ef7e5fb --- /dev/null +++ b/common/env_mmc.c @@ -0,0 +1,168 @@ +/*
- (C) Copyright 2008-2009 Freescale Semiconductor, Inc.
- (C) Copyright 2000-2006
- Wolfgang Denk, DENX Software Engineering, w...@denx.de.
I do not see your copyright here.
Regards, Sudhakar