All of lore.kernel.org
 help / color / mirror / Atom feed
From: Hans de Goede <hdegoede@redhat.com>
To: u-boot@lists.denx.de
Subject: [U-Boot] [PATCH 1/3] ARmv7: Add a soc_init hook to start.S
Date: Mon, 26 Jan 2015 11:50:37 +0100	[thread overview]
Message-ID: <54C61BFD.8070901@redhat.com> (raw)
In-Reply-To: <20150126090913.473db570@lilith>

Hi,

On 26-01-15 09:09, Albert ARIBAUD wrote:
> Hello Tom,
>
> On Thu, 22 Jan 2015 11:20:58 -0500, Tom Rini <trini@ti.com> wrote:
>> On Wed, Jan 21, 2015 at 09:03:25PM +0100, Hans de Goede wrote:
>>
>>> On some SoCs / ARMv7 CPU cores we need to do some setup before enabling the
>>> icache, etc. Add a soc_init hook with a weak default which just calls
>>> cpu_init_cp15.
>>>
>>> This way different implementations can be provided to do some extra work
>>> before or after cpu_init_cp15, or completely replacing cpu_init_cp15.
>>>
>>> Signed-off-by: Hans de Goede <hdegoede@redhat.com>
>>> ---
>>>   arch/arm/cpu/armv7/start.S | 18 +++++++++++++++++-
>>>   1 file changed, 17 insertions(+), 1 deletion(-)
>>>
>>> diff --git a/arch/arm/cpu/armv7/start.S b/arch/arm/cpu/armv7/start.S
>>> index fdc05b9..9882b20 100644
>>> --- a/arch/arm/cpu/armv7/start.S
>>> +++ b/arch/arm/cpu/armv7/start.S
>>> @@ -64,7 +64,7 @@ reset:
>>>
>>>   	/* the mask ROM code should have PLL and others stable */
>>>   #ifndef CONFIG_SKIP_LOWLEVEL_INIT
>>> -	bl	cpu_init_cp15
>>> +	bl	soc_init
>>>   	bl	cpu_init_crit
>>>   #endif
>>
>> I like the direction here.
>
> I don't like all of it, specifically the double call, to cpu_init_cp15
> then soc_init, for two reasons:
>
> 0) soc_init might touch cp15, but it's hidden in the name whereas it is
>     shown in cpu_init_cp15. Either both names should explicitly say they
>     are touching cp15, or both should not.
>
> 1) we cannot tell if cpu_init_cp15 should always happen before
>     soc_init. Having a single call to soc_init, with the understanding
>     that it will handle the cpu_init_cp15 call itself, makes it
>     possible for soc_init yo decide whether it wants to call
>     cpu_init_cp15 first, last or at all.

There is no double call, the call to cpu_init_cp15 is being replaced with
a call to soc_init, which then can call cpu_init_cp15 at any time it likes.

Also see the discussion further in the thread about replacing soc_init
with a call to lowlevel_init which then call s_init which may then call
cpu_init_cp15 at a convenient time, the advantage of this approach is that
the soc / board specific code can be written in C rather then in asm.

Regards,

Hans

      reply	other threads:[~2015-01-26 10:50 UTC|newest]

Thread overview: 30+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2015-01-21 20:03 [U-Boot] [PATCH 1/3] ARmv7: Add a soc_init hook to start.S Hans de Goede
2015-01-21 20:03 ` [U-Boot] [PATCH 2/3] ARMv7: Add a cpu_init_cortex_a7 helper function Hans de Goede
2015-01-21 20:03 ` [U-Boot] [PATCH 3/3] sunxi: Switch to using soc_init hook for setting the ACTLR.SMP bit Hans de Goede
2015-02-08  5:42   ` Ian Campbell
2015-01-21 21:59 ` [U-Boot] [PATCH 1/3] ARmv7: Add a soc_init hook to start.S Bill Pringlemeir
2015-01-22 13:29   ` Hans de Goede
2015-01-22 15:48     ` Bill Pringlemeir
2015-01-22 16:20 ` Tom Rini
2015-01-22 19:10   ` Hans de Goede
2015-01-22 21:03     ` Tom Rini
2015-01-23  8:54       ` Hans de Goede
2015-01-26 15:18         ` Tom Rini
2015-01-26 19:32           ` Hans de Goede
2015-01-27 14:23             ` Tom Rini
2015-01-31 21:25               ` Albert ARIBAUD
2015-01-31 21:49                 ` Tom Rini
2015-01-31 22:14                   ` Simon Glass
2015-02-02 18:56                     ` Tom Rini
2015-02-02 19:26                       ` Simon Glass
2015-02-04  8:48                       ` Albert ARIBAUD
2015-02-05  3:00                         ` Simon Glass
2015-02-05  8:27                           ` Hans de Goede
2015-02-05 15:14                           ` Albert ARIBAUD
2015-02-05 15:34                             ` Simon Glass
2015-02-05 18:02                               ` Albert ARIBAUD
2015-02-05 19:13                                 ` Simon Glass
2015-02-10 22:07                         ` Tom Rini
2015-02-10 23:27                           ` Simon Glass
2015-01-26  8:09   ` Albert ARIBAUD
2015-01-26 10:50     ` Hans de Goede [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=54C61BFD.8070901@redhat.com \
    --to=hdegoede@redhat.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.