All of lore.kernel.org
 help / color / mirror / Atom feed
From: Arvid Brodin <arvid.brodin@xdin.com>
To: u-boot@lists.denx.de
Subject: [U-Boot] Got u-boot-2012.10 running on at91sam9200 - but why does it work?
Date: Wed, 9 Oct 2013 21:23:20 +0200	[thread overview]
Message-ID: <5255AD28.3030202@xdin.com> (raw)

Hi,

I managed to get u-boot-2012.10 to boot from NOR flash on a custom 
at91rm9200 board by doing this:


Signed-off-by: Arvid Brodin <arvid.brodin@xdin.com>
---
 arch/arm/cpu/arm920t/start.S   | 8 +++-----
 2 files changed, 4 insertions(+), 6 deletions(-)

diff --git a/arch/arm/cpu/arm920t/start.S b/arch/arm/cpu/arm920t/start.S
index 14c9156..efc4ea3 100644
--- a/arch/arm/cpu/arm920t/start.S
+++ b/arch/arm/cpu/arm920t/start.S
@@ -294,9 +294,7 @@ clbss_e:
 _nand_boot_ofs:
 	.word nand_boot
 #else
-	ldr	r0, _board_init_r_ofs
-	adr	r1, _start
-	add	lr, r0, r1
+	ldr	lr, _board_init_r
 	add	lr, lr, r9
 	/* setup parameters for board_init_r */
 	mov	r0, r5		/* gd_t */
@@ -304,8 +302,8 @@ _nand_boot_ofs:
 	/* jump to it ... */
 	mov	pc, lr
 
-_board_init_r_ofs:
-	.word board_init_r - _start
+_board_init_r:
+	.word board_init_r
 #endif
 
 _rel_dyn_start_ofs:
-- 
1.8.1.5

(I also had to comment out the CONFIG_AT91RM9200EK define in my custom board
config file.)

Any idea why this is needed? I simply used a LED to see where the un-touched 
code failed, and noticed it reached the board_init_r call but never entered the
function. I thought it a bit strange to first subtract _start in the variable
definition and the add it again in the code, so I tried without it, and -- lo
and behold! -- it worked.



-- 
Arvid Brodin | Consultant (Linux)
XDIN AB | Knarrarn?sgatan 7 | SE-164 40 Kista | Sweden | xdin.com

             reply	other threads:[~2013-10-09 19:23 UTC|newest]

Thread overview: 4+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2013-10-09 19:23 Arvid Brodin [this message]
2013-10-10  8:25 ` [U-Boot] Got u-boot-2012.10 running on at91sam9200 - but why does it work? Jens Scharsig
2013-10-10 15:30   ` [U-Boot] Got u-boot-2012.10 running on at91rm9200 " Arvid Brodin
2013-10-11  6:28     ` Jens Scharsig

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=5255AD28.3030202@xdin.com \
    --to=arvid.brodin@xdin.com \
    --cc=u-boot@lists.denx.de \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.