board: tbs2910: Autoselect environment device when booting from SD
authorSoeren Moch <smoch@web.de>
Thu, 4 Feb 2016 13:41:16 +0000 (14:41 +0100)
committerStefano Babic <sbabic@denx.de>
Sun, 21 Feb 2016 10:31:58 +0000 (11:31 +0100)
Implement board specific functions to select the environment device and
partition when booting from SD/MMC.

SD2:  mmc 0 0
SD3:  mmc 1 0
eMMC: mmc 2 1

Signed-off-by: Soeren Moch <smoch@web.de>
board/tbs/tbs2910/tbs2910.c
include/configs/tbs2910.h

index 0b509b6..d302fc2 100644 (file)
@@ -257,6 +257,17 @@ int board_mmc_init(bd_t *bis)
        }
        return 0;
 }
+
+/* set environment device to boot device when booting from SD */
+int board_mmc_get_env_dev(int devno)
+{
+       return devno - 1;
+}
+
+int board_mmc_get_env_part(int devno)
+{
+       return (devno == 3) ? 1 : 0; /* part 0 for SD2 / SD3, part 1 for eMMC */
+}
 #endif /* CONFIG_FSL_ESDHC */
 
 #ifdef CONFIG_VIDEO_IPUV3
index 17b0213..0f23034 100644 (file)
 
 /* Environment organization */
 #define CONFIG_ENV_IS_IN_MMC
-#define CONFIG_SYS_MMC_ENV_DEV         2
-#define CONFIG_SYS_MMC_ENV_PART                1
+#define CONFIG_SYS_MMC_ENV_DEV         2 /* overwritten on SD boot */
+#define CONFIG_SYS_MMC_ENV_PART                1 /* overwritten on SD boot */
 #define CONFIG_ENV_SIZE                        (8 * 1024)
 #define CONFIG_ENV_OFFSET              (384 * 1024)
 #define CONFIG_ENV_OVERWRITE