Hi Peng,
I'm facing a problem when doing kob-ng u-boot on same board (imx53) with different nand chipset.
there was no problem with kobs-ng 10.11.01 with micron nand.
but than we changed the nand with samsung k9k8g08 u0d.
Now in my mfg tool,it wont boot with older kobs-ng.
So we tried it with newer one(kobs-ng11.01.00).
With new kobs-ng,we get to boot when we flash u-boot(mtd0) in the last in ucl.xml file(after kernel(mtd1) and android(mtd2) image.)
If we flash u-boot using kobs-ng before kernel,u-boot will boot fine,but than we get checksum error on kernel(bad data CRC.)
Do we need to change anything in mtd.c at bi_swap calculation?
Regards
Suvir
Peng Fushi said:
this code is from kobs-ng package in LTIB :
1973 if (plat_config_data->m_u32EnDISBBM) { //if the bad block marker swap enabled
1974 unsigned int nand_sections = mtd_writesize(md) >> 9;
1975 unsigned int nand_oob_per_section = ((mtd_oobsize(md) / nand_sections) >> 1) 1; // figure out how many byte in one sections, note this is freescale own define-nation
1976 unsigned int nand_trunks = mtd_writesize(md) / (512 + nand_oob_per_section);
1977 fcb->FCB_Block.m_u32DISBBM = 1;
1978 fcb->FCB_Block.m_u32BadBlockMarkerByte =
1979 mtd_writesize(md) - nand_trunks * nand_oob_per_section; //this is freescale NFC bad block marker byte position
1980
1981 fcb->FCB_Block.m_u32BBMarkerPhysicalOffsetInSpareData
1982 = (nand_sections - 1) * (512 + nand_oob_per_section) + 512 + 1;
1983 }
For detail , pls read the kobs-ng source file mtd.c , v2_rom_mtd_init , etc, note for different chip this code will be different
Peng Fushi