
prakash bedge a écrit :
Hi Baren and Stefan
What I find is *VERY* helpful when trying to understand flash control issues is to *manually* do the QRY write sequence (see your flash data sheet) by using memory write/read commands from the u-boot command prompt I tested the same using "mw" and "md" commands from uboot prompt for read CFI query command. But test failed.
Log details: mw 0xfc000000 0xf0 mw 0xfc000055 0x98 md 0xfc000010 fc000010: ffffffff ffffffff ffffffff ffffffff ................ fc000020: ffffffff ffffffff ffffffff ffffffff ................ fc000030: ffffffff ffffffff ffffffff ffffffff ................ fc000040: ffffffff ffffffff ffffffff ffffffff ................ fc000050: ffffffff ff000000 98ffffff ffffffff ..... ........ fc000060: ffffffff ffffffff ffffffff ffffffff ................ fc000070: ffffffff ffffffff ffffffff ffffffff ................ fc000080: ffffffff ffffffff ffffffff ffffffff ................ fc000090: ffffffff ffffffff ffffffff ffffffff ................ fc0000a0: ffffffff ffffffff ffffffff ffffffff ................ fc0000b0: ffffffff ffffffff ffffffff ffffffff ................ fc0000c0: ffffffff ffffffff ffffffff ffffffff ................ fc0000d0: ffffffff ffffffff ffffffff ffffffff ................ fc0000e0: ffffffff ffffffff ffffffff ffffffff ................ fc0000f0: ffffffff ffffffff ffffffff ffffffff ................ fc000100: ffffffff ffffffff ffffffff ffffffff ................
mw 0xfc000000 0xf0 mw 0xfc0000AA 0x98 ... This is the actual mapping. md 0xfc000020 fc000020: ffffffff ffffffff ffffffff ffffffff ................ fc000030: ffffffff ffffffff ffffffff ffffffff ................ fc000040: ffffffff ffffffff ffffffff ffffffff ................ fc000050: ffffffff ff000000 98ffffff ffffffff ..... ........ fc000060: ffffffff ffffffff ffffffff ffffffff ................ fc000070: ffffffff ffffffff ffffffff ffffffff ................ fc000080: ffffffff ffffffff ffffffff ffffffff ................ fc000090: ffffffff ffffffff ffffffff ffffffff ................ fc0000a0: ffffffff ffffffff ffff0000 0098ffff .......... ... fc0000b0: ffffffff ffffffff ffffffff ffffffff ................ fc0000c0: ffffffff ffffffff ffffffff ffffffff ................ fc0000d0: ffffffff ffffffff ffffffff ffffffff ................ fc0000e0: ffffffff ffffffff ffffffff ffffffff ................ fc0000f0: ffffffff ffffffff ffffffff ffffffff ................ fc000100: ffffffff ffffffff ffffffff ffffffff ................ fc000110: ffffffff ffffffff ffffffff ffffffff ................
I believe that I am executing correct commands. If wrong please guide me.
M29W128Gh details: chip is 16 bit (is this chipwidth?) bus is 8 bit (is this portwidth?) Algorithm -AMD Banks- 1 sectors - 128
Which u-boot version you used where you do not need to change the uboot code for ST make M29W128GH? What other configuration or code I need to check in order to identify the root cause?
Two things strike me as weird:
1) You're writing 32-bit words to the chip. At most it should be 16-bit words, possibly even 8-bits. Try mw.w and mw.b.
2) Your writes actually appear where you did them, as if the flash was already in write mode, which is highly unlikely, or if you had some cache enabled for this area of your address space.
Amicalement,