public inbox for u-boot@lists.denx.de
 help / color / mirror / Atom feed
From: Heiko Schocher <hs@denx.de>
To: u-boot@lists.denx.de
Subject: [U-Boot] [U-Boot, 3/9] nand: add a hw specific subcommand to the nand command.
Date: Thu, 04 Aug 2011 07:40:39 +0200	[thread overview]
Message-ID: <4E3A30D7.3020104@denx.de> (raw)
In-Reply-To: <20110803105627.25ea58a7@schlenkerla.am.freescale.net>

Hello Scott,

Scott Wood wrote:
> On Wed, 3 Aug 2011 07:14:51 +0200
> Heiko Schocher <hs@denx.de> wrote:
> 
>> Hello Scott,
>>
>> Scott Wood wrote:
>>> Sorry for the delay, didn't see this the first time around -- just
>>> noticed it in patchwork.
>> No problem. Thanks for the review!
>>
>>> On Sat, Jul 16, 2011 at 12:06:44AM -0000, Heiko Schocher wrote:
>>>> @@ -739,6 +743,10 @@ U_BOOT_CMD(
>>>>  	"nand env.oob set off|partition - set enviromnent offset\n"
>>>>  	"nand env.oob get - get environment offset"
>>>>  #endif
>>>> +#ifdef CONFIG_CMD_NAND_HWFUNC
>>>> +	"\n"
>>>> +	"nand hwfunc " CONFIG_CMD_NAND_HWFUNC "\n"
>>>> +#endif
>>> Why not just define hardware-specific commands at whatever scope they
>>> makes sense (board code, controller driver, etc.), rather than add a
>>> generic hook here?
>> Hmm... because if I define a hw specific command for example at
>> soc scope, it is not a nand subcommand ... and I like to have all
>> nand commands (I use it for switching between different read/write
>> functions) accessable under "nand ..." from the u-boot shell ...
>> I don;t like to have all over the code randomised some nand commands ...
> 
> What if there are multiple such commands?  You'd end up with "nand hwfunc

Then we would have a (as hwfunc is a nand subcommand) hwfunc
subcommand(s) ...

> foo <args>", which is getting a bit unwieldy.  Having only one might

Why? (I don;t know, if we get really more then one hwfunc...), but
if we define all over the code some (board, soc, arch,...) specific
nand commands, we lose track ... and with the "nand hwfunc" we have
one place where we have to look ...

> actually be worse: what does a plain "nand hwfunc" do?

A plain "nand hwfunc" should print the help message (if we have more
subcommands under "nand hwfunc"), if we have only one, it returns
as usual in uboot, actual state ... for example on the cam_enc_4xx board:

cam_enc_4xx> nand
nand - NAND sub-system

Usage:
nand info - show available NAND devices
nand device [dev] - show or set current device
nand read - addr off|partition size
nand write - addr off|partition size
    read/write 'size' bytes starting at offset 'off'
    to/from memory address 'addr', skipping bad blocks.
nand erase[.spread] [clean] off size - erase 'size' bytes from offset 'off'
    With '.spread', erase enough for given file size, otherwise,
    'size' includes skipped bad blocks.
nand erase.part [clean] partition - erase entire mtd partition'
nand erase.chip [clean] - erase entire chip'
nand bad - show bad blocks
nand dump[.oob] off - dump page
nand scrub off size | scrub.part partition | scrub.chip
    really clean NAND erasing bad blocks (UNSAFE)
nand markbad off [...] - mark bad block(s) at offset (UNSAFE)
nand biterr off - make a bit error at offset (UNSAFE)
nand hwfunc [rbl/uboot]
         switch between rbl/uboot nand read/write functions

cam_enc_4xx> nand hwfunc
uboot
cam_enc_4xx>

> What if there are multiple commands, but which belong in different places
> (e.g. one defined by the board, one defined by the controller driver)?

Maybe something like this?

nand hwfunc arch ...
nand hwfunc board ...
nand hwfunc ctrl ...
nand hwfunc soc ...
[...]

each hwfunc subcommand added through an define ...

bye,
Heiko
-- 
DENX Software Engineering GmbH,     MD: Wolfgang Denk & Detlev Zundel
HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany

  reply	other threads:[~2011-08-04  5:40 UTC|newest]

Thread overview: 24+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2011-07-16 10:06 [U-Boot] [PATCH 0/9] arm, davinci: add support for dm368 based cam_enc_4xx board Heiko Schocher
2011-07-16 10:06 ` [U-Boot] [PATCH 1/9] mkimage: add UBL header support for booting davinci cpus Heiko Schocher
2011-07-28 14:52   ` Wolfgang Denk
2011-07-16 10:06 ` [U-Boot] [PATCH 2/9] arm, arm926: fix missing symbols in NAND_SPL mode Heiko Schocher
2011-07-16 10:06 ` [U-Boot] [PATCH 3/9] nand: add a hw specific subcommand to the nand command Heiko Schocher
2011-08-02 20:19   ` [U-Boot] [U-Boot, " Scott Wood
2011-08-03  5:14     ` Heiko Schocher
2011-08-03 15:56       ` Scott Wood
2011-08-04  5:40         ` Heiko Schocher [this message]
2011-08-04 19:42           ` Scott Wood
2011-08-04 20:14             ` Wolfgang Denk
2011-08-04 20:28               ` Scott Wood
2011-08-04 20:46                 ` Wolfgang Denk
2011-07-16 10:06 ` [U-Boot] [PATCH 4/9] arm, davinci: add header files for dm365 Heiko Schocher
2011-10-05 14:28   ` [U-Boot] [PATCH v2 06/10] " Heiko Schocher
2011-07-16 10:06 ` [U-Boot] [PATCH 5/9] arm, davinci: add lowlevel function for dm365 soc Heiko Schocher
2011-07-16 10:06 ` [U-Boot] [PATCH 6/9] arm926ejs, davinci: add cpuinfo for dm365 Heiko Schocher
2011-10-05 14:29   ` [U-Boot] [PATCH v2 07/10] arm, davinci: add lowlevel function for dm365 soc Heiko Schocher
2011-10-05 14:29   ` [U-Boot] [PATCH v2 08/10] arm926ejs, davinci: add cpuinfo for dm365 Heiko Schocher
2011-07-16 10:06 ` [U-Boot] [PATCH 7/9] arm926ejs, davinci: add missing spi defines " Heiko Schocher
2011-07-16 10:06 ` [U-Boot] [PATCH 8/9] spl, nand: add 4bit HW ecc oob first nand_read_page function Heiko Schocher
2011-08-02 20:49   ` [U-Boot] [U-Boot, " Scott Wood
2011-07-16 10:06 ` [U-Boot] [PATCH 9/9] arm, davinci: add cam_enc_4xx support Heiko Schocher
2011-10-05 14:30   ` [U-Boot] [PATCH v2 10/10] " Heiko Schocher

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=4E3A30D7.3020104@denx.de \
    --to=hs@denx.de \
    --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