[U-Boot] [PATCH] imx-common: spl: Allow booting from eMMC when SPL is loaded from non-eMMC device

Stefano Babic sbabic at denx.de
Fri Jan 26 16:05:00 UTC 2018


On 26/01/2018 15:57, Lukasz Majewski wrote:
> This patch tries to solve the problem described in following patch:
> https://patchwork.ozlabs.org/patch/796237/
> 
> The main argument against the above code was the potential lack of
> consistency if we boot SPL from the SD card (and then eMMC may load
> u-boot proper).
> 
> This patch preserves this consistency if spl_boot_device() detects boot
> from either SD card or eMMC.
> 
> It only will change boot device if boot from non-SD/eMMC device is
> detected - i.e SPI-NOR (as in this case).
> 
> Signed-off-by: Lukasz Majewski <lukma at denx.de>
> ---
> 
>  arch/arm/mach-imx/spl.c | 7 ++++++-
>  1 file changed, 6 insertions(+), 1 deletion(-)
> 
> diff --git a/arch/arm/mach-imx/spl.c b/arch/arm/mach-imx/spl.c
> index 6c16872f59..735d9f6261 100644
> --- a/arch/arm/mach-imx/spl.c
> +++ b/arch/arm/mach-imx/spl.c
> @@ -134,7 +134,12 @@ int g_dnl_bind_fixup(struct usb_device_descriptor *dev, const char *name)
>  /* called from spl_mmc to see type of boot mode for storage (RAW or FAT) */
>  u32 spl_boot_mode(const u32 boot_device)
>  {
> -	switch (spl_boot_device()) {
> +	u32 spl_bd = spl_boot_device();
> +
> +	if (spl_bd != BOOT_DEVICE_MMC1)
> +		spl_bd = boot_device;
> +
> +	switch (spl_bd) {
>  	/* for MMC return either RAW or FAT mode */
>  	case BOOT_DEVICE_MMC1:
>  	case BOOT_DEVICE_MMC2:
> 

But have we not board_boot_order() for such as cases ? It is a wek
function and you can define it in your board code. Put in mach-imx, it
is valid for all boards.

Best regards,
Stefano

-- 
=====================================================================
DENX Software Engineering GmbH,      Managing Director: Wolfgang Denk
HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany
Phone: +49-8142-66989-53 Fax: +49-8142-66989-80 Email: sbabic at denx.de
=====================================================================


More information about the U-Boot mailing list