nRF52840 Zephyr QSPI Cypress S25hS512 flash Problem

Tip / Sign in to post questions, reply, level up, and achieve exciting badges. Know more

cross mob
Tushar
Level 1
Level 1
First reply posted First question asked Welcome!

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

0 Likes
7 Replies
Yuvraj
Moderator
Moderator
Moderator
250 replies posted 25 likes received 100 solutions authored

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

0 Likes
Tushar
Level 1
Level 1
First reply posted First question asked Welcome!

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

0 Likes
Yuvraj
Moderator
Moderator
Moderator
250 replies posted 25 likes received 100 solutions authored

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

0 Likes
Tushar
Level 1
Level 1
First reply posted First question asked Welcome!

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

0 Likes
Yuvraj
Moderator
Moderator
Moderator
250 replies posted 25 likes received 100 solutions authored

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

0 Likes
Tushar
Level 1
Level 1
First reply posted First question asked Welcome!

Hi,

i used FAST_READ command for reading and pp for writing,

but it shows same above error.

Regards

Tushar

0 Likes
Yuvraj
Moderator
Moderator
Moderator
250 replies posted 25 likes received 100 solutions authored

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

0 Likes