On Dec 20, 2011, at 10:33 AM, Fabio Estevam wrote: > Since commit 97039ab98 (env_mmc: Allow board code to override the environment > address) > mmc_get_env_addr is a weak-aliased function in common/env_mmc.c > > The mmc_get_env_addr implementation that exists at > board/freescale/common/sdhc_boot.c is meant to be used only for PowerPC > boards, > but currently it is being used for all platforms that have > CONFIG_ENV_IS_IN_MMC defined. > > Introduce CONFIG_FSL_FIXED_MMC_LOCATION so that the boards that need to use > the mmc_get_env_addr version from board/freescale/common/sdhc_boot.c could > activate > this config option on their board file. > > This fixes the retrieval of CONFIG_ENV_OFFSET on non-PowerPC boards. > > Signed-off-by: Fabio Estevam <fabio.este...@freescale.com> > --- > board/freescale/common/Makefile | 2 +- > board/freescale/common/sdhc_boot.c | 2 ++ > include/configs/MPC8536DS.h | 1 + > include/configs/P1010RDB.h | 1 + > include/configs/P1_P2_RDB.h | 1 + > include/configs/P2020COME.h | 1 + > include/configs/P2020DS.h | 1 + > include/configs/P2041RDB.h | 1 + > include/configs/corenet_ds.h | 1 + > include/configs/p1_p2_rdb_pc.h | 1 + > 10 files changed, 11 insertions(+), 1 deletions(-) > > diff --git a/board/freescale/common/Makefile b/board/freescale/common/Makefile > index 9077aaf..5f8f7c6 100644 > --- a/board/freescale/common/Makefile > +++ b/board/freescale/common/Makefile > @@ -39,7 +39,7 @@ COBJS-$(CONFIG_PQ_MDS_PIB) += pq-mds-pib.o > COBJS-$(CONFIG_ID_EEPROM) += sys_eeprom.o > COBJS-$(CONFIG_FSL_SGMII_RISER) += sgmii_riser.o > ifndef CONFIG_RAMBOOT_PBL > -COBJS-$(CONFIG_ENV_IS_IN_MMC) += sdhc_boot.o > +COBJS-$(CONFIG_FSL_FIXED_MMC_LOCATION) += sdhc_boot.o > endif > > COBJS-$(CONFIG_MPC8541CDS) += cds_pci_ft.o > diff --git a/board/freescale/common/sdhc_boot.c > b/board/freescale/common/sdhc_boot.c > index e432318..68c335b 100644 > --- a/board/freescale/common/sdhc_boot.c > +++ b/board/freescale/common/sdhc_boot.c > @@ -32,6 +32,7 @@ > #define ESDHC_BOOT_IMAGE_SIZE 0x48 > #define ESDHC_BOOT_IMAGE_ADDR 0x50 > > +#ifdef CONFIG_FSL_FIXED_MMC_LOCATION
Why is this ifdef needed since we already have it dealt with in the Makefile? > int mmc_get_env_addr(struct mmc *mmc, u32 *env_addr) > { > u8 *tmp_buf; > @@ -61,3 +62,4 @@ int mmc_get_env_addr(struct mmc *mmc, u32 *env_addr) > > return 0; > } > +#endif > diff --git a/include/configs/MPC8536DS.h b/include/configs/MPC8536DS.h > index 16db98f..4b5373c 100644 > --- a/include/configs/MPC8536DS.h > +++ b/include/configs/MPC8536DS.h > @@ -659,6 +659,7 @@ > #define CONFIG_ENV_SECT_SIZE 0x10000 > #elif defined(CONFIG_RAMBOOT_SDCARD) > #define CONFIG_ENV_IS_IN_MMC > +#define CONFIG_FSL_FIXED_MMC_LOCATION > #define CONFIG_ENV_SIZE 0x2000 > #define CONFIG_SYS_MMC_ENV_DEV 0 > #else > diff --git a/include/configs/P1010RDB.h b/include/configs/P1010RDB.h > index af4609f..0a22a5c 100644 > --- a/include/configs/P1010RDB.h > +++ b/include/configs/P1010RDB.h > @@ -609,6 +609,7 @@ extern unsigned long get_sdram_size(void); > #if defined(CONFIG_SYS_RAMBOOT) > #if defined(CONFIG_RAMBOOT_SDCARD) > #define CONFIG_ENV_IS_IN_MMC > +#define CONFIG_FSL_FIXED_MMC_LOCATION > #define CONFIG_SYS_MMC_ENV_DEV 0 > #define CONFIG_ENV_SIZE 0x2000 > #elif defined(CONFIG_RAMBOOT_SPIFLASH) > diff --git a/include/configs/P1_P2_RDB.h b/include/configs/P1_P2_RDB.h > index 00fa74d..29f016b 100644 > --- a/include/configs/P1_P2_RDB.h > +++ b/include/configs/P1_P2_RDB.h > @@ -519,6 +519,7 @@ extern unsigned long get_board_sys_clk(unsigned long > dummy); > #define CONFIG_ENV_OFFSET ((512 * 1024) + > CONFIG_SYS_NAND_BLOCK_SIZE) > #elif defined(CONFIG_RAMBOOT_SDCARD) > #define CONFIG_ENV_IS_IN_MMC > +#define CONFIG_FSL_FIXED_MMC_LOCATION > #define CONFIG_ENV_SIZE 0x2000 > #define CONFIG_SYS_MMC_ENV_DEV 0 > #elif defined(CONFIG_RAMBOOT_SPIFLASH) > diff --git a/include/configs/P2020COME.h b/include/configs/P2020COME.h > index cf20d2b..f3d1db0 100644 > --- a/include/configs/P2020COME.h > +++ b/include/configs/P2020COME.h > @@ -350,6 +350,7 @@ extern unsigned long get_board_sys_clk(unsigned long > dummy); > */ > #if defined(CONFIG_RAMBOOT_SDCARD) > #define CONFIG_ENV_IS_IN_MMC 1 > + #define CONFIG_FSL_FIXED_MMC_LOCATION > #define CONFIG_ENV_SIZE 0x2000 > #define CONFIG_SYS_MMC_ENV_DEV 0 > #elif defined(CONFIG_RAMBOOT_SPIFLASH) > diff --git a/include/configs/P2020DS.h b/include/configs/P2020DS.h > index 2d9657a..2d9b916 100644 > --- a/include/configs/P2020DS.h > +++ b/include/configs/P2020DS.h > @@ -596,6 +596,7 @@ > */ > #if defined(CONFIG_SDCARD) > #define CONFIG_ENV_IS_IN_MMC > +#define CONFIG_FSL_FIXED_MMC_LOCATION > #define CONFIG_ENV_SIZE 0x2000 > #define CONFIG_SYS_MMC_ENV_DEV 0 > #elif defined(CONFIG_SPIFLASH) > diff --git a/include/configs/P2041RDB.h b/include/configs/P2041RDB.h > index a48055e..3c04e89 100644 > --- a/include/configs/P2041RDB.h > +++ b/include/configs/P2041RDB.h > @@ -92,6 +92,7 @@ > #elif defined(CONFIG_SDCARD) > #define CONFIG_SYS_EXTRA_ENV_RELOC > #define CONFIG_ENV_IS_IN_MMC > + #define CONFIG_FSL_FIXED_MMC_LOCATION > #define CONFIG_SYS_MMC_ENV_DEV 0 > #define CONFIG_ENV_SIZE 0x2000 > #define CONFIG_ENV_OFFSET (512 * 1097) > diff --git a/include/configs/corenet_ds.h b/include/configs/corenet_ds.h > index 7925b95..613ca49 100644 > --- a/include/configs/corenet_ds.h > +++ b/include/configs/corenet_ds.h > @@ -88,6 +88,7 @@ > #elif defined(CONFIG_SDCARD) > #define CONFIG_SYS_EXTRA_ENV_RELOC > #define CONFIG_ENV_IS_IN_MMC > +#define CONFIG_FSL_FIXED_MMC_LOCATION > #define CONFIG_SYS_MMC_ENV_DEV 0 > #define CONFIG_ENV_SIZE 0x2000 > #define CONFIG_ENV_OFFSET (512 * 1097) > diff --git a/include/configs/p1_p2_rdb_pc.h b/include/configs/p1_p2_rdb_pc.h > index 8e8fa16..1b10475 100644 > --- a/include/configs/p1_p2_rdb_pc.h > +++ b/include/configs/p1_p2_rdb_pc.h > @@ -733,6 +733,7 @@ > #define CONFIG_ENV_SECT_SIZE 0x10000 > #elif defined(CONFIG_RAMBOOT_SDCARD) > #define CONFIG_ENV_IS_IN_MMC > +#define CONFIG_FSL_FIXED_MMC_LOCATION > #define CONFIG_ENV_SIZE 0x2000 > #define CONFIG_SYS_MMC_ENV_DEV 0 > #elif defined(CONFIG_NAND_U_BOOT) > -- > 1.7.1 > > _______________________________________________ > U-Boot mailing list > U-Boot@lists.denx.de > http://lists.denx.de/mailman/listinfo/u-boot _______________________________________________ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot