summaryrefslogtreecommitdiff
path: root/arch/arm/cpu/arm926ejs
diff options
context:
space:
mode:
authorMiquel Raynal <miquel.raynal@bootlin.com>2019-05-07 14:18:51 +0200
committerTom Rini <trini@konsulko.com>2019-07-11 10:05:15 -0400
commit6a9d0e275f0edb952541ae4efb0dc394242f9b5a (patch)
treeb22a68b2512bb94a2d6aea64542ceddfdcf92852 /arch/arm/cpu/arm926ejs
parent08ad72ae811af7ba21c5c270cfe5c7f52c9b8edb (diff)
arm: spear: Simplify start.S organization
There is no reason to do the few spear-related initialization, in a different procedure than 'reset'. Spare one branching and get a linear code flow by removing this indirection. Signed-off-by: Miquel Raynal <miquel.raynal@bootlin.com> Reviewed-by: Stefan Roese <sr@denx.de>
Diffstat (limited to 'arch/arm/cpu/arm926ejs')
-rw-r--r--arch/arm/cpu/arm926ejs/spear/start.S17
1 files changed, 2 insertions, 15 deletions
diff --git a/arch/arm/cpu/arm926ejs/spear/start.S b/arch/arm/cpu/arm926ejs/spear/start.S
index 2bc9d5990e..5fb2bd12ec 100644
--- a/arch/arm/cpu/arm926ejs/spear/start.S
+++ b/arch/arm/cpu/arm926ejs/spear/start.S
@@ -36,20 +36,7 @@ reset:
* UART boot, USB boot): save registers in BootROM's stack.
*/
push {r0-r12,lr}
- bl cpu_init_crit
- pop {r0-r12,pc}
-/*
- *************************************************************************
- *
- * CPU_init_critical registers
- *
- * setup important registers
- * setup memory timing
- *
- *************************************************************************
- */
-cpu_init_crit:
/*
* Flush v4 I/D caches
*/
@@ -67,6 +54,6 @@ cpu_init_crit:
/*
* Go setup Memory and board specific bits prior to relocation.
*/
- push {lr}
bl _main /* _main will call board_init_f */
- pop {pc}
+
+ pop {r0-r12,pc}