The MTD subsystem has historically tried to be as configurable as possible. The side-effect of this is that its configuration menu is rather large, and we are gradually shrinking it. For example, we recently merged partitions support with the mtdcore. This patch does the next step - it merges the mtdchar module to mtdcore. And in this case this is not only about eliminating too fine-grained separation and simplifying the configuration menu. This is also about eliminating seemingly useless kernel module. Indeed, mtdchar is a module that allows user-space making use of MTD devices via /dev/mtd* character devices. If users do not enable it, they simply cannot use MTD devices at all. They cannot read or write the flash contents. Is it a sane and useful setup? I believe not. And everyone just enables mtdchar. Having mtdchar separate is also a little bit harmful. People sometimes miss the fact that they need to enable an additional configuration option to have user-space MTD interfaces, and then they wonder why on earth the kernel does not allow using the flash? They spend time asking around. Thus, let's just get rid of this module and make it part of mtd core. Note, mtdchar had additional configuration option to enable OTP interfaces, which are present on some flashes. I removed that option as well - it saves a really tiny amount space. [dwmw2: Strictly speaking, you can mount file systems on MTD devices just fine without the mtdchar (or mtdblock) devices; you just can't do other manipulations directly on the underlying device. But still I agree that it makes sense to make this unconditional. And Yay! we get to kill off an instance of checking CONFIG_foo_MODULE, which is an abomination that should never happen.] Signed-off-by: Artem Bityutskiy <artem.bityutskiy@linux.intel.com> Signed-off-by: David Woodhouse <David.Woodhouse@intel.com>
77 lines
2.6 KiB
Plaintext
77 lines
2.6 KiB
Plaintext
menuconfig MTD_ONENAND
|
|
tristate "OneNAND Device Support"
|
|
depends on MTD
|
|
depends on HAS_IOMEM
|
|
help
|
|
This enables support for accessing all type of OneNAND flash
|
|
devices. For further information see
|
|
<http://www.samsung.com/Products/Semiconductor/OneNAND/index.htm>
|
|
|
|
if MTD_ONENAND
|
|
|
|
config MTD_ONENAND_VERIFY_WRITE
|
|
bool "Verify OneNAND page writes"
|
|
help
|
|
This adds an extra check when data is written to the flash. The
|
|
OneNAND flash device internally checks only bits transitioning
|
|
from 1 to 0. There is a rare possibility that even though the
|
|
device thinks the write was successful, a bit could have been
|
|
flipped accidentally due to device wear or something else.
|
|
|
|
config MTD_ONENAND_GENERIC
|
|
tristate "OneNAND Flash device via platform device driver"
|
|
help
|
|
Support for OneNAND flash via platform device driver.
|
|
|
|
config MTD_ONENAND_OMAP2
|
|
tristate "OneNAND on OMAP2/OMAP3 support"
|
|
depends on ARCH_OMAP2 || ARCH_OMAP3
|
|
help
|
|
Support for a OneNAND flash device connected to an OMAP2/OMAP3 CPU
|
|
via the GPMC memory controller.
|
|
|
|
config MTD_ONENAND_SAMSUNG
|
|
tristate "OneNAND on Samsung SOC controller support"
|
|
depends on ARCH_S3C64XX || ARCH_S5PC100 || ARCH_S5PV210 || ARCH_EXYNOS4
|
|
help
|
|
Support for a OneNAND flash device connected to an Samsung SOC.
|
|
S3C64XX/S5PC100 use command mapping method.
|
|
S5PC110/S5PC210 use generic OneNAND method.
|
|
|
|
config MTD_ONENAND_OTP
|
|
bool "OneNAND OTP Support"
|
|
help
|
|
One Block of the NAND Flash Array memory is reserved as
|
|
a One-Time Programmable Block memory area.
|
|
Also, 1st Block of NAND Flash Array can be used as OTP.
|
|
|
|
The OTP block can be read, programmed and locked using the same
|
|
operations as any other NAND Flash Array memory block.
|
|
OTP block cannot be erased.
|
|
|
|
OTP block is fully-guaranteed to be a valid block.
|
|
|
|
config MTD_ONENAND_2X_PROGRAM
|
|
bool "OneNAND 2X program support"
|
|
help
|
|
The 2X Program is an extension of Program Operation.
|
|
Since the device is equipped with two DataRAMs, and two-plane NAND
|
|
Flash memory array, these two component enables simultaneous program
|
|
of 4KiB. Plane1 has only even blocks such as block0, block2, block4
|
|
while Plane2 has only odd blocks such as block1, block3, block5.
|
|
So MTD regards it as 4KiB page size and 256KiB block size
|
|
|
|
Now the following chips support it. (KFXXX16Q2M)
|
|
Demux: KFG2G16Q2M, KFH4G16Q2M, KFW8G16Q2M,
|
|
Mux: KFM2G16Q2M, KFN4G16Q2M,
|
|
|
|
And more recent chips
|
|
|
|
config MTD_ONENAND_SIM
|
|
tristate "OneNAND simulator support"
|
|
help
|
|
The simulator may simulate various OneNAND flash chips for the
|
|
OneNAND MTD layer.
|
|
|
|
endif # MTD_ONENAND
|