QSPIFBlockDevice: Add quirk for inconsistent CR3NV register value
Cypress S25FS512S's SFDP table suggests that bit-1 of the register
CR3NV on 25FS512S should equal 1. But it is a known issue that the
value is actually 0 on hardware. So if we query the value of CR3NV
during configuration detection, we can't find a configuration that
matches the SFDP data. This issue has been discussed in the Linux MTD
(Memory Technology Devices) mailing list:
https://linux-mtd.infradead.narkive.com/ylHK6CyT/spi-nor-fs512s-incorrect-cr3nv-1-value

This commit adds a quirk to report bit-1 of CR3NV as 1.

Note: In Mbed OS, vendor-specific quirks can only be handled in block
devices. The SFDP functions assume data from hardware to be correct.
So this quirk is in the block device.
ls
1 parent 8dfad16 commit 6032671b41eebdcdb38b70593e67ba689a3c82df
@Lingkai Dong Lingkai Dong authored on 7 Sep 2021
Showing 2 changed files
View
storage/blockdevice/COMPONENT_QSPIF/include/QSPIF/QSPIFBlockDevice.h
View
storage/blockdevice/COMPONENT_QSPIF/source/QSPIFBlockDevice.cpp