diff --git a/arch/arm/include/asm/spl.h b/arch/arm/include/asm/spl.h index 8acd7cd1bd5ab539ccef5201607fcfe64aab08a7..17b6f544da79e024a6fb25e9c1405bac420663f4 100644 --- a/arch/arm/include/asm/spl.h +++ b/arch/arm/include/asm/spl.h @@ -26,10 +26,14 @@ enum { BOOT_DEVICE_SPI, BOOT_DEVICE_SATA, BOOT_DEVICE_I2C, + BOOT_DEVICE_BOARD, BOOT_DEVICE_NONE }; #endif +/* Board-specific load method */ +void spl_board_load_image(void); + /* Linker symbols. */ extern char __bss_start[], __bss_end[]; diff --git a/common/spl/spl.c b/common/spl/spl.c index daaeb507c467b14cf0f80ecaab46e48064e58672..ded0f304786d275ad3818072ab7019e49a26ba6a 100644 --- a/common/spl/spl.c +++ b/common/spl/spl.c @@ -228,6 +228,11 @@ void board_init_r(gd_t *dummy1, ulong dummy2) case BOOT_DEVICE_SATA: spl_sata_load_image(); break; +#endif +#ifdef CONFIG_SPL_BOARD_LOAD_IMAGE + case BOOT_DEVICE_BOARD: + spl_board_load_image(); + break; #endif default: #if defined(CONFIG_SPL_SERIAL_SUPPORT) && defined(CONFIG_SPL_LIBCOMMON_SUPPORT)