summaryrefslogtreecommitdiff
path: root/common/spl/spl.c
diff options
context:
space:
mode:
authorVikas Manocha <vikas.manocha@st.com>2017-04-07 15:38:13 -0700
committerTom Rini <trini@konsulko.com>2017-05-08 11:38:40 -0400
commit5bf5250e9d1555aa388a810213fd85106a60388e (patch)
tree87360d32104ad5604bf1088629803cde53e93c24 /common/spl/spl.c
parentdc07961f5eb505bbf1d2cdfccf337b9e757ec41e (diff)
spl: make image arg or fdt blob address reconfigurable
At present fdt blob or argument address being passed to kernel is fixed at compile time using macro CONFIG_SYS_SPL_ARGS_ADDR. FDT blob from different media like nand, nor flash are copied to the address pointed by the macro. The problem is, it makes args/fdt blob compulsory to copy which is not required in cases like for NOR Flash. This patch removes this limitation. Signed-off-by: Vikas Manocha <vikas.manocha@st.com>
Diffstat (limited to 'common/spl/spl.c')
-rw-r--r--common/spl/spl.c6
1 files changed, 4 insertions, 2 deletions
diff --git a/common/spl/spl.c b/common/spl/spl.c
index a3e73b87bc..50828e6021 100644
--- a/common/spl/spl.c
+++ b/common/spl/spl.c
@@ -345,6 +345,9 @@ void board_init_r(gd_t *dummy1, ulong dummy2)
#endif
memset(&spl_image, '\0', sizeof(spl_image));
+#ifdef CONFIG_SYS_SPL_ARGS_ADDR
+ spl_image.arg = (void *)CONFIG_SYS_SPL_ARGS_ADDR;
+#endif
board_boot_order(spl_boot_list);
if (boot_from_devices(&spl_image, spl_boot_list,
@@ -361,8 +364,7 @@ void board_init_r(gd_t *dummy1, ulong dummy2)
case IH_OS_LINUX:
debug("Jumping to Linux\n");
spl_board_prepare_for_linux();
- jump_to_image_linux(&spl_image,
- (void *)CONFIG_SYS_SPL_ARGS_ADDR);
+ jump_to_image_linux(&spl_image);
#endif
default:
debug("Unsupported OS image.. Jumping nevertheless..\n");