| menu "UBI support" | |
| config CONFIG_UBI_SILENCE_MSG | |
| bool "UBI silence verbose messages" | |
| default ENV_IS_IN_UBI | |
| help | |
| Make the verbose messages from UBI stop printing. This leaves | |
| warnings and errors enabled. | |
| config MTD_UBI | |
| bool "Enable UBI - Unsorted block images" | |
| select CRC32 | |
| select RBTREE | |
| select MTD_PARTITIONS | |
| help | |
| UBI is a software layer above MTD layer which admits of LVM-like | |
| logical volumes on top of MTD devices, hides some complexities of | |
| flash chips like wear and bad blocks and provides some other useful | |
| capabilities. Please, consult the MTD web site for more details | |
| (www.linux-mtd.infradead.org). | |
| if MTD_UBI | |
| config MTD_PARTITIONS | |
| bool "Enable mtd part" | |
| default y | |
| help | |
| Sometimes user want partitions their mtd device, it't helpful to their management and operates their storage device in logic partition, enable this, mtd driver will support partitions. | |
| config MTD_UBI_WL_THRESHOLD | |
| int "UBI wear-leveling threshold" | |
| default 4096 | |
| range 2 65536 | |
| help | |
| This parameter defines the maximum difference between the highest | |
| erase counter value and the lowest erase counter value of eraseblocks | |
| of UBI devices. When this threshold is exceeded, UBI starts performing | |
| wear leveling by means of moving data from eraseblock with low erase | |
| counter to eraseblocks with high erase counter. | |
| The default value should be OK for SLC NAND flashes, NOR flashes and | |
| other flashes which have eraseblock life-cycle 100000 or more. | |
| However, in case of MLC NAND flashes which typically have eraseblock | |
| life-cycle less than 10000, the threshold should be lessened (e.g., | |
| to 128 or 256, although it does not have to be power of 2). | |
| config MTD_UBI_BEB_LIMIT | |
| int "Maximum expected bad eraseblock count per 1024 eraseblocks" | |
| default 20 | |
| range 0 768 | |
| help | |
| This option specifies the maximum bad physical eraseblocks UBI | |
| expects on the MTD device (per 1024 eraseblocks). If the underlying | |
| flash does not admit of bad eraseblocks (e.g. NOR flash), this value | |
| is ignored. | |
| NAND datasheets often specify the minimum and maximum NVM (Number of | |
| Valid Blocks) for the flashes' endurance lifetime. The maximum | |
| expected bad eraseblocks per 1024 eraseblocks then can be calculated | |
| as "1024 * (1 - MinNVB / MaxNVB)", which gives 20 for most NANDs | |
| (MaxNVB is basically the total count of eraseblocks on the chip). | |
| To put it differently, if this value is 20, UBI will try to reserve | |
| about 1.9% of physical eraseblocks for bad blocks handling. And that | |
| will be 1.9% of eraseblocks on the entire NAND chip, not just the MTD | |
| partition UBI attaches. This means that if you have, say, a NAND | |
| flash chip admits maximum 40 bad eraseblocks, and it is split on two | |
| MTD partitions of the same size, UBI will reserve 40 eraseblocks when | |
| attaching a partition. | |
| This option can be overridden by the "mtd=" UBI module parameter or | |
| by the "attach" ioctl. | |
| Leave the default value if unsure. | |
| config MTD_UBI_FASTMAP | |
| bool "UBI Fastmap (Experimental feature)" | |
| default n | |
| help | |
| Important: this feature is experimental so far and the on-flash | |
| format for fastmap may change in the next kernel versions | |
| Fastmap is a mechanism which allows attaching an UBI device | |
| in nearly constant time. Instead of scanning the whole MTD device it | |
| only has to locate a checkpoint (called fastmap) on the device. | |
| The on-flash fastmap contains all information needed to attach | |
| the device. Using fastmap makes only sense on large devices where | |
| attaching by scanning takes long. UBI will not automatically install | |
| a fastmap on old images, but you can set the UBI module parameter | |
| fm_autoconvert to 1 if you want so. Please note that fastmap-enabled | |
| images are still usable with UBI implementations without | |
| fastmap support. On typical flash devices the whole fastmap fits | |
| into one PEB. UBI will reserve PEBs to hold two fastmaps. | |
| If in doubt, say "N". | |
| config MTD_UBI_FASTMAP_AUTOCONVERT | |
| int "enable UBI Fastmap autoconvert" | |
| depends on MTD_UBI_FASTMAP | |
| default 0 | |
| help | |
| Set this parameter to enable fastmap automatically on images | |
| without a fastmap. | |
| config MTD_UBI_FM_DEBUG | |
| int "Enable UBI fastmap debug" | |
| depends on MTD_UBI_FASTMAP | |
| default 0 | |
| help | |
| Enable UBI fastmap debug | |
| endif # MTD_UBI | |
| endmenu # "Enable UBI - Unsorted block images" |