public inbox for u-boot@lists.denx.de
 help / color / mirror / Atom feed
From: Lukasz Majewski <lukma@denx.de>
To: u-boot@lists.denx.de
Subject: [U-Boot] [PATCH v2] spl: eMMC/SD: Provide one __weak spl_boot_mode() function
Date: Sat, 10 Feb 2018 11:45:31 +0100	[thread overview]
Message-ID: <20180210114531.4ed613d7@jawa> (raw)
In-Reply-To: <20180210103923.GC45091@largo.jsg.id.au>

Hi Jonathan,

> 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@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@denx.de>
> > > > > > > Reviewed-by: Marek Vasut <marex@denx.de>
> > > > > > > Reviewed-by: Stefano Babic <sbabic@denx.de>
> > > > > > > Acked-by: Michal Simek <michal.simek@xilinx.com> (For
> > > > > > > ZynqMP)      
> > > > > > 
> > > > > > Nice cleanup:
> > > > > > 
> > > > > > Reviewed-by: Fabio Estevam <fabio.estevam@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;


Original iMX code (CONFIG_SPL_EXT_SUPPORT is not taken into account at
all):
----------------------------------------------------------------------------

-#if defined(CONFIG_SPL_MMC_SUPPORT)
-/* 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()) {
-	/* for MMC return either RAW or FAT mode */
-	case BOOT_DEVICE_MMC1:
-	case BOOT_DEVICE_MMC2:
-#if defined(CONFIG_SPL_FAT_SUPPORT)
-		return MMCSD_MODE_FS;
-#elif defined(CONFIG_SUPPORT_EMMC_BOOT)
-		return MMCSD_MODE_EMMCBOOT;
-#else
-		return MMCSD_MODE_RAW;
-#endif
-		break;
-	default:
-		puts("spl: ERROR:  unsupported device\n");
-		hang();
-	}
-}
-#endif

Current code (socfpga):

+u32 __weak spl_boot_mode(const u32 boot_device)
+{
+#if defined(CONFIG_SPL_FAT_SUPPORT) || defined(CONFIG_SPL_EXT_SUPPORT)
+	return MMCSD_MODE_FS;
+#elif defined(CONFIG_SUPPORT_EMMC_BOOT)
+	return MMCSD_MODE_EMMCBOOT;
+#else
+	return MMCSD_MODE_RAW;
+#endif
+}


So with the original iMX code the MMCSD_MODE_RAW is returned even when
you do have CONFIG_SPL_EXT_SUPPORT enabled.



Best regards,

Lukasz Majewski

--

DENX Software Engineering GmbH,      Managing Director: Wolfgang Denk
HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany
Phone: (+49)-8142-66989-10 Fax: (+49)-8142-66989-80 Email: wd at denx.de
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 488 bytes
Desc: OpenPGP digital signature
URL: <http://lists.denx.de/pipermail/u-boot/attachments/20180210/c664eaee/attachment.sig>

  reply	other threads:[~2018-02-10 10:45 UTC|newest]

Thread overview: 12+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2018-02-03  7:29 [U-Boot] [PATCH v2] spl: eMMC/SD: Provide one __weak spl_boot_mode() function Lukasz Majewski
2018-02-03 13:00 ` Fabio Estevam
2018-02-09 23:53   ` Jonathan Gray
2018-02-10  0:45     ` Lukasz Majewski
2018-02-10  3:21       ` Jonathan Gray
2018-02-10  9:57         ` Lukasz Majewski
2018-02-10 10:00           ` Marek Vasut
2018-02-10 10:25             ` Lukasz Majewski
2018-02-10 10:34               ` Marek Vasut
2018-02-10 10:39           ` Jonathan Gray
2018-02-10 10:45             ` Lukasz Majewski [this message]
2018-02-08 12:27 ` [U-Boot] [U-Boot, " Tom Rini

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20180210114531.4ed613d7@jawa \
    --to=lukma@denx.de \
    --cc=u-boot@lists.denx.de \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox