I have IMX53 based custom board with 4GB nand flash (micron 8bit width) and running 2.6.35 kernel freescale bsp. I have booted the board using sdcard and flashed u-boot, kernel to NAND flash.
I am getting "Bad data CRC" error while booting with NAND. When compared actual kernel image with nanddump kernel image, it was observed that last byte of every page was "FF" in the nanddump(if we flash kernel image multiple times then sometimes kernel image flashed properly to NAND).
When I flashed NAND from U-boot-2009.08(copied kernel image from SDcard to RAM and from RAM to NAND), this issue was not observed, always the data flashed correctly.
As per kernel config mxc_nd2.c driver was used. When compared NFC programmable registers of both U-boot and Kernel, only DMA_STATUS field of NFC_IPC register value is different and remaining register values are same.
When I compared NFC configuration of U-boot and kernel in mxc_nfc_init() function, in kernel symetric mode was enabled by default, I tried by disabling this but still same issue.
Can you guide me to debug this issue further.
Hi Ravi
for nand boot one can use mfg tools (or run commands in linux as in
attached ucl.xml)
Programmers (Flash, etc.) (3)
IMX_MFG_TOOL (REV 1.6.2.048)
Tool and documentation for downloading OS images to the i.MX53, i.MX51, i.MX50, i.MX28 and i.MX23.
also please refer to i.MX53 nand boot document
Best regards
igor
-----------------------------------------------------------------------------------------------------------------------
Note: If this post answers your question, please click the Correct Answer button. Thank you!
-----------------------------------------------------------------------------------------------------------------------
Thanks for the reply
I am using the same commands to flash from Kernel, except commands related to ignoring bad block.
#flash_erase /dev/mtd0 0 0;kobs-ng init -v --chip_0_device_path=/dev/mtd0 u-boot.bin
#flash_erase /dev/mtd1 0 0;nandwrite -b 1 -n /dev/mtd1 -p uImage
Now I tried following commands as per xls, but still same issue.
#echo 1 > /sys/devices/platform/mxc_nandv2_flash.0/ignorebad
#kobs-ng init --chip_0_device_path=/dev/mtd0 u-boot.bin
#echo 0 > /sys/devices/platform/mxc_nandv2_flash.0/ignorebad
#flash_eraseall /dev/mtd1
#nandwrite /dev/mtd1 -p uImage
I need to check following point, can you help me on this.
Where changes has to do in kernel source to support MT29F4G08ABADA NAND flash. I want to confirm whether all changes are done or not.
I want to flash u-boot and kernel as a single image using "kobs-ng", I am not using ltib. Can you guide me to do this.
for example one can look at other procedures, developed by third parties:
http://www.denx.de/wiki/view/DULG/Manual?stickboard=m28evk
~igor