From mboxrd@z Thu Jan 1 00:00:00 1970 From: Sudhakar Rajashekhara Date: Fri, 14 May 2010 13:56:04 +0530 Subject: [U-Boot] [PATCH 4/4] Environment in MMC In-Reply-To: <1273657107-7148-4-git-send-email-alagusankar@embwise.com> References: <1273657107-7148-1-git-send-email-alagusankar@embwise.com> <1273657107-7148-2-git-send-email-alagusankar@embwise.com> <1273657107-7148-3-git-send-email-alagusankar@embwise.com> <1273657107-7148-4-git-send-email-alagusankar@embwise.com> Message-ID: <014f01caf33f$17c731a0$475594e0$@raj@ti.com> List-Id: MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit To: u-boot@lists.denx.de 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 > --- > 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... at denx.de. > + * I do not see your copyright here. Regards, Sudhakar