mirror of
https://github.com/torvalds/linux.git
synced 2024-11-08 05:01:48 +00:00
57cf26c1b2
Current situation with 4K sectors is quite messy. First of all, some MTD "users" don't work with such small size. An example may be UBIFS which requires 15 KiB erase blocks as a minimum. In theory spi-nor should provide multiple erase regions and MTD "users" should use the one they need. Unforunately that is not implemented. In the result our flashes database in spi-nor is hackish. For some flashes we pretend they don't support 4K sectors just because some distribution uses UBIFS on it. This ofc leads to conflicts, like Samsung using w25q128 with 4K sectors vs. OpenWrt requiring it to pretend it's 64 KiB blocks only. My idea (plan?) for fixing this situation: 1) Use real hw info (this requires a way for disabling 4K for now) 2) Provide detailed info about erase regions 3) Make UBIFS work with devices that support 4K sectors Signed-off-by: Rafał Miłecki <zajec5@gmail.com> Signed-off-by: Brian Norris <computersforpeace@gmail.com>
32 lines
1.0 KiB
Plaintext
32 lines
1.0 KiB
Plaintext
menuconfig MTD_SPI_NOR
|
||
tristate "SPI-NOR device support"
|
||
depends on MTD
|
||
help
|
||
This is the framework for the SPI NOR which can be used by the SPI
|
||
device drivers and the SPI-NOR device driver.
|
||
|
||
if MTD_SPI_NOR
|
||
|
||
config MTD_SPI_NOR_USE_4K_SECTORS
|
||
bool "Use small 4096 B erase sectors"
|
||
default y
|
||
help
|
||
Many flash memories support erasing small (4096 B) sectors. Depending
|
||
on the usage this feature may provide performance gain in comparison
|
||
to erasing whole blocks (32/64 KiB).
|
||
Changing a small part of the flash's contents is usually faster with
|
||
small sectors. On the other hand erasing should be faster when using
|
||
64 KiB block instead of 16 × 4 KiB sectors.
|
||
|
||
Please note that some tools/drivers/filesystems may not work with
|
||
4096 B erase size (e.g. UBIFS requires 15 KiB as a minimum).
|
||
|
||
config SPI_FSL_QUADSPI
|
||
tristate "Freescale Quad SPI controller"
|
||
depends on ARCH_MXC
|
||
help
|
||
This enables support for the Quad SPI controller in master mode.
|
||
We only connect the NOR to this controller now.
|
||
|
||
endif # MTD_SPI_NOR
|