I'm trying to get an IS25WP256D to work on the imx6 evk board. It came with a Micron part and I got that to work with little problem. The part availability for the Micron part is bad so we are trying out an IS25WP256D. I have gotten it erase ok, I have gotten it to program ok, but I cannot get any of the read commands to work. I am able to read it with J-Flash so I know it's possible but cannot figure out what I'm doing wrong. I've tried the quad fast read 0x0c, this is what the J-Flash uses to read the part, it works for them but I cannot get it to work. I've also tried the normal read 0x03. The normal read almost works but for some reason the data read back is valid data but not for the address sent. If I sent a 0x60004000 it returns data from 0x60004200. Here are the sequence codes I've tried:
[0] = 0x0A18040c, [1] = 0x1E800E06, [2] = 0x2400, - Fast Quad Read
[0] = 0x08180403, [1] = 0x1c800c00, [2] = 0x2400, - Normal Read
I've set the sequence according to the ISSI datasheet, both of these reads are very similar if not identical to the Micron chip which did work so I am stumped. Can anyone help? If anyone is using an ISSI qspi part and has it working please let me know, or if someone sees an error in my sequence I'm all ears!! Thanks,
Solved! Go to Solution.
I was able to get the ISSI part to work. For quad commands you must set the QE bit to 1 in the Status register. Read codes I was able to verify:
0] = 0x08180403, [1] = 0x24001c08, //normal read works for ISSI and Micron
[0] = 0x0A1804EB, [1] = 0x1E800E06, [2] = 0x2400, //quad read ISSI
[0] = 0x0818040B, [1] = 0x1C800C08, [2] = 0x2400, //fast read works for ISSI and Micron
Also, you can try the sample code, located within the SDK package, available at the following Google Drive link:
https://drive.google.com/file/d/1NuXosJthnarOmhZk5HD3yVRFJVzxiCDp/view?usp=sharing
Check the code, located here within the SDK:
\boards\evkmimxrt1050\driver_examples\flexspi\nor
Have a great day,
Artur
I was able to get the ISSI part to work. For quad commands you must set the QE bit to 1 in the Status register. Read codes I was able to verify:
0] = 0x08180403, [1] = 0x24001c08, //normal read works for ISSI and Micron
[0] = 0x0A1804EB, [1] = 0x1E800E06, [2] = 0x2400, //quad read ISSI
[0] = 0x0818040B, [1] = 0x1C800C08, [2] = 0x2400, //fast read works for ISSI and Micron