Were you using GL-S and then migrated to GL-T or the opposite? The GL-T is newer than GL-S.
The u-boot version 1.3.4 is a very old version and it may have bugs and limitations whenused with new pNOR flashes. It was released in August 2008.
We recommend that you use a newer u-boot version. The same statement should apply to Linux if you're using a very old version.
To get a better understanding of the issue you're having, you may enable the macro DEBUG in the module cfi_flash.c:
You may also define the debug messages by adding the following line at the very beginning of the same module:
#define debug printf
Cypress semiconductor Corp.
Customer Applications Engineering
HI Bacem Daassi,
Thanks for the reply.
First we used GL-T and then migrated to GL-S.
Regarding the U-Boot, Linux kernel version & enabling DEBUG in cfi flash module, I have forwarded your reply to the embedded team.
Thanks & Regards,
Senior Engineer - Hardware Systems
Lekha Wireless Solutions
Please also check the following migration guide for more details about the differences between the two products:
Please also check the higher address pin connection, it's A25 in your case.
This pin should of course not be left floating and please make sure the controller is driving it correctly.
Hi Bacem Daassi,
Regarding the address A25, it was left floating on the board. So, we soldered a small wire to the A25 (ball no. G8) from both the parallel NOR flash to GND and tried flashing from the PEEDI JTAG programmer and it crossed sector 257 and fully programmed the flash without any error.
We tried this method in two more boards and they are flashing properly.
But we still have one question: How could the pNOR flash worked properly up to 64MB but couldn't access higher than 64MB with A25 left floating?
Thanks & Regards,
Glad to hear that the issue is now solved!
The A25 address pin level had a logical low level and was seen by the flash as being low (0), although it was floating.
That's why it worked with the lower half.
Please also note that the address pin A25 should be connected to the controller and not grounded. Otherwise you will only have access to the lower half the flash.