One more thing, that I want to add here is my SPI is not working either in mode 0 or mode 3. I could make it work only in mode 2 i.e CPOL=1 and CPHA=0
Our device S25FL256SAGMFI works only in mode 0 and 3. We recommend not to operate in any other mode.
Can you let us know the contents of CR1 register. please use command RDCR (35h) and let us know the value you are reading.
Also check the command PPBRD ( E2h) for the locations 0x0000, 0x10000, 0x40000 and 0x80000 and let us know what you are observing.
Please refer section 9.8.5 "PPB read" ( page 115) in the datasheet for the PPBRD command sequence.
Thank you for your reply.
We are using DSP from TI and I checked other projects, where they are using TI DSPs with cypress device. There also they are working on mode 2. When checked the reference manual timing diagram of DSP SPI, I see that mode 2 and mode 3 of DSP are identical to mode 0 and mode 3 of cypress. So I do not think any issue is there with modes. Moreover my READ and WRITE commands are working.
I checked the content of status register(0x05), config register(0x35) and PPB register(0xE2).
Status register all bits are 0, except for SRWD = 1. We have no idea, how that became 1, since we never tried writing to that and default value is supposed to be 0.
Config Register -> all bits are 0
PPB register -> 0xFF. (I do not believe that this has any problem, since I am able to program)
Are we missing anything here.
Do you have a sample code for this chip written in C? If yes, Is it possible to share that with us?
The issue was with the connector that we were using to communicate with the flash. We put a biasing capacitor between the VCC and Ground and it started working fine.
Thanks again for your support.