cm-t54: add environment partition runtime detection
authorDmitry Lifshitz <lifshitz@compulab.co.il>
Sun, 27 Apr 2014 10:18:48 +0000 (13:18 +0300)
committerTom Rini <trini@ti.com>
Fri, 23 May 2014 23:40:39 +0000 (19:40 -0400)
Add environment partition runtime detection callback.

Signed-off-by: Dmitry Lifshitz <lifshitz@compulab.co.il>
Acked-by: Igor Grinberg <grinberg@compulab.co.il>
board/compulab/cm_t54/cm_t54.c
include/configs/cm_t54.h

index 6b18b93e91dec9bfe2fd2bad0835490dae7b0372..fadfddc077873bb0fdff230b443b29796f4c67a4 100644 (file)
@@ -13,6 +13,7 @@
 #include <usb.h>
 #include <mmc.h>
 #include <palmas.h>
+#include <spl.h>
 
 #include <asm/gpio.h>
 #include <asm/arch/sys_proto.h>
@@ -74,6 +75,27 @@ static int cm_t54_palmas_regulator_set(u8 vreg, u8 vval, u8 creg, u8 cval)
        return 0;
 }
 
+/*
+ * Routine: mmc_get_env_part
+ * Description:  setup environment storage device partition.
+ */
+#ifdef CONFIG_SYS_MMC_ENV_PART
+uint mmc_get_env_part(struct mmc *mmc)
+{
+       u32 bootmode = gd->arch.omap_boot_params.omap_bootmode;
+       uint bootpart = CONFIG_SYS_MMC_ENV_PART;
+
+       /*
+        * If booted from eMMC boot partition then force eMMC
+        * FIRST boot partition to be env storage
+        */
+       if (bootmode == BOOT_DEVICE_MMC2_2)
+               bootpart = 1;
+
+       return bootpart;
+}
+#endif
+
 #if defined(CONFIG_GENERIC_MMC) && !defined(CONFIG_SPL_BUILD)
 #define SB_T54_CD_GPIO 228
 #define SB_T54_WP_GPIO 229
index 5e805c401930bd9890e9f9fffd67c607d1178fba..db0409534edf75471c28d5ca4271b4133e051018 100644 (file)
@@ -49,6 +49,7 @@
 
 #define CONFIG_ENV_IS_IN_MMC
 #define CONFIG_SYS_MMC_ENV_DEV         1               /* SLOT2: eMMC(1) */
+#define CONFIG_SYS_MMC_ENV_PART                0
 #define CONFIG_ENV_OFFSET              0xc0000         /* (in bytes) 768 KB */
 #define CONFIG_ENV_SIZE                        (16 << 10)      /* 16 KB */
 #define CONFIG_ENV_OFFSET_REDUND       (CONFIG_ENV_OFFSET + CONFIG_ENV_SIZE)