imx8mn/8mp: Allow booting via USB
authorFabio Estevam <festevam@denx.de>
Thu, 21 Apr 2022 18:05:23 +0000 (15:05 -0300)
committerStefano Babic <sbabic@denx.de>
Thu, 19 May 2022 19:39:36 +0000 (21:39 +0200)
When trying to boot via USB on i.MX8MN it is necessary to specify
the U-Boot environment location, otherwise the boot process simply
hangs.

Specify the environment location when booting from USB.

Tested on a imx8mn-evk.

Suggested-by: Michael Nazzareno Trimarchi <michael@amarulasolutions.com>
Signed-off-by: Fabio Estevam <festevam@denx.de>
Tested-By: Tim Harvey <tharvey@gateworks.com>
arch/arm/mach-imx/imx8m/soc.c

index 8e23e6d..bc3379a 100644 (file)
@@ -1535,6 +1535,16 @@ enum env_location arch_env_get_location(enum env_operation op, int prio)
                return ENVL_UNKNOWN;
 
        switch (dev) {
+       case USB_BOOT:
+               if (IS_ENABLED(CONFIG_ENV_IS_IN_SPI_FLASH))
+                       return ENVL_SPI_FLASH;
+               if (IS_ENABLED(CONFIG_ENV_IS_IN_NAND))
+                       return ENVL_NAND;
+               if (IS_ENABLED(CONFIG_ENV_IS_IN_MMC))
+                       return ENVL_MMC;
+               if (IS_ENABLED(CONFIG_ENV_IS_NOWHERE))
+                       return ENVL_NOWHERE;
+               return ENVL_UNKNOWN;
        case QSPI_BOOT:
        case SPI_NOR_BOOT:
                if (IS_ENABLED(CONFIG_ENV_IS_IN_SPI_FLASH))