spl: Convert CONFIG_SPL_ABORT_ON_RAW_IMAGE into a positive option

CONFIG_SPL_ABORT_ON_RAW_IMAGE causes SPL to abort and move on when it
encounters RAW images, express this same functionality as a positive
option enabling support for RAW images: CONFIG_SPL_RAW_IMAGE_SUPPORT

Also move uses of this to defconfigs.

Signed-off-by: Andrew F. Davis <afd@ti.com>
Reviewed-by: Tom Rini <trini@konsulko.com>
Reviewed-by: Simon Glass <sjg@chromium.org>
[trini: Rework Kconfig logic a little, move to common/spl/Kconfig]
Signed-off-by: Tom Rini <trini@konsulko.com>
This commit is contained in:
Andrew F. Davis 2017-02-16 11:18:38 -06:00 committed by Tom Rini
parent f9515756b6
commit 24eb39b575
7 changed files with 18 additions and 13 deletions

4
README
View File

@ -3255,10 +3255,6 @@ FIT uImage format:
consider that a completely unreadable NAND block is bad, consider that a completely unreadable NAND block is bad,
and thus should be skipped silently. and thus should be skipped silently.
CONFIG_SPL_ABORT_ON_RAW_IMAGE
When defined, SPL will proceed to another boot method
if the image it has loaded does not have a signature.
CONFIG_SPL_RELOC_STACK CONFIG_SPL_RELOC_STACK
Adress of the start of the stack SPL will use after Adress of the start of the stack SPL will use after
relocation. If unspecified, this is equal to relocation. If unspecified, this is equal to

View File

@ -13,6 +13,16 @@ config SPL
help help
If you want to build SPL as well as the normal image, say Y. If you want to build SPL as well as the normal image, say Y.
config SPL_RAW_IMAGE_SUPPORT
bool "Support SPL loading and booting of RAW images"
depends on SPL
default n if (ARCH_MX6 && (SPL_MMC_SUPPORT || SPL_SATA_SUPPORT))
default y
help
SPL will support loading and booting a RAW image when this option
is y. If this is not set, SPL will move on to other available
boot media to find a suitable image.
config SPL_SYS_MALLOC_SIMPLE config SPL_SYS_MALLOC_SIMPLE
bool bool
depends on SPL depends on SPL

View File

@ -146,16 +146,18 @@ int spl_parse_image_header(struct spl_image_info *spl_image,
} }
#endif #endif
#ifdef CONFIG_SPL_ABORT_ON_RAW_IMAGE #ifdef CONFIG_SPL_RAW_IMAGE_SUPPORT
/* Signature not found, proceed to other boot methods. */
return -EINVAL;
#else
/* Signature not found - assume u-boot.bin */ /* Signature not found - assume u-boot.bin */
debug("mkimage signature not found - ih_magic = %x\n", debug("mkimage signature not found - ih_magic = %x\n",
header->ih_magic); header->ih_magic);
spl_set_header_raw_uboot(spl_image); spl_set_header_raw_uboot(spl_image);
#else
/* RAW image not supported, proceed to other boot methods. */
debug("Raw boot image support not enabled, proceeding to other boot methods");
return -EINVAL;
#endif #endif
} }
return 0; return 0;
} }

View File

@ -12,6 +12,7 @@ CONFIG_SYS_CONSOLE_ENV_OVERWRITE=y
CONFIG_VERSION_VARIABLE=y CONFIG_VERSION_VARIABLE=y
# CONFIG_DISPLAY_BOARDINFO is not set # CONFIG_DISPLAY_BOARDINFO is not set
CONFIG_SPL=y CONFIG_SPL=y
# CONFIG_SPL_RAW_IMAGE_SUPPORT is not set
CONFIG_SPL_SYS_MALLOC_SIMPLE=y CONFIG_SPL_SYS_MALLOC_SIMPLE=y
CONFIG_SPL_STACK_R=y CONFIG_SPL_STACK_R=y
CONFIG_SPL_YMODEM_SUPPORT=y CONFIG_SPL_YMODEM_SUPPORT=y

View File

@ -45,14 +45,12 @@
#if defined(CONFIG_SPL_MMC_SUPPORT) #if defined(CONFIG_SPL_MMC_SUPPORT)
#define CONFIG_SYS_MMCSD_FS_BOOT_PARTITION 1 #define CONFIG_SYS_MMCSD_FS_BOOT_PARTITION 1
#define CONFIG_SYS_MONITOR_LEN 409600 /* 400 KB */ #define CONFIG_SYS_MONITOR_LEN 409600 /* 400 KB */
#define CONFIG_SPL_ABORT_ON_RAW_IMAGE
#endif #endif
/* SATA support */ /* SATA support */
#if defined(CONFIG_SPL_SATA_SUPPORT) #if defined(CONFIG_SPL_SATA_SUPPORT)
#define CONFIG_SPL_SATA_BOOT_DEVICE 0 #define CONFIG_SPL_SATA_BOOT_DEVICE 0
#define CONFIG_SYS_SATA_FAT_BOOT_PARTITION 1 #define CONFIG_SYS_SATA_FAT_BOOT_PARTITION 1
#define CONFIG_SPL_ABORT_ON_RAW_IMAGE
#endif #endif
/* Define the payload for FAT/EXT support */ /* Define the payload for FAT/EXT support */

View File

@ -50,6 +50,4 @@
/* The rest of the configuration is shared */ /* The rest of the configuration is shared */
#include <configs/socfpga_common.h> #include <configs/socfpga_common.h>
#define CONFIG_SPL_ABORT_ON_RAW_IMAGE
#endif /* __CONFIG_TERASIC_DE1_SOC_H__ */ #endif /* __CONFIG_TERASIC_DE1_SOC_H__ */

View File

@ -85,7 +85,7 @@ void spl_set_header_raw_uboot(struct spl_image_info *spl_image);
* This parses the legacy image header information at @header and sets up * This parses the legacy image header information at @header and sets up
* @spl_image according to what is found. If no image header is found, then * @spl_image according to what is found. If no image header is found, then
* a raw image or bootz is assumed. If CONFIG_SPL_PANIC_ON_RAW_IMAGE is * a raw image or bootz is assumed. If CONFIG_SPL_PANIC_ON_RAW_IMAGE is
* enabled, then this causes a panic. If CONFIG_SPL_ABORT_ON_RAW_IMAGE is * enabled, then this causes a panic. If CONFIG_SPL_RAW_IMAGE_SUPPORT is not
* enabled then U-Boot gives up. Otherwise U-Boot sets up the image using * enabled then U-Boot gives up. Otherwise U-Boot sets up the image using
* spl_set_header_raw_uboot(), or possibly the bootz header. * spl_set_header_raw_uboot(), or possibly the bootz header.
* *