summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorOvidiu Panait <ovidiu.panait@windriver.com>2022-01-01 20:13:25 +0300
committerTom Rini <trini@konsulko.com>2022-01-18 16:31:02 +0300
commit027b0e9c165d33da1bd7458363a3d57fdadee662 (patch)
tree1c8576a58e2cb0fb552dca9710e6c5183f9c06c4
parentea9733ac4c268cc862ec1e414f066f192348ef5a (diff)
downloadu-boot-027b0e9c165d33da1bd7458363a3d57fdadee662.tar.xz
common: spl: move armv7m-specific code to spl_perform_fixups()
Factor out armv7m fragment to spl_perform_fixups(), which is an arch/board specific function designed for this purpose. Reviewed-by: Simon Glass <sjg@chromium.org> Signed-off-by: Ovidiu Panait <ovidiu.panait@windriver.com>
-rw-r--r--arch/arm/cpu/armv7m/cpu.c6
-rw-r--r--common/spl/spl.c3
2 files changed, 6 insertions, 3 deletions
diff --git a/arch/arm/cpu/armv7m/cpu.c b/arch/arm/cpu/armv7m/cpu.c
index 63721018c1..65427b5312 100644
--- a/arch/arm/cpu/armv7m/cpu.c
+++ b/arch/arm/cpu/armv7m/cpu.c
@@ -12,6 +12,7 @@
#include <irq_func.h>
#include <asm/io.h>
#include <asm/armv7m.h>
+#include <spl.h>
/*
* This is called right before passing control to
@@ -56,3 +57,8 @@ void reset_cpu(void)
| (V7M_SCB->aircr & V7M_AIRCR_PRIGROUP_MSK)
| V7M_AIRCR_SYSRESET, &V7M_SCB->aircr);
}
+
+void spl_perform_fixups(struct spl_image_info *spl_image)
+{
+ spl_image->entry_point |= 0x1;
+}
diff --git a/common/spl/spl.c b/common/spl/spl.c
index f51d1f3205..c5360f30ae 100644
--- a/common/spl/spl.c
+++ b/common/spl/spl.c
@@ -770,9 +770,6 @@ void board_init_r(gd_t *dummy1, ulong dummy2)
ret);
}
-#ifdef CONFIG_CPU_V7M
- spl_image.entry_point |= 0x1;
-#endif
switch (spl_image.os) {
case IH_OS_U_BOOT:
debug("Jumping to %s...\n", spl_phase_name(spl_next_phase()));