arm: spl: Provide for a board-specific loader
Some boards have a special way of loading U-Boot that does not fit with the existing SPL code. For example sunxi uses an 'FEL' mode where U-Boot is loaded over USB. Add a CONFIG option and boot mode for this. Signed-off-by: Simon Glass <sjg@chromium.org> Acked-by: Siarhei Siamashka <siarhei.siamashka@gmail.com> Acked-by: Hans de Goede <hdegoede@redhat.com> Signed-off-by: Hans de Goede <hdegoede@redhat.com>
This commit is contained in:
parent
e11c6c279d
commit
c01c71bc16
|
@ -26,10 +26,14 @@ enum {
|
||||||
BOOT_DEVICE_SPI,
|
BOOT_DEVICE_SPI,
|
||||||
BOOT_DEVICE_SATA,
|
BOOT_DEVICE_SATA,
|
||||||
BOOT_DEVICE_I2C,
|
BOOT_DEVICE_I2C,
|
||||||
|
BOOT_DEVICE_BOARD,
|
||||||
BOOT_DEVICE_NONE
|
BOOT_DEVICE_NONE
|
||||||
};
|
};
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
/* Board-specific load method */
|
||||||
|
void spl_board_load_image(void);
|
||||||
|
|
||||||
/* Linker symbols. */
|
/* Linker symbols. */
|
||||||
extern char __bss_start[], __bss_end[];
|
extern char __bss_start[], __bss_end[];
|
||||||
|
|
||||||
|
|
|
@ -228,6 +228,11 @@ void board_init_r(gd_t *dummy1, ulong dummy2)
|
||||||
case BOOT_DEVICE_SATA:
|
case BOOT_DEVICE_SATA:
|
||||||
spl_sata_load_image();
|
spl_sata_load_image();
|
||||||
break;
|
break;
|
||||||
|
#endif
|
||||||
|
#ifdef CONFIG_SPL_BOARD_LOAD_IMAGE
|
||||||
|
case BOOT_DEVICE_BOARD:
|
||||||
|
spl_board_load_image();
|
||||||
|
break;
|
||||||
#endif
|
#endif
|
||||||
default:
|
default:
|
||||||
#if defined(CONFIG_SPL_SERIAL_SUPPORT) && defined(CONFIG_SPL_LIBCOMMON_SUPPORT)
|
#if defined(CONFIG_SPL_SERIAL_SUPPORT) && defined(CONFIG_SPL_LIBCOMMON_SUPPORT)
|
||||||
|
|
Loading…
Reference in New Issue