Intel StrataFlash 28F128J3 vs. 28F256K3
Hello,
I am bringing up u-boot on a new revision of our board and I am having a problem with flash. Both boards have share *exactly* the same schematic, with just one difference. The newer board has 2 Intel 28F256K3 flash chips in a single bank versus 2 Intel 28F128J3 flash chips in a single bank on the older board.
I am inexperienced with this flash stuff, so bear with me. What I am seeing is very strange. The board comes up, and everything works except flash. u-boot comes up, serial works fine, DRAM works fine. Flash does not work right. Here is what I am seeing.
1. Using JTAG, I can program the 1st sector of flash successfully. This works and I am using this mechanism to boot the board.
2. Using JTAG or u-boot flash commands, erasing appears to work for all sectors > sector 0. Programming does NOT work. The low-order bits (for bytes 1&2) are programmed correctly. The high-order bits (for bytes 3&4) are LOST, and thus every 32-bit word contains "ff" as the high-order bytes after programming.
I have made ABSOLUTELY CERTAIN that all my PXA register settings are correct. The same flash code (within u-boot) works correctly on the older board (with the J3's). I am very stuck - and I would appreciate some help. I have spent a vast amount of time on this problem and I would dearly love any bone that might be tossed from the U-Boot gurus.
Thansk in advance,
craig vanderborgh
voxware incorporated
Quoted 5 lines · In message <[email protected]> you wrote:
1. Using JTAG, I can program the 1st sector of flash successfully. This works and I am using this mechanism to boot the board.
2. Using JTAG or u-boot flash commands, erasing appears to work for all sectors > sector 0. Programming does NOT work. The low-order bits (for
If programming does not work using JTAG, then your JTAG debugger is misconfigured.
If programming does not work in U-Boot, then the U-Boot flash driver is misconfigured.
Or your hardware is broken.
Best regards,
Wolfgang Denk
Signature · 6 lines
Software Engineering: Embedded and Realtime Systems, Embedded Linux Phone: (+49)-8142-66989-10 Fax: (+49)-8142-66989-80 Email: wd at denx.de There are two ways of constructing a software design. One way is to make it so simple that there are obviously no deficiencies and the other is to make it so complicated that there are no obvious defi- ciencies. - Charles Anthony Richard Hoare
Hi Craig,
Sounds like you may have some other issues too, but one frustrating difference between the K and the J parts is that the K parts lock all the blocks on power up reset (compare sections 13 of the respective K and J data sheets). So, to erase or write a block, the block needs to be unlocked first (I'm talking about the locks in the flash part, not the U-boot software locks).
Putting something like this before erases and writes resolves this issue.
#ifdef CFG_UNLOCK_BEFORE_ERASE flash_write_cmd (info, sect, 0, FLASH_CMD_CLEAR_STATUS); flash_write_cmd (info, sect, 0, FLASH_CMD_PROTECT); flash_write_cmd (info, sect, 0, FLASH_CMD_PROTECT_CLEAR);
#endif
Hope this helps.
Robert
Quoted 43 lines · Craig A. Vanderborgh
Hello,
I am bringing up u-boot on a new revision of our board and I am having a problem with flash. Both boards have share *exactly* the same schematic, with just one difference. The newer board has 2 Intel 28F256K3 flash chips in a single bank versus 2 Intel 28F128J3 flash chips in a single bank on the older board.
I am inexperienced with this flash stuff, so bear with me. What I am seeing is very strange. The board comes up, and everything works except flash. u-boot comes up, serial works fine, DRAM works fine. Flash does not work right. Here is what I am seeing.
1. Using JTAG, I can program the 1st sector of flash successfully. This works and I am using this mechanism to boot the board.
2. Using JTAG or u-boot flash commands, erasing appears to work for all sectors > sector 0. Programming does NOT work. The low-order bits (for bytes 1&2) are programmed correctly. The high-order bits (for bytes 3&4) are LOST, and thus every 32-bit word contains "ff" as the high-order bytes after programming.I have made ABSOLUTELY CERTAIN that all my PXA register settings are correct. The same flash code (within u-boot) works correctly on the older board (with the J3's). I am very stuck - and I would appreciate some help. I have spent a vast amount of time on this problem and I would dearly love any bone that might be tossed from the U-Boot gurus.
Thansk in advance,
craig vanderborgh
voxware incorporated-------------------------------------------------------
SF email is sponsored by - The IT Product Guide
Read honest & candid reviews on hundreds of IT Products from real users. Discover which products truly live up to the hype. Start reading now.
http://productguide.itmanagersjournal.com/
_______________________________________________
U-Boot-Users mailing list
U-Boot-Users at lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/u-boot-users