# Copyright (c) 2019 Bolt Innovation Management, LLC # Copyright (c) 2019 Peter Bigot Consulting, LLC # Copyright (c) 2020 Nordic Semiconductor ASA # SPDX-License-Identifier: Apache-2.0 config FILE_SYSTEM_LITTLEFS bool "LittleFS support" depends on FILE_SYSTEM depends on FLASH_MAP depends on FLASH_PAGE_LAYOUT help Enables LittleFS file system support. if FILE_SYSTEM_LITTLEFS menu "LittleFS Settings" visible if FILE_SYSTEM_LITTLEFS config FS_LITTLEFS_NUM_FILES int "Maximum number of opened files" default 4 help This is a global maximum across all mounted littlefs filesystems. config FS_LITTLEFS_NUM_DIRS int "Maximum number of opened directories" default 4 help This is a global maximum across all mounted littlefs filesystems. config FS_LITTLEFS_READ_SIZE int "Minimum size of a block read" default 16 help All read operations will be a multiple of this value. config FS_LITTLEFS_PROG_SIZE int "Minimum size of a block program" default 16 help All program operations will be a multiple of this value. config FS_LITTLEFS_CACHE_SIZE int "Size of block caches in bytes" default 64 help Each cache buffers a portion of a block in RAM. The littlefs needs a read cache, a program cache, and one additional cache per file. Larger caches can improve performance by storing more data and reducing the number of disk accesses. Must be a multiple of the read and program sizes of the underlying flash device, and a factor of the block size. config FS_LITTLEFS_LOOKAHEAD_SIZE int "Size of lookahead buffer in bytes" default 32 help A larger lookahead buffer increases the number of blocks found during an allocation pass. The lookahead buffer is stored as a compact bitmap, so each byte of RAM can track 8 blocks. Must be a multiple of 8. config FS_LITTLEFS_BLOCK_CYCLES int "Number of erase cycles before moving data to another block" default 512 help For dynamic wear leveling, the number of erase cycles before data is moved to another block. Set to a non-positive value to disable leveling. menuconfig FS_LITTLEFS_FC_MEM_POOL bool "Enable flexible file cache sizes for littlefs" help littlefs requires a per-file buffer to cache data. For applications that use the default configuration parameters a memory slab is reserved to support up to FS_LITTLE_FS_NUM_FILES blocks of FS_LITTLEFS_CACHE_SIZE bytes. When applications customize littlefs configurations and support different cache sizes for different partitions this preallocation is inadequate. Select this feature to enable a memory pool allocator for littlefs file caches. if FS_LITTLEFS_FC_MEM_POOL config FS_LITTLEFS_FC_MEM_POOL_MIN_SIZE int "Minimum block size for littlefs file cache memory pool" default 16 config FS_LITTLEFS_FC_MEM_POOL_MAX_SIZE int "Maximum block size for littlefs file cache memory pool" default 1024 config FS_LITTLEFS_FC_MEM_POOL_NUM_BLOCKS int "Number of maximum sized blocks in littlefs file cache memory pool" default 2 endif # FS_LITTLEFS_FC_MEM_POOL endmenu endif # FILE_SYSTEM_LITTLEFS