We have to make our iMX53 board boot from a new Cypress - S34ML16G202BHI003 NAND, so we set new parameters for both u-boot and kernel, as: (datasheet)
.end_of_table = false,
.manufacturer_code = 0x01,
.device_code = 0xd5,
.cell_technology = NAND_DEVICE_CELL_TECH_SLC,
.chip_size_in_bytes = 2048LL*SZ_1M,
.block_size_in_pages = 64,
.page_total_size_in_bytes = 2*SZ_1K + 128,
.ecc_strength_in_bits = 4,
.ecc_size_in_bytes = 512,
.data_setup_in_ns = 20, //tds
.data_hold_in_ns = 10, //tdh
.address_setup_in_ns = 25, //tals
.gpmi_sample_delay_in_ns = 6,
.tREA_in_ns = 30,
.tRLOH_in_ns = 0,
.tRHOH_in_ns = 15,
and after a correct NAND flash, we see we can't boot from NAND, but if we load u-boot with serial download to the board and tell that u-boot boot from kernel partition on new NAND, it boots OK.
So,it seems NAND is working at all, but we are not able to boot from it. Old NAND was an MT29F16G08ABACA, and we boot OK in same board. So, doubts are:
- do we have to change some other parameters in u-boot to use this new nand? (apart from the ones in struct above)
- should the first bytes seen on nand 0x0000 position change after changing NAND? They look the same, in spite of the change in new NAND geometry.
- could some pull up resistor value soldered in NAND pins (RBB for example) cause this behaviour?.( We have same values for old and new nands)
Any help is appreciated. Thank you.