Hi, Huang Shijie wrote: > > > Please see "Figure 12-13" in the 12.12.1.12: > > > "In order to preserve the BI (bad block information), flash updater > > > or gang programmer > > > applications need to swap Bad Block Information (BI) data to byte 0 of > > > metadata area for > > > every page before programming NAND Flash. ROM when loading firmware, > > > copies back > > > the value at metadata[0] to BI offset in page data. The following figure > > > shows how the > > > factory bad block marker is preserved." > > > > > The inspection of the BB markers is only a fallback for the case that > > there is no DBBT. From the same chapter that you quoted above: > > | ROM uses DBBT to skip any bad block that falls within firmware data > > | on NAND Flash device. > > | If the address of DBBT Search Area in FCB is 0, ROM will rely on > > | factory marked bad block markers to find out if a block is good or bad. > > > > Thus, even the boot ROM of i.MX28 can well live without blockmark > > swapping. > > Assume that there is a NAND block "A", and the A consist of 256 pages. > the uboot is burned to the "A", can occupy 6 pages: > > ----------------------------------------------------------------------------- > | page 0 | page 1 | page 2 | page 3 | page 4 | page 5 | ... | ... | page 255 | > ----------------------------------------------------------------------------- > > \-------------------------------------- ------------------------------------/ > V > "A" > > The DBBT is used to track if "A" is bad or not. > Assume we know that "A" is a good block, ROM then need to read out the uboot. > When the ROM needs to read out the 6 pages one by one. And each time the ROM read > the page, it should do the swapping for this page. > > In this case, the ROM will do the swapping six times. > > Please read the sector again, you will see the "every page" in it: > -------------------------------------------------------------------- > "In order to preserve the BI (bad block information), flash updater > or gang programmer applications need to swap Bad Block Information (BI) data to byte 0 of > metadata area for every page before programming NAND Flash. ROM when loading firmware, > copies back > -------------------------------------------------------------------- > I can assure you that the >100.000 i.MX28 based modules, that we sold up to now boot from NAND just fine without any block mark swapping in the U-Boot pages. Lothar Waßmann -- ___________________________________________________________ Ka-Ro electronics GmbH | Pascalstraße 22 | D - 52076 Aachen Phone: +49 2408 1402-0 | Fax: +49 2408 1402-10 Geschäftsführer: Matthias Kaussen Handelsregistereintrag: Amtsgericht Aachen, HRB 4996 www.karo-electronics.de | info@xxxxxxxxxxxxxxxxxxx ___________________________________________________________ -- To unsubscribe from this list: send the line "unsubscribe devicetree" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html