diff options
-rw-r--r-- | arch/arm/mach-stm32/Kconfig | 1 | ||||
-rw-r--r-- | board/st/stm32f746-disco/stm32f746-disco.c | 9 | ||||
-rw-r--r-- | include/configs/stm32f746-disco.h | 7 |
3 files changed, 17 insertions, 0 deletions
diff --git a/arch/arm/mach-stm32/Kconfig b/arch/arm/mach-stm32/Kconfig index a3390d0bfd4..101089d67d6 100644 --- a/arch/arm/mach-stm32/Kconfig +++ b/arch/arm/mach-stm32/Kconfig @@ -21,6 +21,7 @@ config STM32F7 select SPL_OF_CONTROL select SPL_OF_LIBFDT select SPL_OF_TRANSLATE + select SPL_OS_BOOT select SPL_PINCTRL select SPL_RAM select SPL_SERIAL_SUPPORT diff --git a/board/st/stm32f746-disco/stm32f746-disco.c b/board/st/stm32f746-disco/stm32f746-disco.c index 87fa5eb48e2..2bb0f02c968 100644 --- a/board/st/stm32f746-disco/stm32f746-disco.c +++ b/board/st/stm32f746-disco/stm32f746-disco.c @@ -91,6 +91,15 @@ int board_early_init_f(void) #endif #ifdef CONFIG_SPL_BUILD +#ifdef CONFIG_SPL_OS_BOOT +int spl_start_uboot(void) +{ + debug("SPL: booting kernel\n"); + /* break into full u-boot on 'c' */ + return serial_tstc() && serial_getc() == 'c'; +} +#endif + int spl_dram_init(void) { struct udevice *dev; diff --git a/include/configs/stm32f746-disco.h b/include/configs/stm32f746-disco.h index 055fdf8ef01..905202597aa 100644 --- a/include/configs/stm32f746-disco.h +++ b/include/configs/stm32f746-disco.h @@ -86,6 +86,13 @@ #define CONFIG_SYS_UBOOT_START 0XC00003FD #define CONFIG_SYS_UBOOT_BASE (CONFIG_SYS_FLASH_BASE + \ CONFIG_SYS_SPL_LEN) + +#define CONFIG_SYS_OS_BASE 0x08040000 +/* DT blob (fdt) address */ +#define CONFIG_SYS_SPL_ARGS_ADDR 0xC0000100 +#define CONFIG_SYS_FDT_BASE (CONFIG_SYS_FLASH_BASE + \ + 0x1C0000) +#define CONFIG_SYS_FDT_SIZE (20*1024) #endif /* For SPL ends */ |