common: Pass the boot device into spl_boot_mode()
The SPL code already knows which boot device it calls the spl_boot_mode() on, so pass that information into the function. This allows the code of spl_boot_mode() avoid invoking spl_boot_device() again, but it also lets board_boot_order() correctly alter the behavior of the boot process. The later one is important, since in certain cases, it is desired that spl_boot_device() return value be overriden using board_boot_order(). Signed-off-by: Marek Vasut <marex@denx.de> Cc: Andreas Bießmann <andreas.devel@googlemail.com> Cc: Albert Aribaud <albert.u.boot@aribaud.net> Cc: Tom Rini <trini@konsulko.com> Reviewed-by: Andreas Bießmann <andreas@biessmann.org> [add newly introduced zynq variant] Signed-aff-by: Andreas Bießmann <andreas@biessmann.org>
This commit is contained in:
parent
4141e85bcd
commit
2b1cdafa9f
|
@ -526,7 +526,7 @@ u32 spl_boot_device(void)
|
|||
}
|
||||
|
||||
#ifdef CONFIG_SPL_BUILD
|
||||
u32 spl_boot_mode(void)
|
||||
u32 spl_boot_mode(const u32 boot_device)
|
||||
{
|
||||
switch (spl_boot_device()) {
|
||||
case BOOT_DEVICE_MMC1:
|
||||
|
|
|
@ -15,7 +15,7 @@ u32 spl_boot_device(void)
|
|||
return BOOT_DEVICE_NAND;
|
||||
}
|
||||
|
||||
u32 spl_boot_mode(void)
|
||||
u32 spl_boot_mode(const u32 boot_device)
|
||||
{
|
||||
switch (spl_boot_device()) {
|
||||
case BOOT_DEVICE_MMC1:
|
||||
|
|
|
@ -166,7 +166,7 @@ u32 spl_boot_device(void)
|
|||
return gd->arch.omap_boot_device;
|
||||
}
|
||||
|
||||
u32 spl_boot_mode(void)
|
||||
u32 spl_boot_mode(const u32 boot_device)
|
||||
{
|
||||
return gd->arch.omap_boot_mode;
|
||||
}
|
||||
|
|
|
@ -24,7 +24,7 @@ u32 spl_boot_device(void)
|
|||
return 0;
|
||||
}
|
||||
|
||||
u32 spl_boot_mode(void)
|
||||
u32 spl_boot_mode(const u32 boot_device)
|
||||
{
|
||||
switch (spl_boot_device()) {
|
||||
case BOOT_DEVICE_MMC1:
|
||||
|
|
|
@ -68,7 +68,7 @@ u32 spl_boot_device(void)
|
|||
return 0;
|
||||
}
|
||||
|
||||
u32 spl_boot_mode(void)
|
||||
u32 spl_boot_mode(const u32 boot_device)
|
||||
{
|
||||
switch (spl_boot_device()) {
|
||||
case BOOT_DEVICE_RAM:
|
||||
|
|
|
@ -70,7 +70,7 @@ u32 spl_boot_device(void)
|
|||
|
||||
#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(void)
|
||||
u32 spl_boot_mode(const u32 boot_device)
|
||||
{
|
||||
switch (spl_boot_device()) {
|
||||
/* for MMC return either RAW or FAT mode */
|
||||
|
|
|
@ -75,7 +75,7 @@ u32 spl_boot_device(void)
|
|||
}
|
||||
#endif
|
||||
|
||||
u32 spl_boot_mode(void)
|
||||
u32 spl_boot_mode(const u32 boot_device)
|
||||
{
|
||||
switch (spl_boot_device()) {
|
||||
#ifdef CONFIG_SYS_USE_MMC
|
||||
|
|
|
@ -45,7 +45,7 @@ void spl_board_init(void)
|
|||
preloader_console_init();
|
||||
}
|
||||
|
||||
u32 spl_boot_mode(void)
|
||||
u32 spl_boot_mode(const u32 boot_device)
|
||||
{
|
||||
return MMCSD_MODE_RAW;
|
||||
}
|
||||
|
|
|
@ -57,7 +57,7 @@ u32 spl_boot_device(void)
|
|||
}
|
||||
|
||||
#ifdef CONFIG_SPL_MMC_SUPPORT
|
||||
u32 spl_boot_mode(void)
|
||||
u32 spl_boot_mode(const u32 boot_device)
|
||||
{
|
||||
return MMCSD_MODE_RAW;
|
||||
}
|
||||
|
|
|
@ -66,7 +66,7 @@ fallback:
|
|||
return BOOT_DEVICE_MMC1;
|
||||
}
|
||||
|
||||
u32 spl_boot_mode(void)
|
||||
u32 spl_boot_mode(const u32 boot_device)
|
||||
{
|
||||
return MMCSD_MODE_RAW;
|
||||
}
|
||||
|
|
|
@ -58,7 +58,7 @@ u32 spl_boot_device(void)
|
|||
}
|
||||
|
||||
#ifdef CONFIG_SPL_MMC_SUPPORT
|
||||
u32 spl_boot_mode(void)
|
||||
u32 spl_boot_mode(const u32 boot_device)
|
||||
{
|
||||
#if defined(CONFIG_SPL_FAT_SUPPORT) || defined(CONFIG_SPL_EXT_SUPPORT)
|
||||
return MMCSD_MODE_FS;
|
||||
|
|
|
@ -257,7 +257,7 @@ void spl_board_announce_boot_device(void)
|
|||
}
|
||||
|
||||
/* No confirmation data available in SPL yet. Hardcode bootmode */
|
||||
u32 spl_boot_mode(void)
|
||||
u32 spl_boot_mode(const u32 boot_device)
|
||||
{
|
||||
return MMCSD_MODE_RAW;
|
||||
}
|
||||
|
|
|
@ -77,7 +77,7 @@ u32 spl_boot_device(void)
|
|||
return mode;
|
||||
}
|
||||
|
||||
u32 spl_boot_mode(void)
|
||||
u32 spl_boot_mode(const u32 boot_device)
|
||||
{
|
||||
struct mmc *mmc;
|
||||
|
||||
|
|
|
@ -69,7 +69,7 @@ u32 spl_boot_device(void)
|
|||
}
|
||||
|
||||
#ifdef CONFIG_SPL_MMC_SUPPORT
|
||||
u32 spl_boot_mode(void)
|
||||
u32 spl_boot_mode(const u32 boot_device)
|
||||
{
|
||||
return MMCSD_MODE_FS;
|
||||
}
|
||||
|
|
|
@ -286,7 +286,7 @@ int spl_mmc_load_image(u32 boot_device)
|
|||
return err;
|
||||
}
|
||||
|
||||
boot_mode = spl_boot_mode();
|
||||
boot_mode = spl_boot_mode(boot_device);
|
||||
err = -EINVAL;
|
||||
switch (boot_mode) {
|
||||
case MMCSD_MODE_EMMCBOOT:
|
||||
|
|
|
@ -66,7 +66,7 @@ extern struct spl_image_info spl_image;
|
|||
/* SPL common functions */
|
||||
void preloader_console_init(void);
|
||||
u32 spl_boot_device(void);
|
||||
u32 spl_boot_mode(void);
|
||||
u32 spl_boot_mode(const u32 boot_device);
|
||||
void spl_set_header_raw_uboot(void);
|
||||
int spl_parse_image_header(const struct image_header *header);
|
||||
void spl_board_prepare_for_linux(void);
|
||||
|
|
Loading…
Reference in New Issue