List of devices natively supported by libquadflash#

libquadflash supports a wide range of flash devices available in the market. Devices with SFDP (Serial Flash Discoverable Parameter) capability expecting 6 dummy clock cycles and capable of 20MHz speeds typically need the least (or no) configuration for use with the tools and the XMOS boot loader.

For devices with an alternate number of dummy cycles, it may be possible to reprogram the device using a non-volatile status register or equivalent to the required value of 6 for compatibility with XMOS boot. This would be indicated in the flash device’s datasheet and can be performed using the XFLASH SPI Command Option.

For devices lacking SFDP support, the tools allow for manual configuration using a Quad-SPI specification file. Refer to the device’s datasheet and Add support for a new flash device for information on the specification file format and advice.

Quad SPI devices may need a non-volatile QE (Quad Enable) bit to be set to be supported by XMOS boot. In some cases the bit may already be set by the manufacturer. If the device supports SFDP the tools will set it automatically when programming the flash.

Historically, libquadflash included a built-in list of natively supported devices similar to the libflash SPI library. This has been removed in favour of SFDP support, which all previously supported devices are capable of. Below is a table of Quad SPI devices that libquadflash has recently been verified against which can be recommended, but this list is not exhaustive - for example, devices in the same family should also be compatible.

Table 45 Examples of flash devices compatible with libquadflash#

Manufacturer

Part Number

Comment

ADESTO

AT25FF161A

Factory-programmed default dummy cycles may be incompatible, but can be reprogrammed using Write Status Register 5 command 71h. XFLASH example: --spi-cmd 0x06 --spi-cmd 0x71 0 0x05 0x20

This sets the fifth register to value 20h, indicating 6 dummy cycles - see the flash device’s datasheet.

AT25FF321A

Ditto.

ISSI

IS25LP016D

IS25LP032

IS25LP064

IS25LP080D

IS25LP128

IS25LQ016B

IS25LQ032B

IS25LQ080B

SPANSION

S25FL116K

S25FL132K

S25FL164K

WINBOND

W25Q128JV

W25Q16JV

W25Q32JV

W25Q64JV