blob: 43bf49c12ce1504439e0fe2d7e0ac5d5386c9c6b (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
|
/*
* Low level initialization for the FriendlyARM mini2440 board
*/
#include <config.h>
#include <linux/sizes.h>
#include <mach/s3c-iomap.h>
#include <asm/barebox-arm-head.h>
.section ".text_bare_init.barebox_arm_reset_vector","ax"
/* ------------------------------------------------------------------------ */
.globl barebox_arm_reset_vector
barebox_arm_reset_vector:
bl arm_cpu_lowlevel_init
bl s3c24x0_disable_wd
/* skip everything here if we are already running from SDRAM */
cmp pc, #S3C_SDRAM_BASE
blo 1f
cmp pc, #S3C_SDRAM_END
bhs 1f
b out
/* we are running from NOR or NAND/SRAM memory. Do further initialisation */
1:
bl s3c24x0_pll_init
bl s3c24x0_sdram_init
#ifdef CONFIG_S3C_NAND_BOOT
/* up to here we are running from the internal SRAM area */
bl s3c24x0_nand_boot
#endif
out:
mov r0, #S3C_SDRAM_BASE
mov r1, #SZ_32M
mov r2, #0
b barebox_arm_entry
|