On Tuesday 16 December 2008, Kevin Hilman wrote: > > I suspect the dm355evm issue with reported bad blocks is > > related to the 4-bit ECC mode used by the firmware loaded > > on it. It needs 10 bytes ECC data per 512 bytes data, > > but evidently the resulting 40 bytes per page exceeds > > what that version of Linux (and current ones??) allow > > in the OOB area. > > > > So ... the ECC data is instead stored inline, which > > means the first few bytes of OOB data on *good* blocks > > will be used for data, which will probably look just > > like a factory marker for a bad block. > > > > I think that'll be a mess to fix, if that's right. > > Ideally the existing bad block tables can be extracted > > and restored to a standard format.
Or the quick way to convert would probably be to just use the "old" kernel to erase the whole device, which will put 0xff values everywhere -- including OOB areas of good blocks -- and then convert to a less quirky layout. The first BBT scan of that flash after erasing won't find the existing BBT, but it should at least be able to recover the list of factory-marked bad blocks since the erase should have ignored them. > IIRC, there was some discussion in TI about updating ubl/u-boot to fix > the bootloader-kernel mismatch. Anyone in TI care to comment? I'd also be interested in knowing about any discussions that have been had with the mainline MTD folks. Those NAND_ECC_HWx_y constants seem unique to the DaVinci tree, and unlikely to be accepted in mainline. I'd assume it *should* be noncontroversial to remove any remaining limitation on how much ECC data can be kept in the OOB area. Once Linux can handle that cleanly, I'd expect U-Boot (and its UBL) could change easily enough. Updating existing flash chips ... a mess. Updating RBL might be nice. I'd expect a minimal change to handle larger pages (4K vs 2K), not necessarily with any other updates (like using only the OOB area for ECC) included. - Dave _______________________________________________ Davinci-linux-open-source mailing list [email protected] http://linux.davincidsp.com/mailman/listinfo/davinci-linux-open-source
