Is there a list of chips that are supported by SPIF/QSPIF BlockDevice classes?

Hi,

I was trying out the block devices classes on some of our old boards, and noticed that some chips are supported, such as S25FL256L, while some others are not, such as S25FL256S (a newer version to L). Also the QSPI chip, MT25QL512A, on DISCO_F746NG board seems to work fine with QSPIF BlockDevice class. but I didn’t fully test it.

So my question is, is there a list of supported chips? If we want to know a certain chip is supported, how do we check if it can work with those BD classes?

Thanks,
ZL

Honestly we should really make a wiki page for this; I am not aware of one that exists. Offhand, I believe that these classes can work with any chip that properly implements the SFDP standard. However, a lot of chips don’t – e.g. the S25FL line uses a non-standard three byte addressing method, while the Renesas one that they use on the Arduino Giga doesn’t actually have a complete SFDP table at all. So I feel like it’s a bit of guesswork unless you really go through the datasheet with a fine toothed comb.

I agree that a wiki page could be a good idea and be really helpful. At the end of day, the biggest reason I like Mbed is that it can abstract away a lot of nitty gritty stuff. Maybe you can set up such a page for mbed-ce?

Here ya go, created one: Block Device Support List · mbed-ce/mbed-os Wiki · GitHub . As a project member you should have permission to edit, let me know if that is not the case.

Also I realized you can look in the JSON for some examples, there are a few part numbers listed there: mbed-os/storage/blockdevice/COMPONENT_QSPIF/mbed_lib.json at master · mbed-ce/mbed-os · GitHub .

I added MT25QL512A and S25FL256L into the wiki page. We have EEPROM from ST, M24512 installed on some of our boards, will test it and post back when I have time.