mail archive of the barebox mailing list
 help / color / mirror / Atom feed
From: Sascha Hauer <s.hauer@pengutronix.de>
To: Sam Ravnborg <sam@ravnborg.org>
Cc: Andrey Smirnov <andrew.smirnov@gmail.com>, barebox@lists.infradead.org
Subject: Re: [PATCH v2 00/11] AT91, at91sam9x5ek updates (part II/III)
Date: Wed, 19 Apr 2017 11:42:29 +0200	[thread overview]
Message-ID: <20170419094229.hqdwrshmyph6clc2@pengutronix.de> (raw)
In-Reply-To: <20170415215042.GA3267@ravnborg.org>

Hi Sam,

On Sat, Apr 15, 2017 at 11:50:42PM +0200, Sam Ravnborg wrote:
> Hi Andrey.
> 
> While trying to port my proprietary at91sam9263 based board
> I have stumbled over how the early init works.
> And so far I have used at91sam9x5ek as reference.
> 
> If I follow the code paths for sam9x5 it looks like this:
> 
> 	barebox_arm_head  (arch/arm/include/asm/barebox-arm-head.h)
> 	    _barebox_arm_head
> 	    b barebox_arm_reset_vector -->
> 
> 	barebox_arm_reset_vector (arch/arm/mach-at91/at91sam9x5_lowlevel_init.c)
> 	    arm_cpu_lowlevel_init
> 	    arm_setup_stack(AT91SAM9X5_SRAM_BASE + AT91SAM9X5_SRAM_SIZE - 16);
> 	    barebox_arm_entry -->

barebox_arm_reset_vector is unused for multi image support.

> 
> 	barebox_arm_entry (arch/arm/cpu/entry.c)
> 	    arm_setup_stack(arm_mem_stack_top(membase, membase + memsize) - 16);
> 	    arm_early_mmu_cache_invalidate
> 	    barebox_{multi,single,non}_pbl_start
> 
> 	And then we have:
> 	ENTRY_FUNCTION(start_at91sam9x5ek, r0, r1, r2)  (arch/arm/boards/at91sam9x5ek/lowlevel.c)
> 	    arm_cpu_lowlevel_init
> 	    arm_setup_stack(AT91SAM9X5_SRAM_BASE + AT91SAM9X5_SRAM_SIZE - 16);
> 	    barebox_arm_entry
> 
> 
> And something in this confuses me...
> I know at91sam9x5 is built for multi image support.
> Which is why start_at91sam9x5ek() is referenced in images/Makefile.at91
> 
> But why do we need to call arm_setup_stack() in three different places.
> And with different parameters.
> And arm_cpu_lowlevel_init is called from two places.
> 
> Can someone shed some light on this.

Ultimately we want to have the stack somehwere at the end of the SDRAM.
However, during early init there might be no SDRAM available, so the
stack is configured into internal SRAM.

Sascha

-- 
Pengutronix e.K.                           |                             |
Industrial Linux Solutions                 | http://www.pengutronix.de/  |
Peiner Str. 6-8, 31137 Hildesheim, Germany | Phone: +49-5121-206917-0    |
Amtsgericht Hildesheim, HRA 2686           | Fax:   +49-5121-206917-5555 |

_______________________________________________
barebox mailing list
barebox@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/barebox

      reply	other threads:[~2017-04-19  9:42 UTC|newest]

Thread overview: 18+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2017-03-16 15:04 Andrey Smirnov
2017-03-16 15:04 ` [PATCH v2 01/11] clocksource: at91: Add DT compatibility table Andrey Smirnov
2017-03-16 15:04 ` [PATCH v2 02/11] serial: atmel: " Andrey Smirnov
2017-03-16 15:04 ` [PATCH v2 03/11] clk: at91: Port at91 DT clock code Andrey Smirnov
2017-03-16 15:04 ` [PATCH v2 04/11] mci: Allow parsing for explicit DT node Andrey Smirnov
2017-03-16 15:04 ` [PATCH v2 05/11] mci: atmel_mci: Add DT support Andrey Smirnov
2017-03-16 15:04 ` [PATCH v2 06/11] spi: atmel_spi: " Andrey Smirnov
2017-03-16 15:04 ` [PATCH v2 07/11] w1-gpio: " Andrey Smirnov
2017-03-16 15:04 ` [PATCH v2 08/11] usb: ohci-at91: " Andrey Smirnov
2017-03-16 15:04 ` [PATCH v2 09/11] usb/host: Allow USB_OHCI_AT91 even if USB_OHCI is disabled Andrey Smirnov
2017-03-16 15:04 ` [PATCH v2 10/11] usb: echi-atmel: Add DT support Andrey Smirnov
2017-03-16 15:04 ` [PATCH v2 11/11] net: macb: " Andrey Smirnov
2017-07-08 22:35   ` Sam Ravnborg
2017-07-10 22:05     ` Andrey Smirnov
2017-03-17 12:19 ` [PATCH v2 00/11] AT91, at91sam9x5ek updates (part II/III) Sascha Hauer
2017-03-20  3:21   ` Andrey Smirnov
2017-04-15 21:50 ` Sam Ravnborg
2017-04-19  9:42   ` Sascha Hauer [this message]

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=20170419094229.hqdwrshmyph6clc2@pengutronix.de \
    --to=s.hauer@pengutronix.de \
    --cc=andrew.smirnov@gmail.com \
    --cc=barebox@lists.infradead.org \
    --cc=sam@ravnborg.org \
    /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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox