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.ray...@bootlin.com>
---
 arch/arm/cpu/arm926ejs/spear/start.S | 17 ++---------------
 1 file 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}
-- 
2.19.1

_______________________________________________
U-Boot mailing list
U-Boot@lists.denx.de
https://lists.denx.de/listinfo/u-boot

Reply via email to