mail archive of the barebox mailing list
 help / color / mirror / Atom feed
From: Juergen Beisert <jbe@pengutronix.de>
To: barebox@lists.infradead.org
Subject: Re: [RFC/PATCH v2] S3C24xx: NAND management changes to support booting from NAND
Date: Mon, 7 Mar 2011 11:37:46 +0100	[thread overview]
Message-ID: <201103071137.47053.jbe@pengutronix.de> (raw)
In-Reply-To: <20110307094002.GD8042@jasper.tkos.co.il>

Baruch Siach wrote:
> On Mon, Mar 07, 2011 at 10:18:00AM +0100, Juergen Beisert wrote:
> > Juergen Beisert wrote:
> > > This is revision two of my patch series to make the mini2440 booting
> > > from NAND. This seems somehow tricky: The mini2440 with a 64 MiB NAND
> > > works fine here, but the one with 128 MiB does currently boot only.
> > > In the first patch series where some errors in page address
> > > calculation, so they cannot work. This patch series might do it in a
> > > correct manner, but now only tested on 64 MiB and 128 MiB NAND. At
> > > least booting from NAND is now working also from 128 MiB. But the ECC
> > > handling fails, and I have no idea whats wrong now: Reading the
> > > environment fails with 'err: -74'...
> >
> > Here the main question:
> > - what is the difference in ECC handling in the S3C2440 CPU when using
> >   a "small page" or a "large page" NAND?
> >   "Small page" ECC seems to work, but "large page" ECC fails. Anyone here
> > with more experience with S3C2440/NAND? The Linux driver works well on
> > the large page NANDs, but not the barebox's one.
>
> I don't have experience with the S3C2440 NAND controller, but I'm working
> on a similar problem in the i.MX NAND controller Linux driver. NAND chips
> with 2k page size work fine, but 4k devices fail in the kernel. The cause
> for this is the wrong nand_ecclayout. In the i.MX case, the .eccpos table
> was too small for the larger ECC table of the 4k devices. This caused a
> corruption of the OOB data at the higher level of the NAND stack. Fixing
> this requires upgrade to a newer kernel (I currently use 2.6.36).
>
> As the nand_s3c2410 Barebox driver (like the kernel one) has only one
> nand_ecclayout struct for the 512 bytes page size, this may be the cause of
> your problem.
>
> I hope this helps.

\o/ The S3C2440 is using a 4 bytes ECC for 2048 sized page NANDs. After 
changing it, barebox is now able to write and read the environment.

Thanks,
jbe

-- 
Pengutronix e.K.                              | Juergen Beisert             |
Linux Solutions for Science and Industry      | Phone: +49-8766-939 228     |
Vertretung Sued/Muenchen, Germany             | Fax:   +49-5121-206917-5555 |
Amtsgericht Hildesheim, HRA 2686              | http://www.pengutronix.de/  |

_______________________________________________
barebox mailing list
barebox@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/barebox

      reply	other threads:[~2011-03-07 10:40 UTC|newest]

Thread overview: 9+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2011-03-06 21:53 Juergen Beisert
2011-03-06 21:53 ` [PATCH 1/5] mini2440: Add more info about possible SDRAM and flash devices Juergen Beisert
2011-03-06 21:53 ` [PATCH 2/5] mini2440: Consider correct NAND page size for boot Juergen Beisert
2011-03-06 21:53 ` [PATCH 3/5] S3C2440/NAND: Fix page address generation Juergen Beisert
2011-03-06 21:53 ` [PATCH 4/5] S3C2440/NAND: Re-enable the controller after NAND boot test Juergen Beisert
2011-03-06 21:53 ` [PATCH 5/5] S3C2440/NAND: Fix typo Juergen Beisert
2011-03-07  9:18 ` [RFC/PATCH v2] S3C24xx: NAND management changes to support booting from NAND Juergen Beisert
2011-03-07  9:40   ` Baruch Siach
2011-03-07 10:37     ` Juergen Beisert [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=201103071137.47053.jbe@pengutronix.de \
    --to=jbe@pengutronix.de \
    --cc=barebox@lists.infradead.org \
    /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