All of lore.kernel.org
 help / color / mirror / Atom feed
From: Tom <Tom.Rix@windriver.com>
To: u-boot@lists.denx.de
Subject: [U-Boot] [PATCH] ARM1176: Coexist with other ARM1176 platforms
Date: Sun, 14 Mar 2010 15:53:11 -0500	[thread overview]
Message-ID: <4B9D4CB7.3010001@windriver.com> (raw)
In-Reply-To: <1268327842-20372-1-git-send-email-cyril@ti.com>

Cyril Chemparathy wrote:
> The current ARM1176 CPU specific code is too specific to the SMDK6400
> architecture.  The following changes were necessary prerequisites for the
> addition of other SoCs based on ARM1176.
> 
> Existing board's (SMDK6400) configuration has been modified to keep behavior
> unchanged despite these changes.
> 
> 1. Peripheral port remap configurability
> The earlier code had hardcoded remap values specific to s3c64xx in start.S.
> This change makes the peripheral port remap addresses and sizes configurable.
> 
> 2. Skip low level initialization
> Ability to skip low level initialization if necessary.  Many other platforms
> have a similar capability, and this is quite useful during debug/bring-up.
> 
> 3. U-Boot code relocation support
> Most architectures allow u-boot code to run initially at a different
> address (possibly in NOR) and then get relocated to its final resting place
> in RAM.  Added support for this capability in ARM1176 architecture.
> 
> 4. Disable TCM if necessary
> If a ROM based bootloader happened to have initialized TCM, we disable it here
> to keep things sane.
> 
> 5. Remove unnecessary SoC specific includes
> ARM1176 code does not really need this SoC specific include.  The presence
> of this include prevents builds on other ARM1176 archs.
> 
> 6. ARM926 style MMU disable when !CONFIG_ENABLE_MMU
> The original MMU disable code masks out too many bits from the load address
> when it tries to figure out the physical address of the jump target label.
> Consequently, it ends up branching to the wrong address after disabling the
> MMU.
> 

> Signed-off-by: Cyril Chemparathy <cyril@ti.com>

This patch is premature.
I need to see this patch within the context of the new SOC.

For a new SOC, I would like it be added as a new sub dir off of cpu/arm1176.
At the same level as s3c64xx.  So this dir would look like.

config.mk  cpu.c  Makefile  new_soc_name s3c64xx  start.S  u-boot.lds

The common code that is sharable should also be at this level.
This may mean moving and generalizing some s3c64xx/*.c.
The SOC specific code must be in its own dir.  An example of this may be the
lowlevel_init needs to move from start.S to <SOC>/lowlevel_init.S

I do not want one SOC if-def-ing up another SOC.

The maintainer of the original s3c64xx SOC, Guennadi Liakhovetski 
<g.liakhovetski@gmx.de>, should be cc-ed on at least the initial changes so he 
has a heads up that
some of his code is being moved/generalized.

Tom

  reply	other threads:[~2010-03-14 20:53 UTC|newest]

Thread overview: 7+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2010-03-11 17:17 [U-Boot] [PATCH] ARM1176: Coexist with other ARM1176 platforms Cyril Chemparathy
2010-03-14 20:53 ` Tom [this message]
2010-03-14 21:47   ` Chemparathy, Cyril
2010-03-16 13:09     ` Tom
2010-03-16 19:16       ` Chemparathy, Cyril
2010-04-26 13:10 ` Tom Rix
2010-04-30 19:43   ` Cyril Chemparathy

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=4B9D4CB7.3010001@windriver.com \
    --to=tom.rix@windriver.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.