aboutsummaryrefslogtreecommitdiff
path: root/board
diff options
context:
space:
mode:
authorPatrick Delaunay <patrick.delaunay@st.com>2020-06-15 11:18:22 +0200
committerPatrice Chotard <patrice.chotard@st.com>2020-07-28 17:21:37 +0200
commita9addcafd180abf4c51d02a5954c8d03ba747f26 (patch)
tree4b070ff6435e23c09bcd5fd00449248603420fb9 /board
parent43fe9d2fda24ea56a1ff35ecc02a6a93f795c1c0 (diff)
downloadu-boot-a9addcafd180abf4c51d02a5954c8d03ba747f26.zip
u-boot-a9addcafd180abf4c51d02a5954c8d03ba747f26.tar.gz
u-boot-a9addcafd180abf4c51d02a5954c8d03ba747f26.tar.bz2
stm32mp1: board: add support of CONFIG_ENV_IS_IN_MMC
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>
Diffstat (limited to 'board')
-rw-r--r--board/st/stm32mp1/stm32mp1.c14
1 files changed, 14 insertions, 0 deletions
diff --git a/board/st/stm32mp1/stm32mp1.c b/board/st/stm32mp1/stm32mp1.c
index 57a649e..0d59102 100644
--- a/board/st/stm32mp1/stm32mp1.c
+++ b/board/st/stm32mp1/stm32mp1.c
@@ -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)
{