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.