summaryrefslogtreecommitdiff
path: root/board
diff options
context:
space:
mode:
authorFred Fan <r01011@freescale.com>2009-02-23 13:54:46 +0800
committerFred Fan <r01011@freescale.com>2009-09-09 17:27:24 +0800
commit4a9ee8a22327ddbd4f2c296a834fcc90fc2d1d14 (patch)
tree6a84531a662b591ec0b443ff8d3f4e7c6c0899a7 /board
parent4bdaaba26f5d015474dbd5a524355b5e64655ebe (diff)
downloadu-boot-imx-4a9ee8a22327ddbd4f2c296a834fcc90fc2d1d14.zip
u-boot-imx-4a9ee8a22327ddbd4f2c296a834fcc90fc2d1d14.tar.gz
u-boot-imx-4a9ee8a22327ddbd4f2c296a834fcc90fc2d1d14.tar.bz2
ENGR00102776 Support boot from NAND on i.mx35 3stack TO1
1. Support boot from NAND Changes link script to separate initial code to multiple sections. 2. One binary support boot from NOR and NAND Changes common file start.S to support multiple sections. Signed-off-by: Fred Fan <r01011@freescale.com>
Diffstat (limited to 'board')
-rw-r--r--board/freescale/mx35_3stack/lowlevel_init.S12
-rw-r--r--board/freescale/mx35_3stack/u-boot.lds7
2 files changed, 16 insertions, 3 deletions
diff --git a/board/freescale/mx35_3stack/lowlevel_init.S b/board/freescale/mx35_3stack/lowlevel_init.S
index 84614fc..40792f1 100644
--- a/board/freescale/mx35_3stack/lowlevel_init.S
+++ b/board/freescale/mx35_3stack/lowlevel_init.S
@@ -241,6 +241,8 @@
str r3, [r0, #0x30]
.endm /* setup_sdram */
+.section ".text.init", "x"
+
.globl lowlevel_init
lowlevel_init:
/* Platform CHIP level init*/
@@ -306,7 +308,15 @@ init_clock_start:
/*init_sdram*/
setup_sdram
skip_sdram_setup:
- mov pc, lr
+ mov r0, #NFC_BASE_ADDR
+ add r1, r0, #NFC_BUF_SIZE
+ cmp pc, r0
+ movlo pc, lr
+ cmp pc, r1
+ movhi pc, lr
+ /* return from mxc_nand_load */
+ /* r12 saved upper lr*/
+ b mxc_nand_load
/*
* r0: ESDCTL control base, r1: sdram slot base
diff --git a/board/freescale/mx35_3stack/u-boot.lds b/board/freescale/mx35_3stack/u-boot.lds
index 8a565e7..1b343be 100644
--- a/board/freescale/mx35_3stack/u-boot.lds
+++ b/board/freescale/mx35_3stack/u-boot.lds
@@ -38,8 +38,11 @@ SECTIONS
{
/* WARNING - the following is hand-optimized to fit within */
/* the sector layout of our flash chips! XXX FIXME XXX */
-
- cpu/arm1136/start.o (.text)
+ *(.text.head) /*arm startup code*/
+ *(.text.init) /*platform lowlevel initial code*/
+ *(.text.load) /*load bootloader*/
+ *(.text.setup) /*platform post lowlevel initial code*/
+ *(.text.vect) /*platform post lowlevel initial code*/
board/freescale/mx35_3stack/libmx35_3stack.a (.text)
lib_arm/libarm.a (.text)
net/libnet.a (.text)