]> git.ipfire.org Git - people/ms/u-boot.git/blob - arch/arm/cpu/armv7/rmobile/lowlevel_init.S
Coding Style cleanup: remove trailing white space
[people/ms/u-boot.git] / arch / arm / cpu / armv7 / rmobile / lowlevel_init.S
1 /*
2 * Copyright (C) 2012 Nobuhiro Iwamatsu <nobuhiro.Iwamatsu.yj@renesas.com>
3 * Copyright (C) 2012 Renesas Solutions Corp.
4 *
5 * SPDX-License-Identifier: GPL-2.0+
6 */
7
8 #include <config.h>
9 #include <linux/linkage.h>
10
11 ENTRY(lowlevel_init)
12 ldr r0, =MERAM_BASE
13 mov r1, #0x0
14 str r1, [r0]
15
16 mrc p15, 0, r0, c0, c0, 5
17 ands r0, r0, #0xF
18 beq lowlevel_init__
19 b wait_interrupt
20
21 .pool
22 .align 4
23
24 wait_interrupt:
25 #ifdef ICCICR
26 ldr r1, =ICCICR
27 mov r2, #0x0
28 str r2, [r1]
29 mov r2, #0xF0
30 adds r1, r1, #4 /* ICCPMR */
31 str r2, [r1]
32 ldr r1, =ICCICR
33 mov r2, #0x1
34 str r2, [r1]
35 #endif
36
37 wait_loop:
38 .long 0xE320F003 /* wfi */
39
40 ldr r2, [r1, #0xC]
41 str r2, [r1, #0x10]
42
43 ldr r0, =MERAM_BASE
44 ldr r2, [r0]
45 cmp r2, #0
46 movne pc, r2
47
48 b wait_loop
49
50 wait_loop_end:
51 .pool
52 .align 4
53
54 lowlevel_init__:
55
56 mov r0, #0x200000
57
58 loop0:
59 subs r0, r0, #1
60 bne loop0
61
62 ldr sp, MERAM_STACK
63 b s_init
64
65 .pool
66 .align 4
67
68 ENDPROC(lowlevel_init)
69 .ltorg
70
71 MERAM_STACK:
72 .word LOW_LEVEL_MERAM_STACK