| # SPDX-License-Identifier: GPL-2.0-only |
| 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. |
| |
| 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 |
| depends on OF || COMPILE_TEST |
| help |
| Support for a OneNAND flash device connected to an OMAP2/OMAP3 SoC |
| via the GPMC memory controller. |
| Enable dmaengine and gpiolib for better performance. |
| |
| config MTD_ONENAND_SAMSUNG |
| tristate "OneNAND on Samsung SOC controller support" |
| depends on ARCH_S3C64XX || ARCH_S5PV210 || ARCH_EXYNOS4 |
| help |
| Support for a OneNAND flash device connected to an Samsung SOC. |
| S3C64XX uses 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 |
| |
| endif # MTD_ONENAND |