1# SPDX-License-Identifier: GPL-2.0-only 2menuconfig MTD_ONENAND 3 tristate "OneNAND Device Support" 4 depends on HAS_IOMEM 5 help 6 This enables support for accessing all type of OneNAND flash 7 devices. 8 9if MTD_ONENAND 10 11config MTD_ONENAND_VERIFY_WRITE 12 bool "Verify OneNAND page writes" 13 help 14 This adds an extra check when data is written to the flash. The 15 OneNAND flash device internally checks only bits transitioning 16 from 1 to 0. There is a rare possibility that even though the 17 device thinks the write was successful, a bit could have been 18 flipped accidentally due to device wear or something else. 19 20config MTD_ONENAND_GENERIC 21 tristate "OneNAND Flash device via platform device driver" 22 help 23 Support for OneNAND flash via platform device driver. 24 25config MTD_ONENAND_OMAP2 26 tristate "OneNAND on OMAP2/OMAP3 support" 27 depends on ARCH_OMAP2 || ARCH_OMAP3 || (COMPILE_TEST && ARM) 28 depends on OF 29 depends on OMAP_GPMC 30 help 31 Support for a OneNAND flash device connected to an OMAP2/OMAP3 SoC 32 via the GPMC memory controller. 33 Enable dmaengine and gpiolib for better performance. 34 35config MTD_ONENAND_SAMSUNG 36 tristate "OneNAND on Samsung SOC controller support" 37 depends on ARCH_S3C64XX || ARCH_S5PV210 || COMPILE_TEST 38 help 39 Support for a OneNAND flash device connected to Samsung S3C64XX 40 (using command mapping method) and S5PC110/S5PC210 (using generic 41 OneNAND method) SoCs. 42 Choose Y here only if you build for such Samsung SoC. 43 44config MTD_ONENAND_OTP 45 bool "OneNAND OTP Support" 46 help 47 One Block of the NAND Flash Array memory is reserved as 48 a One-Time Programmable Block memory area. 49 Also, 1st Block of NAND Flash Array can be used as OTP. 50 51 The OTP block can be read, programmed and locked using the same 52 operations as any other NAND Flash Array memory block. 53 OTP block cannot be erased. 54 55 OTP block is fully-guaranteed to be a valid block. 56 57config MTD_ONENAND_2X_PROGRAM 58 bool "OneNAND 2X program support" 59 help 60 The 2X Program is an extension of Program Operation. 61 Since the device is equipped with two DataRAMs, and two-plane NAND 62 Flash memory array, these two component enables simultaneous program 63 of 4KiB. Plane1 has only even blocks such as block0, block2, block4 64 while Plane2 has only odd blocks such as block1, block3, block5. 65 So MTD regards it as 4KiB page size and 256KiB block size 66 67 Now the following chips support it. (KFXXX16Q2M) 68 Demux: KFG2G16Q2M, KFH4G16Q2M, KFW8G16Q2M, 69 Mux: KFM2G16Q2M, KFN4G16Q2M, 70 71 And more recent chips 72 73endif # MTD_ONENAND 74