I'm trying to put u-boot on a custom board based on dm6446 in a NAND memory.
I find some mismatches between the montavista linux kernel and u-boot 2009.11 .
Particularly, in linux-2.6.18_pro500/arch/arm/mach-davinci/board-evm.c the variable davinci_nand_partitions has 4 elements bootloader of 265KB, params 128K, kernel 4M and filesystem the rest of the memory.
But u-boot 2009.11 has a different partitions layout specified by mtdparts=davinci_nand.0:384k(bootloader)ro,4m(kernel),-(filesystem)
In any case I would assume that after 0x60000 (i.e. 384k) no data would be present, and by erasing it nothing would happen. But By erasing it u-boot stops working.
The commands I give are:
nand erase 0x00060000 0x00400000
nand write 0x80700000 0x00060000 0x00400000
reset
and u-boot does not work any more and I have to reinstall it with sfh.
If I try to write to 0x02060000 instead of 0x00060000 it works, but I think it is wrong because when I to flash_eraseall -j /dev/mtdblock3 from linux I delete the kernel from the NAND and also because the correct address seems to be 0x00060000 in this post http://www.mail-archive.com/davinci-linux-open-source@linux.davincidsp.com/msg06694.html
So, I think that the position of u-boot at the beginning of the NAND memory does not start at 0x0 and does not finish at 0x0005ffff . Thus, my questions are:
1) what is the correct place for u-boot in the NAND memory?
2) is it due to sfh?
3) how should I change mtdparts? how?
Did you experience something similar?