Kconfig 5.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176
  1. #
  2. # YAFFS file system configurations
  3. #
  4. config YAFFS_FS
  5. tristate "YAFFS2 file system support"
  6. default n
  7. depends on MTD
  8. select YAFFS_YAFFS1
  9. select YAFFS_YAFFS2
  10. help
  11. YAFFS2, or Yet Another Flash Filing System, is a filing system
  12. optimised for NAND Flash chips.
  13. To compile the YAFFS2 file system support as a module, choose M
  14. here: the module will be called yaffs2.
  15. If unsure, say N.
  16. Further information on YAFFS2 is available at
  17. <http://www.aleph1.co.uk/yaffs/>.
  18. config YAFFS_YAFFS1
  19. bool "512 byte / page devices"
  20. depends on YAFFS_FS
  21. default y
  22. help
  23. Enable YAFFS1 support -- yaffs for 512 byte / page devices
  24. Not needed for 2K-page devices.
  25. If unsure, say Y.
  26. config YAFFS_9BYTE_TAGS
  27. bool "Use older-style on-NAND data format with pageStatus byte"
  28. depends on YAFFS_YAFFS1
  29. default n
  30. help
  31. Older-style on-NAND data format has a "pageStatus" byte to record
  32. chunk/page state. This byte is zero when the page is discarded.
  33. Choose this option if you have existing on-NAND data using this
  34. format that you need to continue to support. New data written
  35. also uses the older-style format. Note: Use of this option
  36. generally requires that MTD's oob layout be adjusted to use the
  37. older-style format. See notes on tags formats and MTD versions
  38. in yaffs_mtdif1.c.
  39. If unsure, say N.
  40. config YAFFS_DOES_ECC
  41. bool "Lets Yaffs do its own ECC"
  42. depends on YAFFS_FS && YAFFS_YAFFS1 && !YAFFS_9BYTE_TAGS
  43. default n
  44. help
  45. This enables Yaffs to use its own ECC functions instead of using
  46. the ones from the generic MTD-NAND driver.
  47. If unsure, say N.
  48. config YAFFS_ECC_WRONG_ORDER
  49. bool "Use the same ecc byte order as Steven Hill's nand_ecc.c"
  50. depends on YAFFS_FS && YAFFS_DOES_ECC && !YAFFS_9BYTE_TAGS
  51. default n
  52. help
  53. This makes yaffs_ecc.c use the same ecc byte order as Steven
  54. Hill's nand_ecc.c. If not set, then you get the same ecc byte
  55. order as SmartMedia.
  56. If unsure, say N.
  57. config YAFFS_YAFFS2
  58. bool "2048 byte (or larger) / page devices"
  59. depends on YAFFS_FS
  60. default y
  61. help
  62. Enable YAFFS2 support -- yaffs for >= 2K bytes per page devices
  63. If unsure, say Y.
  64. config YAFFS_AUTO_YAFFS2
  65. bool "Autoselect yaffs2 format"
  66. depends on YAFFS_YAFFS2
  67. default y
  68. help
  69. Without this, you need to explicitely use yaffs2 as the file
  70. system type. With this, you can say "yaffs" and yaffs or yaffs2
  71. will be used depending on the device page size (yaffs on
  72. 512-byte page devices, yaffs2 on 2K page devices).
  73. If unsure, say Y.
  74. config YAFFS_DISABLE_LAZY_LOAD
  75. bool "Disable lazy loading"
  76. depends on YAFFS_YAFFS2
  77. default n
  78. help
  79. "Lazy loading" defers loading file details until they are
  80. required. This saves mount time, but makes the first look-up
  81. a bit longer.
  82. Lazy loading will only happen if enabled by this option being 'n'
  83. and if the appropriate tags are available, else yaffs2 will
  84. automatically fall back to immediate loading and do the right
  85. thing.
  86. Lazy laoding will be required by checkpointing.
  87. Setting this to 'y' will disable lazy loading.
  88. If unsure, say N.
  89. config YAFFS_CHECKPOINT_RESERVED_BLOCKS
  90. int "Reserved blocks for checkpointing"
  91. depends on YAFFS_YAFFS2
  92. default 10
  93. help
  94. Give the number of Blocks to reserve for checkpointing.
  95. Checkpointing saves the state at unmount so that mounting is
  96. much faster as a scan of all the flash to regenerate this state
  97. is not needed. These Blocks are reserved per partition, so if
  98. you have very small partitions the default (10) may be a mess
  99. for you. You can set this value to 0, but that does not mean
  100. checkpointing is disabled at all. There only won't be any
  101. specially reserved blocks for checkpointing, so if there is
  102. enough free space on the filesystem, it will be used for
  103. checkpointing.
  104. If unsure, leave at default (10), but don't wonder if there are
  105. always 2MB used on your large page device partition (10 x 2k
  106. pagesize). When using small partitions or when being very small
  107. on space, you probably want to set this to zero.
  108. config YAFFS_DISABLE_WIDE_TNODES
  109. bool "Turn off wide tnodes"
  110. depends on YAFFS_FS
  111. default n
  112. help
  113. Wide tnodes are only used for NAND arrays >=32MB for 512-byte
  114. page devices and >=128MB for 2k page devices. They use slightly
  115. more RAM but are faster since they eliminate chunk group
  116. searching.
  117. Setting this to 'y' will force tnode width to 16 bits and save
  118. memory but make large arrays slower.
  119. If unsure, say N.
  120. config YAFFS_ALWAYS_CHECK_CHUNK_ERASED
  121. bool "Force chunk erase check"
  122. depends on YAFFS_FS
  123. default n
  124. help
  125. Normally YAFFS only checks chunks before writing until an erased
  126. chunk is found. This helps to detect any partially written
  127. chunks that might have happened due to power loss.
  128. Enabling this forces on the test that chunks are erased in flash
  129. before writing to them. This takes more time but is potentially
  130. a bit more secure.
  131. Suggest setting Y during development and ironing out driver
  132. issues etc. Suggest setting to N if you want faster writing.
  133. If unsure, say Y.
  134. config YAFFS_SHORT_NAMES_IN_RAM
  135. bool "Cache short names in RAM"
  136. depends on YAFFS_FS
  137. default y
  138. help
  139. If this config is set, then short names are stored with the
  140. yaffs_Object. This costs an extra 16 bytes of RAM per object,
  141. but makes look-ups faster.
  142. If unsure, say Y.