imx: imx9: Support multiple env storages at runtime

Select env storages according to boot device at runtime

Signed-off-by: Ye Li <ye.li@nxp.com>
Signed-off-by: Peng Fan <peng.fan@nxp.com>
This commit is contained in:
Ye Li 2022-07-26 16:41:05 +08:00 committed by Stefano Babic
parent c383379f25
commit 87650716ea

View file

@ -288,6 +288,40 @@ int timer_init(void)
return 0; return 0;
} }
enum env_location env_get_location(enum env_operation op, int prio)
{
enum boot_device dev = get_boot_device();
enum env_location env_loc = ENVL_UNKNOWN;
if (prio)
return env_loc;
switch (dev) {
#if defined(CONFIG_ENV_IS_IN_SPI_FLASH)
case QSPI_BOOT:
env_loc = ENVL_SPI_FLASH;
break;
#endif
#if defined(CONFIG_ENV_IS_IN_MMC)
case SD1_BOOT:
case SD2_BOOT:
case SD3_BOOT:
case MMC1_BOOT:
case MMC2_BOOT:
case MMC3_BOOT:
env_loc = ENVL_MMC;
break;
#endif
default:
#if defined(CONFIG_ENV_IS_NOWHERE)
env_loc = ENVL_NOWHERE;
#endif
break;
}
return env_loc;
}
static int mix_power_init(enum mix_power_domain pd) static int mix_power_init(enum mix_power_domain pd)
{ {
enum src_mix_slice_id mix_id; enum src_mix_slice_id mix_id;