[Balloon] 4kpage support in kernel and bootldr

Top Page
Attachments:
Message as email
+ (text/plain)
Delete this message
Reply to this message
Author: Wookey
Date:  
To: Balloon
Subject: [Balloon] 4kpage support in kernel and bootldr
Latest balloon3 have 8Gbit nand chips on them Samsung K9F8G08UOM and
this means things need fixing up to match.

CJ's initial bootldr patch appears to basically work in that things
boot but it turns out that things are not quite right - nand erasechip
gives 1000 
nand_erase: attempt to erase a bad block at page 0x%08x
                                                       0007FD00
whinges, finishing with
nand erasechip: Errorcount = 0x00001000


I _think_ it's complaining about half the eraseblocks?
(I have two on those devices on this board, so 2GByte of flash)

Now the 4K fix from the kernel that I've found is here:
http://git.infradead.org/mtd-2.6.git/commit/81ec5364a58c0545b694dee02fe65b9ae48f37b6

And this is an important fix too:
http://git.infradead.org/mtd-2.6.git/blobdiff/24430abc88c67e3df2f06c96a6ccd73bda4c92f0..81d19b04a865f9fcc0ca01b20be806169ff9efb3:/drivers/mtd/nand/nand_base.c

and the balloon version I derived from those is here:
http://balloonboard.org/cgi-bin/viewcvs.cgi/balloon/trunk/kernel/2.6.29.1/4Kpage-nand.patch?view=markup

(we might also want:
http://git.infradead.org/mtd-2.6.git/commit/aea7cea9fa9e39e71f95ad70b3daf98ba9972587
but I'm not sure we use the ioctls for anything - as we don't use the
nand-utils?)

There are a number of other apparently-related changes/patch but they
only apply if you have hardware ecc (so far as I can tell), and we don't.

That shows signs of working but my balloon is full of bad blocks now
after a couple of failed attempts and the erasechip thing isn't
tidyign them up, so I'm not sure if more is needed or if my NAND is
just a mess...

Simply using 2.6.34-rc7 works fine (apart from the bootldr issue) so
there is no (obvious) YAFFS problem.

Wookey
--
Principal hats: iEndian - Balloonboard - Toby Churchill - Emdebian
http://wookware.org/