omap-common: Common boot code OMAP3 support and cleanup
[oweals/u-boot.git] / arch / arm / cpu / armv7 / omap-common / lowlevel_init.S
1 /*
2  * Board specific setup info
3  *
4  * (C) Copyright 2010
5  * Texas Instruments, <www.ti.com>
6  *
7  * Author :
8  *      Aneesh V        <aneesh@ti.com>
9  *
10  * SPDX-License-Identifier:     GPL-2.0+
11  */
12
13 #include <config.h>
14 #include <asm/arch/omap.h>
15 #include <asm/omap_common.h>
16 #include <asm/arch/spl.h>
17 #include <linux/linkage.h>
18
19 #ifdef CONFIG_SPL
20 ENTRY(save_boot_params)
21
22         ldr     r1, =OMAP_SRAM_SCRATCH_BOOT_PARAMS
23         str     r0, [r1]
24         b       save_boot_params_ret
25 ENDPROC(save_boot_params)
26 #endif
27
28 ENTRY(omap_smc1)
29         PUSH    {r4-r12, lr}    @ save registers - ROM code may pollute
30                                 @ our registers
31         MOV     r12, r0         @ Service
32         MOV     r0, r1          @ Argument
33         DSB
34         DMB
35         .word   0xe1600070      @ SMC #0 - hand assembled for GCC versions
36                                 @ call ROM Code API for the service requested
37
38         POP     {r4-r12, pc}
39 ENDPROC(omap_smc1)