From mboxrd@z Thu Jan 1 00:00:00 1970 From: Lokesh Vutla Date: Mon, 20 Jan 2020 13:17:01 +0530 Subject: [U-Boot] [PATCH] omap34xx: SPL: enable MMC raw boot with u-boot.img In-Reply-To: <20191110004817.997-1-GNUtoo@cyberdimension.org> References: <20191110004817.997-1-GNUtoo@cyberdimension.org> Message-ID: <298e44b1-a703-51a2-0c6c-2cf9cc2dd478@ti.com> List-Id: MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit To: u-boot@lists.denx.de On 10/11/19 6:18 AM, Denis 'GNUtoo' Carikli wrote: > The following commit enabled raw SPL booting: > 22d90d560a omap3: Use raw SPL by default for mmc1 > but it was reverted by the following commit: > 821c89d38c Revert "omap3: Use raw SPL by default for mmc1" > because SPL is unable to distinguish between RAW images and > garbage. > > However if CONFIG_SPL_RAW_IMAGE_SUPPORT is disabled, SPL does > identify if there is a valid image with spl_parse_image_header. > > With this change, and CONFIG_SPL_RAW_IMAGE_SUPPORT disabled, > raw MMC boot will be tried first, and if it fails, it FS will > be tried. This means that if FS boot is required then SPL_RAW_IMAGE_SUPPORT should be disabled. So with this patch applied, the default omap3_defconfig will fail to boot with FS mode. It is difficult to support this unless ROM passes some information on the bootmode. Thanks and regards, Lokesh > > The two scenarios have been tested on a BeagleBoard XM Revision C1. > > Signed-off-by: Denis 'GNUtoo' Carikli > --- > arch/arm/mach-omap2/boot-common.c | 2 ++ > 1 file changed, 2 insertions(+) > > diff --git a/arch/arm/mach-omap2/boot-common.c b/arch/arm/mach-omap2/boot-common.c > index 734fa9d9e6..a48244e1c5 100644 > --- a/arch/arm/mach-omap2/boot-common.c > +++ b/arch/arm/mach-omap2/boot-common.c > @@ -132,8 +132,10 @@ void save_omap_boot_params(void) > (boot_device <= MMC_BOOT_DEVICES_END)) { > switch (boot_device) { > case BOOT_DEVICE_MMC1: > +#ifdef CONFIG_SPL_RAW_IMAGE_SUPPORT > boot_mode = MMCSD_MODE_FS; > break; > +#endif > case BOOT_DEVICE_MMC2: > boot_mode = MMCSD_MODE_RAW; > break; >