public inbox for u-boot@lists.denx.de
 help / color / mirror / Atom feed
From: Scott Wood <scottwood@freescale.com>
To: u-boot@lists.denx.de
Subject: [U-Boot] [PATCH 4/4 V3] PXA: Adapt Voipac PXA270 to OneNAND SPL
Date: Thu, 3 Nov 2011 17:20:18 -0500	[thread overview]
Message-ID: <4EB313A2.6080400@freescale.com> (raw)
In-Reply-To: <201111032252.18260.marek.vasut@gmail.com>

On 11/03/2011 04:52 PM, Marek Vasut wrote:
>> On 11/02/2011 08:56 PM, Marek Vasut wrote:
>>> +	onenand_spl_load_image(CONFIG_SPL_ONENAND_LOAD_ADDR,
>>> +				CONFIG_SPL_ONENAND_LOAD_SIZE,
>>> +				(void *)CONFIG_SYS_TEXT_BASE);
>>
>> If we make it "nand_spl_load_image", and make the #defines conform, we
>> can have the same code call the function for nand and onenand.  I don't
>> see any reason why onenand is a completely different subsystem in
>> general, rather than just another NAND driver.  The NAND subsystem's
>> driver interface is lower level than it should be, but that affects
>> other NAND controllers as well (such as fsl_elbc).
>>
>> Switching to the generic nand_boot() in
>> http://patchwork.ozlabs.org/patch/123219/ would get you the ability to
>> load the environment during the SPL.
>>
>> -Scott
> 
> I don't think I understand. Why do you want to mix onenand and nand ?

Why do we want to separate them?  What is the fundamental difference
between OneNAND, and a high-level NAND controller such as fsl_elbc?
Maybe there would be some differences on init if we can't produce
"normal" ID data, but that doesn't justify duplicating the whole subsystem.

Why should the code that just wants to use an API to move data around
need to care which it is?  Why should there be behavioral differences
that aren't rooted in the actual hardware?  Another approach might be to
use MTD as the common interface, but factor out common code into
libraries that drivers can use, and avoid the main nand_base.c code even
for things like fsl_elbc.

This is not a new complaint -- I've asked for this before but nobody's
put the time into sorting out the mess (and I have neither time nor
hardware nor documentation).  The SPL load_image function is a simple
enough interface to start with, though. :-)

In fact, it should probably just be spl_load_image() with whatever boot
source has been configured into this SPL build.

> Also, will your approach still allow me to squeeze the important code into the first 1kb 
> for the initial copying of SPL?

If you can't fit the common load sequence in, then of course don't use
it, but there's no need for the function name to be different.

-Scott

  reply	other threads:[~2011-11-03 22:20 UTC|newest]

Thread overview: 38+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2011-10-31 13:23 [U-Boot] [PATCH 0/4] Voipac PXA270 OneNAND SPL Marek Vasut
2011-10-31 13:23 ` [U-Boot] [PATCH 1/4] PXA: Drop Voipac PXA270 OneNAND IPL Marek Vasut
2011-10-31 13:23 ` [U-Boot] [PATCH 2/4] PXA: Rework start.S to be closer to other ARMs Marek Vasut
2011-11-01 22:53   ` [U-Boot] [PATCH 2/4 V2] " Marek Vasut
2011-11-02  9:01   ` [U-Boot] [PATCH 2/4] " Stefan Herbrechtsmeier
2011-11-02 10:25     ` Marek Vasut
2011-11-02 10:53       ` Stefan Herbrechtsmeier
2011-10-31 13:23 ` [U-Boot] [PATCH 3/4] OneNAND: Add simple OneNAND SPL Marek Vasut
2011-10-31 23:15   ` Scott Wood
2011-11-01 22:54   ` [U-Boot] [PATCH 3/4 V2] " Marek Vasut
2011-11-02 22:41     ` Scott Wood
2011-11-03  0:15       ` Marek Vasut
2011-11-03  0:36         ` Kyungmin Park
2011-11-03  0:59           ` Marek Vasut
2011-11-03 16:19         ` Scott Wood
2011-11-03 16:56           ` Marek Vasut
2011-11-03 17:06             ` Scott Wood
2011-11-03 17:25               ` Marek Vasut
2011-11-03  1:55     ` [U-Boot] [PATCH 3/4 V3] " Marek Vasut
2011-11-03 21:59       ` [U-Boot] [PATCH 3/4 V4] " Marek Vasut
2011-10-31 13:23 ` [U-Boot] [PATCH 4/4] PXA: Adapt Voipac PXA270 to " Marek Vasut
2011-10-31 23:03   ` Scott Wood
2011-11-01 22:12     ` Marek Vasut
2011-11-01 22:34       ` Scott Wood
2011-11-01 22:44         ` Marek Vasut
2011-11-02 22:18           ` Scott Wood
2011-11-01 22:54   ` [U-Boot] [PATCH 4/4 V2] " Marek Vasut
2011-11-02 22:23     ` Scott Wood
2011-11-03  1:56     ` [U-Boot] [PATCH 4/4 V3] " Marek Vasut
2011-11-03 18:09       ` Scott Wood
2011-11-03 21:52         ` Marek Vasut
2011-11-03 22:20           ` Scott Wood [this message]
2011-11-04  0:55             ` Marek Vasut
2011-11-04 16:37               ` Scott Wood
2011-11-04 20:07                 ` Marek Vasut
2011-11-04 20:13                   ` Scott Wood
2011-11-04 20:31                     ` Marek Vasut
2011-11-05 22:40                     ` Marek Vasut

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=4EB313A2.6080400@freescale.com \
    --to=scottwood@freescale.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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox