S25FL032A and S25FL032P are compatible parts. However there are some AC timing differences. So it may need some AC timing adjustment to make the same design working with both S25FL032A and S25FL032P.
As you said, “SCLK is not higher than 25MHz” - this is ok, as far as the SCLK frequency is within the spec of both S25FL032A and S25FL032P.
“poll WIP to wait for enough time to allow program/erase operations to finish” – this is good to make the program/erase operation work for both S25FL032A and S25FL032P.
However, this is not enough to guarantee the same design works for both S25FL032A and S25FL032P. For example, S25FL032P tV max is 8ns, S25FL032A tV max is 10ns. If the controller samples flash output data between 8ns & 10ns after SCLK falling edge, then it is no problem for S25FL032P, but may cause read error for S25FL032A. If the controller samples flash output data @ >10ns after SCLK falling edge, then it is ok for both S25FL032A and S25FL032P. This is an example. All other AC timing parameters need to be checked.
So the answers to the your questions are “No”.
There are two options to make the same design compatible for both parts:
Option 1: Check and tune the AC timing parameters, make the AC timing parameters satisfy both S25FL032A and S25FL032P spec
Option 2: During initialization stage, read flash device id, then configure the AC timing parameters for S25FL032A or S25FL032P according to the device id.
Hope this helps.
Thank you and have a nice day
Hi Bushra, thank you for your careful explanations! :-)
thx & BR
Feb 27, 2020