From 55a3ef714f9867a9b2e18851cfdca906698e8c2f Mon Sep 17 00:00:00 2001 From: Vikas Manocha Date: Sun, 28 May 2017 12:55:13 -0700 Subject: [PATCH] spl: stm32f7: add kernel boot support Signed-off-by: Vikas Manocha --- arch/arm/mach-stm32/Kconfig | 1 + board/st/stm32f746-disco/stm32f746-disco.c | 9 +++++++++ include/configs/stm32f746-disco.h | 7 +++++++ 3 files changed, 17 insertions(+) diff --git a/arch/arm/mach-stm32/Kconfig b/arch/arm/mach-stm32/Kconfig index a3390d0bfd..101089d67d 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 87fa5eb48e..2bb0f02c96 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 055fdf8ef0..905202597a 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 */ -- 2.39.5