From: Nishanth Menon <menon.nishanth@gmail.com>
To: Michael Grzeschik <m.grzeschik@pengutronix.de>
Cc: barebox@lists.infradead.org
Subject: Re: [PATCH|RFC] beagle: make nand ecc command based
Date: Tue, 17 Aug 2010 05:40:09 -0500 [thread overview]
Message-ID: <4C6A6709.9080107@gmail.com> (raw)
In-Reply-To: <1282035337-25094-1-git-send-email-m.grzeschik@pengutronix.de>
On 08/17/2010 03:55 AM, Michael Grzeschik wrote:
> Signed-off-by: Michael Grzeschik<m.grzeschik@pengutronix.de>
> ---
> This will only work once and bring the nand chip into a undefined state
> after a second call. Any ideas for doing this save?
looking at the gpmc logic, it does a reset in gpmc_cs_config by
disabling and re-enabling it -> so my guess is:
a) in the selection of ecc logic
b) reset of statemachines in mtd layers
c) nand chip not being reset from it's previous state (resetting the
controller does not mean nand chip is reset) (if i recollect sometime
back mtd used to do a 0xff and reset)..
personally, IMHO using s/w ecc has not much benefit other than being
"legacy enabled"
>
> arch/arm/boards/omap/board-beagle.c | 28 +++++++++++++++++++++++++++-
> 1 files changed, 27 insertions(+), 1 deletions(-)
>
> diff --git a/arch/arm/boards/omap/board-beagle.c b/arch/arm/boards/omap/board-beagle.c
> index c0b6b43..99766af 100644
> --- a/arch/arm/boards/omap/board-beagle.c
> +++ b/arch/arm/boards/omap/board-beagle.c
> @@ -53,6 +53,7 @@
> */
>
> #include<common.h>
> +#include<command.h>
> #include<console.h>
> #include<init.h>
> #include<driver.h>
> @@ -324,7 +325,6 @@ static int beagle_devices_init(void)
> /* WP is made high and WAIT1 active Low */
> gpmc_generic_init(0x10);
> #endif
> - gpmc_generic_nand_devices_init(0, 16, 1);
>
> armlinux_add_dram(&sdram_dev);
> armlinux_set_bootparams((void *)0x80000100);
> @@ -333,3 +333,29 @@ failed:
> return ret;
> }
> device_initcall(beagle_devices_init);
> +
> +static int do_ecc(struct command *cmdtp, int argc, char *argv[])
> +{
> + if (*argv[0] == 's') {
> + gpmc_generic_nand_devices_init(0, 16, 0);
> + } else {
> + gpmc_generic_nand_devices_init(0, 16, 1);
> + }
> + return 0;
> +}
> +
> +static const __maybe_unused char cmd_ecc_help[] =
> +"Usage: (s|h)whwcc<device>\n"
> +"set software or hardware ecc for nand controller \n";
> +
> +BAREBOX_CMD_START(hwecc)
> + .cmd = do_ecc,
> + .usage = "enable HWECC support in NAND",
> + BAREBOX_CMD_HELP(cmd_ecc_help)
> +BAREBOX_CMD_END
> +
> +BAREBOX_CMD_START(swecc)
> + .cmd = do_ecc,
> + .usage = "enable SWECC support in NAND",
> + BAREBOX_CMD_HELP(cmd_ecc_help)
> +BAREBOX_CMD_END
_______________________________________________
barebox mailing list
barebox@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/barebox
next prev parent reply other threads:[~2010-08-17 10:40 UTC|newest]
Thread overview: 4+ messages / expand[flat|nested] mbox.gz Atom feed top
2010-08-17 8:55 Michael Grzeschik
2010-08-17 10:40 ` Nishanth Menon [this message]
2010-08-18 6:42 ` Sascha Hauer
2010-08-18 10:03 ` Nishanth Menon
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=4C6A6709.9080107@gmail.com \
--to=menon.nishanth@gmail.com \
--cc=barebox@lists.infradead.org \
--cc=m.grzeschik@pengutronix.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