imx: kontron-sl-mx8mm: Enable environment in MMC

In case we boot from SD card or eMMC, we also want to load
the environment from the according boot device.

Signed-off-by: Frieder Schrempf <frieder.schrempf@kontron.de>
Reviewed-by: Fabio Estevam <festevam@denx.de>
This commit is contained in:
Frieder Schrempf 2022-08-24 15:59:08 +02:00 committed by Stefano Babic
parent 2a6f023061
commit 3f7f731653
2 changed files with 32 additions and 0 deletions

View File

@ -4,10 +4,13 @@
*/
#include <asm/arch/imx-regs.h>
#include <asm/arch/sys_proto.h>
#include <asm/global_data.h>
#include <asm/io.h>
#include <asm/mach-imx/boot_mode.h>
#include <efi.h>
#include <efi_loader.h>
#include <env_internal.h>
#include <fdt_support.h>
#include <linux/errno.h>
#include <linux/kernel.h>
@ -117,3 +120,31 @@ int board_init(void)
{
return 0;
}
enum env_location env_get_location(enum env_operation op, int prio)
{
enum boot_device boot_dev = get_boot_device();
if (prio)
return ENVL_UNKNOWN;
/*
* Make sure that the environment is loaded from
* the MMC if we are running from SD card or eMMC.
*/
if (CONFIG_IS_ENABLED(ENV_IS_IN_MMC) &&
(boot_dev == SD1_BOOT || boot_dev == SD2_BOOT))
return ENVL_MMC;
if (CONFIG_IS_ENABLED(ENV_IS_IN_SPI_FLASH))
return ENVL_SPI_FLASH;
return ENVL_NOWHERE;
}
#if defined(CONFIG_ENV_IS_IN_MMC)
int board_mmc_get_env_dev(int devno)
{
return devno;
}
#endif

View File

@ -71,6 +71,7 @@ CONFIG_CMD_REGULATOR=y
CONFIG_CMD_EXT4_WRITE=y
CONFIG_OF_CONTROL=y
CONFIG_SPL_OF_CONTROL=y
CONFIG_ENV_IS_IN_MMC=y
CONFIG_ENV_IS_IN_SPI_FLASH=y
CONFIG_SYS_REDUNDAND_ENVIRONMENT=y
CONFIG_ENV_VARS_UBOOT_RUNTIME_CONFIG=y