| # |
| # YAFFS file system configurations |
| # |
| |
| config YAFFS_FS |
| tristate "YAFFS2 file system support" |
| default n |
| depends on MTD |
| select YAFFS_YAFFS1 |
| select YAFFS_YAFFS2 |
| help |
| YAFFS2, or Yet Another Flash Filing System, is a filing system |
| optimised for NAND Flash chips. |
| |
| To compile the YAFFS2 file system support as a module, choose M |
| here: the module will be called yaffs2. |
| |
| If unsure, say N. |
| |
| Further information on YAFFS2 is available at |
| <http://www.aleph1.co.uk/yaffs/>. |
| |
| config YAFFS_YAFFS1 |
| bool "512 byte / page devices" |
| depends on YAFFS_FS |
| default y |
| help |
| Enable YAFFS1 support -- yaffs for 512 byte / page devices |
| |
| Not needed for 2K-page devices. |
| |
| If unsure, say Y. |
| |
| config YAFFS_9BYTE_TAGS |
| bool "Use older-style on-NAND data format with pageStatus byte" |
| depends on YAFFS_YAFFS1 |
| default n |
| help |
| |
| Older-style on-NAND data format has a "pageStatus" byte to record |
| chunk/page state. This byte is zero when the page is discarded. |
| Choose this option if you have existing on-NAND data using this |
| format that you need to continue to support. New data written |
| also uses the older-style format. Note: Use of this option |
| generally requires that MTD's oob layout be adjusted to use the |
| older-style format. See notes on tags formats and MTD versions |
| in yaffs_mtdif1.c. |
| |
| If unsure, say N. |
| |
| config YAFFS_DOES_ECC |
| bool "Lets Yaffs do its own ECC" |
| depends on YAFFS_FS && YAFFS_YAFFS1 && !YAFFS_9BYTE_TAGS |
| default n |
| help |
| This enables Yaffs to use its own ECC functions instead of using |
| the ones from the generic MTD-NAND driver. |
| |
| If unsure, say N. |
| |
| config YAFFS_ECC_WRONG_ORDER |
| bool "Use the same ecc byte order as Steven Hill's nand_ecc.c" |
| depends on YAFFS_FS && YAFFS_DOES_ECC && !YAFFS_9BYTE_TAGS |
| default n |
| help |
| This makes yaffs_ecc.c use the same ecc byte order as Steven |
| Hill's nand_ecc.c. If not set, then you get the same ecc byte |
| order as SmartMedia. |
| |
| If unsure, say N. |
| |
| config YAFFS_YAFFS2 |
| bool "2048 byte (or larger) / page devices" |
| depends on YAFFS_FS |
| default y |
| help |
| Enable YAFFS2 support -- yaffs for >= 2K bytes per page devices |
| |
| If unsure, say Y. |
| |
| config YAFFS_AUTO_YAFFS2 |
| bool "Autoselect yaffs2 format" |
| depends on YAFFS_YAFFS2 |
| default y |
| help |
| Without this, you need to explicitely use yaffs2 as the file |
| system type. With this, you can say "yaffs" and yaffs or yaffs2 |
| will be used depending on the device page size (yaffs on |
| 512-byte page devices, yaffs2 on 2K page devices). |
| |
| If unsure, say Y. |
| |
| config YAFFS_DISABLE_LAZY_LOAD |
| bool "Disable lazy loading" |
| depends on YAFFS_YAFFS2 |
| default n |
| help |
| "Lazy loading" defers loading file details until they are |
| required. This saves mount time, but makes the first look-up |
| a bit longer. |
| |
| Lazy loading will only happen if enabled by this option being 'n' |
| and if the appropriate tags are available, else yaffs2 will |
| automatically fall back to immediate loading and do the right |
| thing. |
| |
| Lazy laoding will be required by checkpointing. |
| |
| Setting this to 'y' will disable lazy loading. |
| |
| If unsure, say N. |
| |
| config YAFFS_CHECKPOINT_RESERVED_BLOCKS |
| int "Reserved blocks for checkpointing" |
| depends on YAFFS_YAFFS2 |
| default 10 |
| help |
| Give the number of Blocks to reserve for checkpointing. |
| Checkpointing saves the state at unmount so that mounting is |
| much faster as a scan of all the flash to regenerate this state |
| is not needed. These Blocks are reserved per partition, so if |
| you have very small partitions the default (10) may be a mess |
| for you. You can set this value to 0, but that does not mean |
| checkpointing is disabled at all. There only won't be any |
| specially reserved blocks for checkpointing, so if there is |
| enough free space on the filesystem, it will be used for |
| checkpointing. |
| |
| If unsure, leave at default (10), but don't wonder if there are |
| always 2MB used on your large page device partition (10 x 2k |
| pagesize). When using small partitions or when being very small |
| on space, you probably want to set this to zero. |
| |
| config YAFFS_DISABLE_WIDE_TNODES |
| bool "Turn off wide tnodes" |
| depends on YAFFS_FS |
| default n |
| help |
| Wide tnodes are only used for NAND arrays >=32MB for 512-byte |
| page devices and >=128MB for 2k page devices. They use slightly |
| more RAM but are faster since they eliminate chunk group |
| searching. |
| |
| Setting this to 'y' will force tnode width to 16 bits and save |
| memory but make large arrays slower. |
| |
| If unsure, say N. |
| |
| config YAFFS_ALWAYS_CHECK_CHUNK_ERASED |
| bool "Force chunk erase check" |
| depends on YAFFS_FS |
| default n |
| help |
| Normally YAFFS only checks chunks before writing until an erased |
| chunk is found. This helps to detect any partially written |
| chunks that might have happened due to power loss. |
| |
| Enabling this forces on the test that chunks are erased in flash |
| before writing to them. This takes more time but is potentially |
| a bit more secure. |
| |
| Suggest setting Y during development and ironing out driver |
| issues etc. Suggest setting to N if you want faster writing. |
| |
| If unsure, say Y. |
| |
| config YAFFS_SHORT_NAMES_IN_RAM |
| bool "Cache short names in RAM" |
| depends on YAFFS_FS |
| default y |
| help |
| If this config is set, then short names are stored with the |
| yaffs_Object. This costs an extra 16 bytes of RAM per object, |
| but makes look-ups faster. |
| |
| If unsure, say Y. |