0001 # SPDX-License-Identifier: GPL-2.0-only
0002 menuconfig MTD_ONENAND
0003 tristate "OneNAND Device Support"
0004 depends on HAS_IOMEM
0005 help
0006 This enables support for accessing all type of OneNAND flash
0007 devices.
0008
0009 if MTD_ONENAND
0010
0011 config MTD_ONENAND_VERIFY_WRITE
0012 bool "Verify OneNAND page writes"
0013 help
0014 This adds an extra check when data is written to the flash. The
0015 OneNAND flash device internally checks only bits transitioning
0016 from 1 to 0. There is a rare possibility that even though the
0017 device thinks the write was successful, a bit could have been
0018 flipped accidentally due to device wear or something else.
0019
0020 config MTD_ONENAND_GENERIC
0021 tristate "OneNAND Flash device via platform device driver"
0022 help
0023 Support for OneNAND flash via platform device driver.
0024
0025 config MTD_ONENAND_OMAP2
0026 tristate "OneNAND on OMAP2/OMAP3 support"
0027 depends on ARCH_OMAP2 || ARCH_OMAP3 || (COMPILE_TEST && ARM)
0028 depends on OF || COMPILE_TEST
0029 help
0030 Support for a OneNAND flash device connected to an OMAP2/OMAP3 SoC
0031 via the GPMC memory controller.
0032 Enable dmaengine and gpiolib for better performance.
0033
0034 config MTD_ONENAND_SAMSUNG
0035 tristate "OneNAND on Samsung SOC controller support"
0036 depends on ARCH_S3C64XX || ARCH_S5PV210 || COMPILE_TEST
0037 help
0038 Support for a OneNAND flash device connected to Samsung S3C64XX
0039 (using command mapping method) and S5PC110/S5PC210 (using generic
0040 OneNAND method) SoCs.
0041 Choose Y here only if you build for such Samsung SoC.
0042
0043 config MTD_ONENAND_OTP
0044 bool "OneNAND OTP Support"
0045 help
0046 One Block of the NAND Flash Array memory is reserved as
0047 a One-Time Programmable Block memory area.
0048 Also, 1st Block of NAND Flash Array can be used as OTP.
0049
0050 The OTP block can be read, programmed and locked using the same
0051 operations as any other NAND Flash Array memory block.
0052 OTP block cannot be erased.
0053
0054 OTP block is fully-guaranteed to be a valid block.
0055
0056 config MTD_ONENAND_2X_PROGRAM
0057 bool "OneNAND 2X program support"
0058 help
0059 The 2X Program is an extension of Program Operation.
0060 Since the device is equipped with two DataRAMs, and two-plane NAND
0061 Flash memory array, these two component enables simultaneous program
0062 of 4KiB. Plane1 has only even blocks such as block0, block2, block4
0063 while Plane2 has only odd blocks such as block1, block3, block5.
0064 So MTD regards it as 4KiB page size and 256KiB block size
0065
0066 Now the following chips support it. (KFXXX16Q2M)
0067 Demux: KFG2G16Q2M, KFH4G16Q2M, KFW8G16Q2M,
0068 Mux: KFM2G16Q2M, KFN4G16Q2M,
0069
0070 And more recent chips
0071
0072 endif # MTD_ONENAND