
Hello,
I'm currently working with the at91sam9260ek board. I've rebased the atmel code for this board up to the 1.2 release of u-boot. In addition, I've made modifications to the NAND flash driver to support hardware ECC with Syndrome. To support this feature, I had to enable the use of "bad block tables". When u-boot first starts ( I had to start u-boot using the dataflash), it checks for the existence of the bad block table, and if not found, scans through all of the erase blocks to create the table. Once this is done, you can use SAM-BA or the u-boot from dataflash to install U-Boot to the NAND flash. At this point it is safe to overwrite the bad block markers in the OOB area, as they are maintained by the bad block table.
This "bad block table" has the added benefit of a faster boot time, as it doesn't have to scan the entire NAND flash when booting.
Ken Watson kenw@sixnetio.com
-----Original Message----- From: u-boot-users-bounces@lists.sourceforge.net [mailto:u-boot-users- bounces@lists.sourceforge.net] On Behalf Of Michel Benoit Sent: Thursday, February 08, 2007 3:34 AM To: Stefan Roese Cc: Ulf Samuelsson; u-boot-users@lists.sourceforge.net; ARM Linux Mailing List Subject: Re: [U-Boot-Users] AT91 NAND om AT91SAM9260EK
Good morning!
What version of the AT91SAM9260EK u-boot code are you referring to?
I am using u-boot-1.1.5_atmel_1.2 from the Atmel ftp site. Is there a more recent version available? Are there any plans to add the at91sam9260ek support to the main branch of u-boot (latest version 1.2).
In looking through the 1.1.5 Atmel u-boot code I see that nand_bbt.c is used to map out bad blocks marked by the manufacturer. I can write my code to nand from external SAM-BA tool and boot without any problems. Has anyone tried booting from JFFS2 nand within u-boot?
The problem that I was having with the NAND flash on my AT91SAM9260EK board is related to the fact that the hw ECC controller in the 9260 uses the first four bytes of out of bounds space after each page to store an error correction/verification number. The Samsung flash on my board uses the first byte of oob space in the first two pages of a block to mark that it is bad. If the byte is not FF then the mfg has marked the block as bad and it should never be used. When linux mtd starts up it looks for mfg bad blocks and removes them from the available list of nand blocks. Thus any page which contains data is excluded. Looking around at other nand flash devices I found that some use both offsets 0 and 5 in the oob space to mark bad blocks. We plan to use such a nand flash on our custom board. I hope that Atmel will do the same on future revisions of its AT91SAM9260EK board.
My work around for now is to ignore mfg bad blocks and hope that they get caught by the ECC verification code. Mfg bad block info has already been overwritten on my flash chip by the ECC data. Does anyone know if the Atmel SAMBA tool does any bad block verification when programming nand flash? It seems to be writing the 4 byte ECC code in the oob space. Is it also marking mfg bad blocks? If so, at which offset into the oob space?
Michel
On 2/8/07, Stefan Roese sr@denx.de wrote:
On Thursday 08 February 2007 00:17, Ulf Samuelsson wrote:
Has anyone used the at91_nand driver on the AT91SAM9260EK?
I get bad erase blocks on every block that contaions data (written
to
nand flash with SAM-BA). Seems like the read_oob (read out of
bounds
area) function is returning data from the in bounds area.
U-boot configs the nand flash to use hw ecc (syndrome) whereas the at91_nand seems to be setup to use soft ecc.
According to recent conversations on U-Boot mailing list U-boot can do a raw copy of a flash file system, but nothing more. (Correct me if I have misunderstood)
Yes. But this copy is bad block aware.
This means that if there are faulty pages in the NAND flash, you are
dead.
No. Bad blocks are handled correctly.
Best regards, Stefan
===================================================================== DENX Software Engineering GmbH, HRB 165235 Munich, CEO: Wolfgang Denk Office: Kirchenstr. 5, D-82194 Groebenzell, Germany =====================================================================
Using Tomcat but need to do more? Need to support web services, security? Get stuff done quickly with pre-integrated technology to make your job easier. Download IBM WebSphere Application Server v.1.0.1 based on Apache Geronimo http://sel.as-us.falkag.net/sel?cmd=lnk&kid=120709&bid=263057&da... _______________________________________________ U-Boot-Users mailing list U-Boot-Users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/u-boot-users