All of lore.kernel.org
 help / color / mirror / Atom feed
From: Albert ARIBAUD <albert.aribaud@free.fr>
To: u-boot@lists.denx.de
Subject: [U-Boot] [PATCH] arm: Tegra2: add support for A9 CPU init
Date: Sun, 13 Mar 2011 18:46:06 +0100	[thread overview]
Message-ID: <4D7D02DE.3040101@free.fr> (raw)
In-Reply-To: <1297887964-25207-2-git-send-email-twarren@nvidia.com>

Le 16/02/2011 21:26, Tom Warren a ?crit :
> Signed-off-by: Tom Warren<twarren@nvidia.com>
> ---
>   arch/arm/cpu/armv7/start.S                 |    6 +
>   arch/arm/cpu/armv7/tegra2/Makefile         |    2 +-

>   arch/arm/cpu/armv7/tegra2/ap20.c           |  490 ++++++++++++++++++++++++++++
This one has an extra empty line at end of file.

> +void cold_boot(void)
> +{
> +	asm volatile(
> +
> +	"msr     cpsr_c, #0xd3            \n"
> +	/*
> +	* Check current processor: CPU or AVP?
> +	* If AVP, go to AVP boot code, else continue on.
> +	*/
> +	"mov     r0, %0                   \n"
> +	"ldrb    r2, [r0, %1]             \n"
> +	/* are we the CPU? */
> +	"cmp     r2, %2                   \n"
> +	"mov     sp, %3                   \n"
> +	/* leave in some symbols for release debugging */
> +	"mov     r3, %6                   \n"
> +	"str     r3, [sp, #-4]!           \n"
> +	"str     r3, [sp, #-4]!           \n"
> +	/*  yep, we are the CPU */
> +	"bxeq     %4                      \n"
> +	/* AVP Initialization follows this path */
> +	"mov     sp, %5                   \n"
> +	/* leave in some symbols for release debugging */
> +	"mov     r3, %6                   \n"
> +	"str     r3, [sp, #-4]!           \n"
> +	"str     r3, [sp, #-4]!           \n"
> +
> +	/* Init and Start CPU */
> +	"b       startup_cpu              \n"
> +	:
> +	: "i"(NV_PA_PG_UP_BASE),

If I'm not mistaken, NV_PA_PG_UP_BASE could be used just as well 
directly in the asm statement instead of via %0 and i(), as anyway the 
asm will be preprocessed and the macro will turn to a number. That would 
simplify the asm instruction as a whole and make the asm statement more 
understandable (also applies to other macros used similarly).

Apart from that, I must admit I don't know the Tegra2/A9 well enough to 
comment further.

amicalement,
Amicalement,
-- 
Albert.

  parent reply	other threads:[~2011-03-13 17:46 UTC|newest]

Thread overview: 16+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2011-02-16 20:26 [U-Boot] [PATCH] Add A9 CPU complex support Tom Warren
2011-02-16 20:26 ` [U-Boot] [PATCH] arm: Tegra2: add support for A9 CPU init Tom Warren
2011-02-22 23:41   ` Tom Warren
2011-02-22 23:57     ` Albert ARIBAUD
2011-02-23 15:50       ` Tom Warren
2011-03-07 16:15       ` Tom Warren
2011-03-13 17:46   ` Albert ARIBAUD [this message]
2011-03-14 16:15     ` Tom Warren
2011-03-14 15:33   ` Peter Tyser
2011-03-14 21:16     ` Tom Warren
2011-03-14 22:20       ` Peter Tyser
2011-03-14 23:08         ` Tom Warren
2011-03-17 14:32           ` Peter Tyser
2011-03-18 18:06             ` Tom Warren
2011-03-17 15:30           ` Alessandro Rubini
2011-03-18 18:16             ` Tom Warren

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=4D7D02DE.3040101@free.fr \
    --to=albert.aribaud@free.fr \
    --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.