Jan Engelhardt | ec98c68 | 2007-04-19 16:21:41 -0500 | [diff] [blame] | 1 | menuconfig MTD_ONENAND |
Kyungmin Park | cd5f634 | 2005-07-11 11:41:53 +0100 | [diff] [blame] | 2 | tristate "OneNAND Device Support" |
| 3 | depends on MTD |
Paul Mundt | 0acfe53 | 2009-08-07 12:34:48 +0900 | [diff] [blame] | 4 | select MTD_PARTITIONS |
Kyungmin Park | cd5f634 | 2005-07-11 11:41:53 +0100 | [diff] [blame] | 5 | help |
| 6 | This enables support for accessing all type of OneNAND flash |
| 7 | devices. For further information see |
Kyungmin Park | c19df27 | 2007-04-25 11:05:48 +0100 | [diff] [blame] | 8 | <http://www.samsung.com/Products/Semiconductor/OneNAND/index.htm> |
Kyungmin Park | cd5f634 | 2005-07-11 11:41:53 +0100 | [diff] [blame] | 9 | |
Jan Engelhardt | ec98c68 | 2007-04-19 16:21:41 -0500 | [diff] [blame] | 10 | if MTD_ONENAND |
| 11 | |
Kyungmin Park | cd5f634 | 2005-07-11 11:41:53 +0100 | [diff] [blame] | 12 | config MTD_ONENAND_VERIFY_WRITE |
| 13 | bool "Verify OneNAND page writes" |
Kyungmin Park | cd5f634 | 2005-07-11 11:41:53 +0100 | [diff] [blame] | 14 | help |
| 15 | This adds an extra check when data is written to the flash. The |
| 16 | OneNAND flash device internally checks only bits transitioning |
| 17 | from 1 to 0. There is a rare possibility that even though the |
| 18 | device thinks the write was successful, a bit could have been |
Matt LaPlante | 0950960 | 2006-10-03 22:31:37 +0200 | [diff] [blame] | 19 | flipped accidentally due to device wear or something else. |
Kyungmin Park | cd5f634 | 2005-07-11 11:41:53 +0100 | [diff] [blame] | 20 | |
Kyungmin Park | 68ee4b1 | 2005-09-09 07:39:50 +0100 | [diff] [blame] | 21 | config MTD_ONENAND_GENERIC |
Thomas Gleixner | 46d0d0f | 2005-11-07 01:14:05 +0100 | [diff] [blame] | 22 | tristate "OneNAND Flash device via platform device driver" |
Kyungmin Park | 68ee4b1 | 2005-09-09 07:39:50 +0100 | [diff] [blame] | 23 | help |
Thomas Gleixner | 46d0d0f | 2005-11-07 01:14:05 +0100 | [diff] [blame] | 24 | Support for OneNAND flash via platform device driver. |
Kyungmin Park | 68ee4b1 | 2005-09-09 07:39:50 +0100 | [diff] [blame] | 25 | |
Adrian Hunter | 36cd4fb | 2008-08-06 10:08:46 +0300 | [diff] [blame] | 26 | config MTD_ONENAND_OMAP2 |
| 27 | tristate "OneNAND on OMAP2/OMAP3 support" |
| 28 | depends on MTD_ONENAND && (ARCH_OMAP2 || ARCH_OMAP3) |
| 29 | help |
| 30 | Support for a OneNAND flash device connected to an OMAP2/OMAP3 CPU |
| 31 | via the GPMC memory controller. |
| 32 | |
Kyungmin Park | 46f3e88 | 2010-04-28 17:46:49 +0200 | [diff] [blame] | 33 | config MTD_ONENAND_SAMSUNG |
| 34 | tristate "OneNAND on Samsung SOC controller support" |
| 35 | depends on MTD_ONENAND && (ARCH_S3C64XX || ARCH_S5PC100 || ARCH_S5PV210) |
| 36 | help |
| 37 | Support for a OneNAND flash device connected to an Samsung SOC |
| 38 | S3C64XX/S5PC1XX controller. |
| 39 | |
Kyungmin Park | 493c646 | 2006-05-12 17:03:07 +0300 | [diff] [blame] | 40 | config MTD_ONENAND_OTP |
| 41 | bool "OneNAND OTP Support" |
David Brownell | 34a8244 | 2008-07-30 12:35:05 -0700 | [diff] [blame] | 42 | select HAVE_MTD_OTP |
Kyungmin Park | 493c646 | 2006-05-12 17:03:07 +0300 | [diff] [blame] | 43 | help |
| 44 | One Block of the NAND Flash Array memory is reserved as |
| 45 | a One-Time Programmable Block memory area. |
| 46 | Also, 1st Block of NAND Flash Array can be used as OTP. |
| 47 | |
| 48 | The OTP block can be read, programmed and locked using the same |
| 49 | operations as any other NAND Flash Array memory block. |
| 50 | OTP block cannot be erased. |
| 51 | |
| 52 | OTP block is fully-guaranteed to be a valid block. |
| 53 | |
Kyungmin Park | ee9745f | 2007-06-30 13:57:49 +0900 | [diff] [blame] | 54 | config MTD_ONENAND_2X_PROGRAM |
| 55 | bool "OneNAND 2X program support" |
| 56 | help |
| 57 | The 2X Program is an extension of Program Operation. |
| 58 | Since the device is equipped with two DataRAMs, and two-plane NAND |
| 59 | Flash memory array, these two component enables simultaneous program |
| 60 | of 4KiB. Plane1 has only even blocks such as block0, block2, block4 |
| 61 | while Plane2 has only odd blocks such as block1, block3, block5. |
| 62 | So MTD regards it as 4KiB page size and 256KiB block size |
| 63 | |
| 64 | Now the following chips support it. (KFXXX16Q2M) |
| 65 | Demux: KFG2G16Q2M, KFH4G16Q2M, KFW8G16Q2M, |
| 66 | Mux: KFM2G16Q2M, KFN4G16Q2M, |
| 67 | |
| 68 | And more recent chips |
| 69 | |
Kyungmin Park | 8dab169 | 2007-06-30 14:14:43 +0900 | [diff] [blame] | 70 | config MTD_ONENAND_SIM |
| 71 | tristate "OneNAND simulator support" |
Kyungmin Park | 8dab169 | 2007-06-30 14:14:43 +0900 | [diff] [blame] | 72 | help |
| 73 | The simulator may simulate various OneNAND flash chips for the |
| 74 | OneNAND MTD layer. |
| 75 | |
Jan Engelhardt | ec98c68 | 2007-04-19 16:21:41 -0500 | [diff] [blame] | 76 | endif # MTD_ONENAND |