13#ifndef ZEPHYR_INCLUDE_FS_LITTLEFS_H_
14#define ZEPHYR_INCLUDE_FS_LITTLEFS_H_
32#define FS_LITTLEFS_DISK_VERSION_MAJOR_GET(disk_version) FIELD_GET(GENMASK(31, 16), disk_version)
40#define FS_LITTLEFS_DISK_VERSION_MINOR_GET(disk_version) FIELD_GET(GENMASK(15, 0), disk_version)
45 struct lfs_config
cfg;
94#define FS_LITTLEFS_DECLARE_CUSTOM_CONFIG(name, alignment, read_sz, prog_sz, cache_sz, \
96 static uint8_t __aligned(alignment) name ## _read_buffer[cache_sz]; \
97 static uint8_t __aligned(alignment) name ## _prog_buffer[cache_sz]; \
98 static uint32_t name ## _lookahead_buffer[(lookahead_sz) / sizeof(uint32_t)]; \
99 static struct fs_littlefs name = { \
101 .read_size = (read_sz), \
102 .prog_size = (prog_sz), \
103 .cache_size = (cache_sz), \
104 .lookahead_size = (lookahead_sz), \
105 .read_buffer = name ## _read_buffer, \
106 .prog_buffer = name ## _prog_buffer, \
107 .lookahead_buffer = name ## _lookahead_buffer, \
120#define FS_LITTLEFS_DECLARE_DEFAULT_CONFIG(name) \
121 FS_LITTLEFS_DECLARE_CUSTOM_CONFIG(name, \
123 CONFIG_FS_LITTLEFS_READ_SIZE, \
124 CONFIG_FS_LITTLEFS_PROG_SIZE, \
125 CONFIG_FS_LITTLEFS_CACHE_SIZE, \
126 CONFIG_FS_LITTLEFS_LOOKAHEAD_SIZE)
Public API for flash map.
__UINT32_TYPE__ uint32_t
Definition stdint.h:90
__UINT8_TYPE__ uint8_t
Definition stdint.h:88
Filesystem info structure for LittleFS mount.
Definition littlefs.h:43
void * backend
Storage backend, filled automatically at mount.
Definition littlefs.h:61
uint8_t * prog_buffer
Program cache buffer, must be cfg.cache_size.
Definition littlefs.h:51
struct k_mutex mutex
Mutex protecting the instance, filled automatically at mount.
Definition littlefs.h:63
struct lfs lfs
littlefs state, filled automatically at mount.
Definition littlefs.h:59
uint32_t * lookahead_buffer[CONFIG_FS_LITTLEFS_LOOKAHEAD_SIZE/sizeof(uint32_t)]
Lookahead buffer, must be cfg.lookahead_size/4 elements, and cfg.lookahead_size must be a multiple of...
Definition littlefs.h:56
struct lfs_config cfg
littlefs configuration, defaulted in driver, customizable before mount.
Definition littlefs.h:45
uint8_t * read_buffer
Read cache buffer, must be cfg.cache_size.
Definition littlefs.h:48
Kernel mutex structure.
Definition kernel.h:3572