]> git.ipfire.org Git - people/ms/u-boot.git/blob - arch/arm/cpu/armv7/lowlevel_init.S
Add GPL-2.0+ SPDX-License-Identifier to source files
[people/ms/u-boot.git] / arch / arm / cpu / armv7 / lowlevel_init.S
1 /*
2 * A lowlevel_init function that sets up the stack to call a C function to
3 * perform further init.
4 *
5 * (C) Copyright 2010
6 * Texas Instruments, <www.ti.com>
7 *
8 * Author :
9 * Aneesh V <aneesh@ti.com>
10 *
11 * SPDX-License-Identifier: GPL-2.0+
12 */
13
14 #include <asm-offsets.h>
15 #include <config.h>
16 #include <linux/linkage.h>
17
18 ENTRY(lowlevel_init)
19 /*
20 * Setup a temporary stack
21 */
22 ldr sp, =CONFIG_SYS_INIT_SP_ADDR
23 bic sp, sp, #7 /* 8-byte alignment for ABI compliance */
24 #ifdef CONFIG_SPL_BUILD
25 ldr r8, =gdata
26 #else
27 sub sp, #GD_SIZE
28 bic sp, sp, #7
29 mov r8, sp
30 #endif
31 /*
32 * Save the old lr(passed in ip) and the current lr to stack
33 */
34 push {ip, lr}
35
36 /*
37 * go setup pll, mux, memory
38 */
39 bl s_init
40 pop {ip, pc}
41 ENDPROC(lowlevel_init)