- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hi,
We are using nrf52840 for custom design with Cypress S25hS512 qspi flash. We configured the flash as below in the dts file.
&qspi {
status = "okay";
sck-pin = <19>;
io-pins = <20>, <21>,<22>, <23>;
csn-pins = <17>;
s25hs512: s25hs512tf@0 {
compatible = "nordic,qspi-nor";
reg = <0>;
writeoc = "pp4io";
readoc = "read4io";
sck-frequency = <8000000>;
label = "S25HS512";
jedec-id = [34 2B 1A];
size = <512000000>;
};
};
If I configure the writeoc and readoc as pp4io and read4io I get data mismatch error while reading back the data written.
I tried configuring the flash chip to QUAD mode, by writing QUAD bit in configuration register 1 but still i get the same above error
Regards
Tushar
- Labels:
-
Community Information
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hello Tushar,
Thank you for contacting Infineon Technologies, I need to know more about what is pp4io, when does the system gives data mismatch error? what is the condition? and can you provide us data dump.
Also are you able to read device ID correctly?
Thanks and regards,
Yuvraj
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hi,
I'am able read device _ID correctly
ppio mean using 4 lines
It gives data mismatch when writeoc=pp4io and readoc=read4io of the above dts file i posted
Regards
Tushar
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hi,
I did not understand what do you mean by pp4io and read4io commands, what exact commands you are using. Can you please check transactions table from datasheet and tell me the exact commands from transaction table.
Also, the error thing is still not clear, what is the condition under which your system is generating error? is it performing any comparison operation internally? If yes can you please provide more details.
Can you provide us the expected data (data which you programmed) and the data which you received after reading.
Best regards,
Yuvraj
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hi,
pp4io uses 4 lines of qspi to write the data into flash
read4io uses 4 lines of qspi to read the data from flash
I'am writing 1 byte of data to location 0x1000
and when i try to read the data from 0x1000 it gives me some another data
Regards
Tushar
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hello Tushar,
According to data sheet, page programming command is not supported in QUAD mode. We suggest to try debugging by:
1 line write + 1 line read
1 line write + 4 line read
Kindly let us know the results.
Regards,
Yuvraj
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hi,
i used FAST_READ command for reading and pp for writing,
but it shows same above error.
Regards
Tushar
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hello Tushar,
From the data sheet, on the page number 84 and with reference to Table 73. 1-1-1 Transaction Table, if you are using Read Fast SDR transaction reads out the memory
contents starting at the given address, there are 2 commands you can use 0B or OC.
If you are using 0C command you need to consider mode cycle in order to consider latency.
On page number 70 of data sheet with reference to table 49. Latency Code (Cycles) Versus Frequency you need to consider latency Code /Cycles witch is 8 by default for 1-1-1 Transaction.
Please consider above points and let us know if you are still facing the same problem.
Regards,
Yuvraj