board: stm32mp1: Add env_ext4_get_dev_part() and env_ext4_get_intf()
[project/bcm63xx/u-boot.git] / board / st / stm32mp1 / stm32mp1.c
index 360b0df9f6bcc8c2db0e056f9d5464ea9bd5c376..316cd48195aeb3da3492d1c31219d8955910b55c 100644 (file)
@@ -19,6 +19,7 @@
 #include <asm/io.h>
 #include <asm/gpio.h>
 #include <asm/arch/stm32.h>
+#include <asm/arch/sys_proto.h>
 #include <power/regulator.h>
 #include <usb/dwc2_udc.h>
 
@@ -505,6 +506,29 @@ void board_quiesce_devices(void)
        setup_led(LEDST_OFF);
 }
 
+#if defined(CONFIG_ENV_IS_IN_EXT4)
+const char *env_ext4_get_intf(void)
+{
+       u32 bootmode = get_bootmode();
+
+       switch (bootmode & TAMP_BOOT_DEVICE_MASK) {
+       case BOOT_FLASH_SD:
+       case BOOT_FLASH_EMMC:
+               return "mmc";
+       default:
+               return "";
+       }
+}
+
+const char *env_ext4_get_dev_part(void)
+{
+       static char *const dev_part[] = {"0:auto", "1:auto", "2:auto"};
+       u32 bootmode = get_bootmode();
+
+       return dev_part[(bootmode & TAMP_BOOT_INSTANCE_MASK) - 1];
+}
+#endif
+
 #ifdef CONFIG_SYS_MTDPARTS_RUNTIME
 
 #define MTDPARTS_LEN           256