[U-Boot] [PATCH v2] spl: eMMC/SD: Provide one __weak spl_boot_mode() function

Jonathan Gray jsg at jsg.id.au
Sat Feb 10 10:39:23 UTC 2018


On Sat, Feb 10, 2018 at 10:57:26AM +0100, Lukasz Majewski wrote:
> Hi Jonathan,
> 
> > On Sat, Feb 10, 2018 at 01:45:16AM +0100, Lukasz Majewski wrote:
> > > Hi Jonathan,
> > >   
> > > > On Sat, Feb 03, 2018 at 11:00:35AM -0200, Fabio Estevam wrote:  
> > > > > On Sat, Feb 3, 2018 at 5:29 AM, Lukasz Majewski <lukma at denx.de>
> > > > > wrote:    
> > > > > > The goal of this patch is to clean up the code related to
> > > > > > choosing SPL MMC boot mode.
> > > > > >
> > > > > > The spl_boot_mode() now is called only in spl_mmc_load_image()
> > > > > > function, which is only compiled in if CONFIG_SPL_MMC_SUPPORT
> > > > > > is enabled.
> > > > > >
> > > > > > To achieve the goal, all per mach/arch implementations
> > > > > > eligible for unification has been replaced with one __weak
> > > > > > implementation.
> > > > > >
> > > > > > Signed-off-by: Lukasz Majewski <lukma at denx.de>
> > > > > > Reviewed-by: Marek Vasut <marex at denx.de>
> > > > > > Reviewed-by: Stefano Babic <sbabic at denx.de>
> > > > > > Acked-by: Michal Simek <michal.simek at xilinx.com> (For
> > > > > > ZynqMP)    
> > > > > 
> > > > > Nice cleanup:
> > > > > 
> > > > > Reviewed-by: Fabio Estevam <fabio.estevam at nxp.com>    
> > > > 
> > > > This has broken booting via mmc with mx6cuboxi for me.
> > > > 
> > > > SPL loops on
> > > > 
> > > > U-Boot SPL 2018.03-rc1-00212-g48914fc119 (Feb 10 2018 - 11:04:33
> > > > +1300) Trying to boot from MMC1
> > > > Failed to mount ext2 filesystem...
> > > > spl_load_image_ext: ext4fs mount err - 0  
> > > 
> > > Could you check what is the status of following defines in
> > > your .config file:
> > > 
> > > CONFIG_SPL_FAT_SUPPORT
> > > CONFIG_SUPPORT_EMMC_BOOT  
> > 
> > "# CONFIG_SPL_FAT_SUPPORT is not set"
> > 
> > CONFIG_SUPPORT_EMMC_BOOT is not in the .config at all
> > 
> > CONFIG_SPL_EXT_SUPPORT previously for imx6 would result in
> > MMCSD_MODE_RAW but now it results in MMCSD_MODE_FS.
> > 
> > > 
> > > And if by any chance your don't have:
> > > CONFIG_SPL_EXT_SUPPORT defined?  
> > 
> > CONFIG_SPL_EXT_SUPPORT=y
> 
> Could you for test comment out the above define?

Removing CONFIG_SPL_EXT_SUPPORT=y from the defconfig or using the
following diff makes the system boot.

diff --git a/common/spl/spl_mmc.c b/common/spl/spl_mmc.c
index 351f4edd41..1541a4837d 100644
--- a/common/spl/spl_mmc.c
+++ b/common/spl/spl_mmc.c
@@ -283,7 +283,7 @@ static int spl_mmc_do_fs_boot(struct spl_image_info *spl_image, struct mmc *mmc)
 
 u32 __weak spl_boot_mode(const u32 boot_device)
 {
-#if defined(CONFIG_SPL_FAT_SUPPORT) || defined(CONFIG_SPL_EXT_SUPPORT)
+#if defined(CONFIG_SPL_FAT_SUPPORT)
 	return MMCSD_MODE_FS;
 #elif defined(CONFIG_SUPPORT_EMMC_BOOT)
 	return MMCSD_MODE_EMMCBOOT;


More information about the U-Boot mailing list