| 1 | # |
| 2 | # YAFFS file system configurations |
| 3 | # |
| 4 | |
| 5 | config YAFFS_FS |
| 6 | tristate "YAFFS2 file system support" |
| 7 | default n |
| 8 | depends on MTD_BLOCK |
| 9 | select YAFFS_YAFFS1 |
| 10 | select YAFFS_YAFFS2 |
| 11 | help |
| 12 | YAFFS2, or Yet Another Flash Filing System, is a filing system |
| 13 | optimised for NAND Flash chips. |
| 14 | |
| 15 | To compile the YAFFS2 file system support as a module, choose M |
| 16 | here: the module will be called yaffs2. |
| 17 | |
| 18 | If unsure, say N. |
| 19 | |
| 20 | Further information on YAFFS2 is available at |
| 21 | <http://www.aleph1.co.uk/yaffs/>. |
| 22 | |
| 23 | config YAFFS_YAFFS1 |
| 24 | bool "512 byte / page devices" |
| 25 | depends on YAFFS_FS |
| 26 | default y |
| 27 | help |
| 28 | Enable YAFFS1 support -- yaffs for 512 byte / page devices |
| 29 | |
| 30 | Not needed for 2K-page devices. |
| 31 | |
| 32 | If unsure, say Y. |
| 33 | |
| 34 | config YAFFS_9BYTE_TAGS |
| 35 | bool "Use older-style on-NAND data format with pageStatus byte" |
| 36 | depends on YAFFS_YAFFS1 |
| 37 | default n |
| 38 | help |
| 39 | |
| 40 | Older-style on-NAND data format has a "pageStatus" byte to record |
| 41 | chunk/page state. This byte is zero when the page is discarded. |
| 42 | Choose this option if you have existing on-NAND data using this |
| 43 | format that you need to continue to support. New data written |
| 44 | also uses the older-style format. Note: Use of this option |
| 45 | generally requires that MTD's oob layout be adjusted to use the |
| 46 | older-style format. See notes on tags formats and MTD versions |
| 47 | in yaffs_mtdif1.c. |
| 48 | |
| 49 | If unsure, say N. |
| 50 | |
| 51 | config YAFFS_DOES_ECC |
| 52 | bool "Lets Yaffs do its own ECC" |
| 53 | depends on YAFFS_FS && YAFFS_YAFFS1 && !YAFFS_9BYTE_TAGS |
| 54 | default n |
| 55 | help |
| 56 | This enables Yaffs to use its own ECC functions instead of using |
| 57 | the ones from the generic MTD-NAND driver. |
| 58 | |
| 59 | If unsure, say N. |
| 60 | |
| 61 | config YAFFS_ECC_WRONG_ORDER |
| 62 | bool "Use the same ecc byte order as Steven Hill's nand_ecc.c" |
| 63 | depends on YAFFS_FS && YAFFS_DOES_ECC && !YAFFS_9BYTE_TAGS |
| 64 | default n |
| 65 | help |
| 66 | This makes yaffs_ecc.c use the same ecc byte order as Steven |
| 67 | Hill's nand_ecc.c. If not set, then you get the same ecc byte |
| 68 | order as SmartMedia. |
| 69 | |
| 70 | If unsure, say N. |
| 71 | |
| 72 | config YAFFS_YAFFS2 |
| 73 | bool "2048 byte (or larger) / page devices" |
| 74 | depends on YAFFS_FS |
| 75 | default y |
| 76 | help |
| 77 | Enable YAFFS2 support -- yaffs for >= 2K bytes per page devices |
| 78 | |
| 79 | If unsure, say Y. |
| 80 | |
| 81 | config YAFFS_AUTO_YAFFS2 |
| 82 | bool "Autoselect yaffs2 format" |
| 83 | depends on YAFFS_YAFFS2 |
| 84 | default y |
| 85 | help |
| 86 | Without this, you need to explicitely use yaffs2 as the file |
| 87 | system type. With this, you can say "yaffs" and yaffs or yaffs2 |
| 88 | will be used depending on the device page size (yaffs on |
| 89 | 512-byte page devices, yaffs2 on 2K page devices). |
| 90 | |
| 91 | If unsure, say Y. |
| 92 | |
| 93 | config YAFFS_DISABLE_TAGS_ECC |
| 94 | bool "Disable YAFFS from doing ECC on tags by default" |
| 95 | depends on YAFFS_FS && YAFFS_YAFFS2 |
| 96 | default n |
| 97 | help |
| 98 | This defaults Yaffs to using its own ECC calculations on tags instead of |
| 99 | just relying on the MTD. |
| 100 | This behavior can also be overridden with tags_ecc_on and |
| 101 | tags_ecc_off mount options. |
| 102 | |
| 103 | If unsure, say N. |
| 104 | |
| 105 | |
| 106 | config YAFFS_DISABLE_WIDE_TNODES |
| 107 | bool "Turn off wide tnodes" |
| 108 | depends on YAFFS_FS |
| 109 | default n |
| 110 | help |
| 111 | Wide tnodes are only used for NAND arrays >=32MB for 512-byte |
| 112 | page devices and >=128MB for 2k page devices. They use slightly |
| 113 | more RAM but are faster since they eliminate chunk group |
| 114 | searching. |
| 115 | |
| 116 | Setting this to 'y' will force tnode width to 16 bits and save |
| 117 | memory but make large arrays slower. |
| 118 | |
| 119 | If unsure, say N. |
| 120 | |
| 121 | config YAFFS_ALWAYS_CHECK_CHUNK_ERASED |
| 122 | bool "Force chunk erase check" |
| 123 | depends on YAFFS_FS |
| 124 | default n |
| 125 | help |
| 126 | Normally YAFFS only checks chunks before writing until an erased |
| 127 | chunk is found. This helps to detect any partially written |
| 128 | chunks that might have happened due to power loss. |
| 129 | |
| 130 | Enabling this forces on the test that chunks are erased in flash |
| 131 | before writing to them. This takes more time but is potentially |
| 132 | a bit more secure. |
| 133 | |
| 134 | Suggest setting Y during development and ironing out driver |
| 135 | issues etc. Suggest setting to N if you want faster writing. |
| 136 | |
| 137 | If unsure, say Y. |
| 138 | |
| 139 | config YAFFS_SHORT_NAMES_IN_RAM |
| 140 | bool "Cache short names in RAM" |
| 141 | depends on YAFFS_FS |
| 142 | default y |
| 143 | help |
| 144 | If this config is set, then short names are stored with the |
| 145 | yaffs_Object. This costs an extra 16 bytes of RAM per object, |
| 146 | but makes look-ups faster. |
| 147 | |
| 148 | If unsure, say Y. |
| 149 | |
| 150 | config YAFFS_EMPTY_LOST_AND_FOUND |
| 151 | bool "Empty lost and found on boot" |
| 152 | depends on YAFFS_FS |
| 153 | default n |
| 154 | help |
| 155 | If this is enabled then the contents of lost and found is |
| 156 | automatically dumped at mount. |
| 157 | |
| 158 | If unsure, say N. |
| 159 | |
| 160 | config YAFFS_DISABLE_BLOCK_REFRESHING |
| 161 | bool "Disable yaffs2 block refreshing" |
| 162 | depends on YAFFS_FS |
| 163 | default n |
| 164 | help |
| 165 | If this is set, then block refreshing is disabled. |
| 166 | Block refreshing infrequently refreshes the oldest block in |
| 167 | a yaffs2 file system. This mechanism helps to refresh flash to |
| 168 | mitigate against data loss. This is particularly useful for MLC. |
| 169 | |
| 170 | If unsure, say N. |
| 171 | |
| 172 | config YAFFS_DISABLE_BACKGROUND |
| 173 | bool "Disable yaffs2 background processing" |
| 174 | depends on YAFFS_FS |
| 175 | default n |
| 176 | help |
| 177 | If this is set, then background processing is disabled. |
| 178 | Background processing makes many foreground activities faster. |
| 179 | |
| 180 | If unsure, say N. |
| 181 | |
| 182 | config YAFFS_XATTR |
| 183 | bool "Enable yaffs2 xattr support" |
| 184 | depends on YAFFS_FS |
| 185 | default y |
| 186 | help |
| 187 | If this is set then yaffs2 will provide xattr support. |
| 188 | If unsure, say Y. |
| 189 | |
| 190 | |
| 191 | |