
The boot parameters passed from SPL to UBOOT must be saved as a part of uboot's gd data as early as possible, before we will inadvertently overwrite it. So adding a arch_cpu_init for the required Socs to save it.
Signed-off-by: Sricharan R r.sricharan@ti.com --- [V2] Rebased on mainline.
arch/arm/cpu/armv7/omap-common/hwinit-common.c | 11 +++++++++++ include/configs/am335x_evm.h | 3 +++ include/configs/omap4_common.h | 4 ++++ include/configs/omap5_common.h | 3 +++ include/configs/pcm051.h | 3 +++ include/configs/ti814x_evm.h | 3 +++ 6 files changed, 27 insertions(+)
diff --git a/arch/arm/cpu/armv7/omap-common/hwinit-common.c b/arch/arm/cpu/armv7/omap-common/hwinit-common.c index c710784..1645120 100644 --- a/arch/arm/cpu/armv7/omap-common/hwinit-common.c +++ b/arch/arm/cpu/armv7/omap-common/hwinit-common.c @@ -147,6 +147,17 @@ static void save_omap_boot_params(void) } }
+#ifdef CONFIG_ARCH_CPU_INIT +/* + * SOC specific cpu init + */ +int arch_cpu_init(void) +{ + save_omap_boot_params(); + return 0; +} +#endif /* CONFIG_ARCH_CPU_INIT */ + /* * Routine: s_init * Description: Does early system init of watchdog, muxing, andclocks diff --git a/include/configs/am335x_evm.h b/include/configs/am335x_evm.h index ddfd52e..e5da51c 100644 --- a/include/configs/am335x_evm.h +++ b/include/configs/am335x_evm.h @@ -296,6 +296,9 @@ #define CONFIG_SYS_BAUDRATE_TABLE { 110, 300, 600, 1200, 2400, \ 4800, 9600, 14400, 19200, 28800, 38400, 56000, 57600, 115200 }
+/* CPU */ +#define CONFIG_ARCH_CPU_INIT + #define CONFIG_ENV_OVERWRITE 1 #define CONFIG_SYS_CONSOLE_INFO_QUIET
diff --git a/include/configs/omap4_common.h b/include/configs/omap4_common.h index 1fd3097..2871d87 100644 --- a/include/configs/omap4_common.h +++ b/include/configs/omap4_common.h @@ -87,6 +87,10 @@ #define CONFIG_BAUDRATE 115200 #define CONFIG_SYS_BAUDRATE_TABLE {4800, 9600, 19200, 38400, 57600,\ 115200} + +/* CPU */ +#define CONFIG_ARCH_CPU_INIT + /* I2C */ #define CONFIG_HARD_I2C 1 #define CONFIG_SYS_I2C_SPEED 100000 diff --git a/include/configs/omap5_common.h b/include/configs/omap5_common.h index c21c387..32c113e 100644 --- a/include/configs/omap5_common.h +++ b/include/configs/omap5_common.h @@ -86,6 +86,9 @@
#define CONFIG_BAUDRATE 115200
+/* CPU */ +#define CONFIG_ARCH_CPU_INIT + /* I2C */ #define CONFIG_HARD_I2C #define CONFIG_SYS_I2C_SPEED 100000 diff --git a/include/configs/pcm051.h b/include/configs/pcm051.h index 5e5fab1..9614f70 100644 --- a/include/configs/pcm051.h +++ b/include/configs/pcm051.h @@ -195,6 +195,9 @@ #define CONFIG_SYS_BAUDRATE_TABLE { 110, 300, 600, 1200, 2400, \ 4800, 9600, 14400, 19200, 28800, 38400, 56000, 57600, 115200 }
+/* CPU */ +#define CONFIG_ARCH_CPU_INIT + #define CONFIG_ENV_OVERWRITE #define CONFIG_SYS_CONSOLE_INFO_QUIET
diff --git a/include/configs/ti814x_evm.h b/include/configs/ti814x_evm.h index 68a7307..8ba1e1b 100644 --- a/include/configs/ti814x_evm.h +++ b/include/configs/ti814x_evm.h @@ -163,6 +163,9 @@
#define CONFIG_BAUDRATE 115200
+/* CPU */ +#define CONFIG_ARCH_CPU_INIT + #define CONFIG_ENV_OVERWRITE #define CONFIG_CONS_INDEX 1 #define CONFIG_SYS_CONSOLE_INFO_QUIET