History: media_drv_ftl_nor_cfi_sfdp_spi

This page describes all changes made to the media_drv_ftl_nor_cfi_sfdp_spi package, the FTL Media Driver for CFI and SFDP SPI NOR, since its release.


1.21 (2021-03-03, 14:23):

  • Introduced the ability to manually set parameters that are normally queried through CFI/SFDP (for example when CFI/SFDP is not working).

1.20 (2020-03-06, 18:30):

  • Full QSPI support added (including QPI)

1.19 (2020-02-11, 08:18):

  • Bugfix: using smaller (for example 4K) block size with large number of blocks (when default NOR_CFI_SFDP_BLOCK_THRESHOLD was increased) could result in invalid FTL configuration, leading to data loss after a power sequence (flash reported as not being low-level formatted).
  • Bugfix: initialization may fail in SPI mode due to uninitialized variable.

1.18 (2019-10-11, 11:16):

  • QSPI quad mode rationalized, automated by driver.
  • QSPI supports 1-1-4 mode (1 line command and address, 4 lines data).
  • Added reset wait time.

1.17 (2019-08-26, 10:21):

  • Added support for use of QSPI in quad mode.

1.16 (2019-05-29, 11:41):

  • Fixed typo in source code.

1.15 (2019-05-20, 12:56):

  • Added support for QSPI interface.

1.14r2 (2018-08-29, 18:04):

  • Document HTML link added to the documentation folder.
  • History and document files renamed to the package name.


  • Handling of a new flash layout (2048 block number * 32 k. block size) added to the legacy mode.


  • Legacy mode (NOR_CFI_SFDP_LEGACY_MODE) was introduced: layout is compatible with version 1.5.


  • Division of flash is supported by setting of NOR_CFI_SFDP_DIVIDED and NOR_CFI_SFDP_BLOCK_NUM1.


  • Works with MDRIVER_FTL v5.x.
  • New configuration options: NOR_CFI_SFDP_STATIC_LIMIT and NOR_CFI_SFDP_STATIC_COUNT.


  • Number of reserved blocks is now configured by NOR_CFI_SFDP_RESERVED_BLOCKS.


  • Support for ERASE SUSPEND/RESUME added with specific flash chips. If FTL is configured with MDRIVER_FTL_IDLE_ERASE, erase operations are started in the background and READ/WRITE operations may suspend them.


  • Updated to work with PSP_SPI major version 3.


  • Timeout handling is changed to use SPI byte cycles instead of a timer.


  • Largest block size is selected if SFDP is supported (originally the smallest block size was used which could cause a slower FTL and higher RAM usage).
  • Some flash parts were not working correctly as the flag status register was polled for RDY/BSY which is not always present. Now flag status register is only used for Micron devices and status register for all other devices.


  • Added support for devices with 128 or 64 64kB blocks.


  • Compiler warnings were eliminated (warnings occurred in 16-bit environment).


  • Check for JEDEC parameter table ID removed, required because some flash parts will not provide this information.


  • Adapted to FTL v3.0.


  • "ftlnor" renamed to "ftl_nor".


  • Initial release.