]> git.dujemihanovic.xyz Git - u-boot.git/commitdiff
stm32mp1: board: add support of CONFIG_ENV_IS_IN_MMC
authorPatrick Delaunay <patrick.delaunay@st.com>
Mon, 15 Jun 2020 09:18:22 +0000 (11:18 +0200)
committerPatrice Chotard <patrice.chotard@st.com>
Tue, 28 Jul 2020 15:21:37 +0000 (17:21 +0200)
Add support of CONFIG_ENV_IS_IN_MMC in env_get_location, used for
all mmc device (SD card and eMMC).
The 2 configs CONFIG_ENV_IS_IN_MMC and CONFIG_ENV_IS_IN_EXT4 are
incompatible.

Add the weak function mmc_get_env_dev to select the mmc boot instance.

Reviewed-by: Patrice Chotard <patrice.chotard@st.com>
Signed-off-by: Patrick Delaunay <patrick.delaunay@st.com>
board/st/stm32mp1/stm32mp1.c

index 57a649e97e306c06567e2e2fbcd554f9dd531607..0d59102da7fb8cfa9f165f8da2acb14eb934673b 100644 (file)
@@ -787,6 +787,11 @@ enum env_location env_get_location(enum env_operation op, int prio)
                return ENVL_UNKNOWN;
 
        switch (bootmode & TAMP_BOOT_DEVICE_MASK) {
+#ifdef CONFIG_ENV_IS_IN_MMC
+       case BOOT_FLASH_SD:
+       case BOOT_FLASH_EMMC:
+               return ENVL_MMC;
+#endif
 #ifdef CONFIG_ENV_IS_IN_EXT4
        case BOOT_FLASH_SD:
        case BOOT_FLASH_EMMC:
@@ -829,6 +834,15 @@ const char *env_ext4_get_dev_part(void)
 }
 #endif
 
+#if defined(CONFIG_ENV_IS_IN_MMC)
+int mmc_get_env_dev(void)
+{
+       u32 bootmode = get_bootmode();
+
+       return (bootmode & TAMP_BOOT_INSTANCE_MASK) - 1;
+}
+#endif
+
 #if defined(CONFIG_OF_BOARD_SETUP)
 int ft_board_setup(void *blob, struct bd_info *bd)
 {