Browse Source

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>
Andrew F. Davis 8 years ago
parent
commit
24eb39b575

+ 0 - 4
README

@@ -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

+ 10 - 0
common/spl/Kconfig

@@ -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

+ 6 - 4
common/spl/spl.c

@@ -146,16 +146,18 @@ int spl_parse_image_header(struct spl_image_info *spl_image,
 		}
 		}
 #endif
 #endif
 
 
-#ifdef CONFIG_SPL_ABORT_ON_RAW_IMAGE
-		/* Signature not found, proceed to other boot methods. */
-		return -EINVAL;
-#else
+#ifdef CONFIG_SPL_RAW_IMAGE_SUPPORT
 		/* 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;
 }
 }
 
 

+ 1 - 0
configs/socfpga_de1_soc_defconfig

@@ -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

+ 0 - 2
include/configs/imx6_spl.h

@@ -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 */

+ 0 - 2
include/configs/socfpga_de1_soc.h

@@ -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__ */

+ 1 - 1
include/spl.h

@@ -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.
  *
  *