From 4bd754d8abef61835d5da2ba0c65b2b0d3badec9 Mon Sep 17 00:00:00 2001 From: Lokesh Vutla Date: Tue, 27 Jun 2017 13:50:56 +0530 Subject: [PATCH] arm: omap: Detect boot mode very early ROM stores the boot params information in a known location and passes it to SPL. This information needs to be copied very early during boot or else there is a chance of getting corrupted by SPL. So move this boot device detection very early during boot. Signed-off-by: Lokesh Vutla Reviewed-by: Tom Rini --- arch/arm/mach-omap2/am33xx/board.c | 8 ++++++++ arch/arm/mach-omap2/boot-common.c | 7 ------- arch/arm/mach-omap2/hwinit-common.c | 8 ++++++++ 3 files changed, 16 insertions(+), 7 deletions(-) diff --git a/arch/arm/mach-omap2/am33xx/board.c b/arch/arm/mach-omap2/am33xx/board.c index 5f1bf9c..db757d9 100644 --- a/arch/arm/mach-omap2/am33xx/board.c +++ b/arch/arm/mach-omap2/am33xx/board.c @@ -333,6 +333,14 @@ void early_system_init(void) set_uart_mux_conf(); setup_early_clocks(); uart_soft_reset(); +#ifdef CONFIG_SPL_BUILD + /* + * Save the boot parameters passed from romcode. + * We cannot delay the saving further than this, + * to prevent overwrites. + */ + save_omap_boot_params(); +#endif #ifdef CONFIG_DEBUG_UART_OMAP debug_uart_init(); #endif diff --git a/arch/arm/mach-omap2/boot-common.c b/arch/arm/mach-omap2/boot-common.c index b77506d..700e6c2 100644 --- a/arch/arm/mach-omap2/boot-common.c +++ b/arch/arm/mach-omap2/boot-common.c @@ -195,13 +195,6 @@ u32 spl_boot_mode(const u32 boot_device) void spl_board_init(void) { - /* - * Save the boot parameters passed from romcode. - * We cannot delay the saving further than this, - * to prevent overwrites. - */ - save_omap_boot_params(); - /* Prepare console output */ preloader_console_init(); diff --git a/arch/arm/mach-omap2/hwinit-common.c b/arch/arm/mach-omap2/hwinit-common.c index 7f6db3c..77368ee 100644 --- a/arch/arm/mach-omap2/hwinit-common.c +++ b/arch/arm/mach-omap2/hwinit-common.c @@ -158,6 +158,14 @@ void early_system_init(void) do_io_settings(); #endif setup_early_clocks(); +#ifdef CONFIG_SPL_BUILD + /* + * Save the boot parameters passed from romcode. + * We cannot delay the saving further than this, + * to prevent overwrites. + */ + save_omap_boot_params(); +#endif do_board_detect(); vcores_init(); #ifdef CONFIG_DEBUG_UART_OMAP -- 2.7.4