From c1bea6f4eddfe68c8e46aca63814e9513eb89c9a Mon Sep 17 00:00:00 2001 From: Teresa Gámez Date: Tue, 2 Apr 2013 14:48:07 +0200 Subject: OMAP: Add option to use environment from MMC MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Make loading environment from MMC generic for all OMAP. Tested on AM335x, OMAP4. Signed-off-by: Teresa Gámez Tested-by: Jan Weitzel Signed-off-by: Sascha Hauer --- arch/arm/mach-omap/omap_generic.c | 33 +++++++++++++++++++++++++++++++++ 1 file changed, 33 insertions(+) (limited to 'arch/arm/mach-omap/omap_generic.c') diff --git a/arch/arm/mach-omap/omap_generic.c b/arch/arm/mach-omap/omap_generic.c index f2fd1d33af..580ed3e165 100644 --- a/arch/arm/mach-omap/omap_generic.c +++ b/arch/arm/mach-omap/omap_generic.c @@ -30,3 +30,36 @@ enum omap_boot_src omap_bootsrc(void) return am33xx_bootsrc(); #endif } + +#if defined(CONFIG_DEFAULT_ENVIRONMENT) && defined(CONFIG_MCI_STARTUP) +static int omap_env_init(void) +{ + struct stat s; + char *diskdev = "/dev/disk0.0"; + int ret; + + if (omap_bootsrc() != OMAP_BOOTSRC_MMC1) + return 0; + + ret = stat(diskdev, &s); + if (ret) { + printf("no %s. using default env\n", diskdev); + return 0; + } + + mkdir("/boot", 0666); + ret = mount(diskdev, "fat", "/boot"); + if (ret) { + printf("failed to mount %s\n", diskdev); + return 0; + } + + if (IS_ENABLED(CONFIG_OMAP_BUILD_IFT)) + default_environment_path = "/dev/defaultenv"; + else + default_environment_path = "/boot/barebox.env"; + + return 0; +} +late_initcall(omap_env_init); +#endif -- cgit v1.2.3