diff --git a/subsys/fs/shell.c b/subsys/fs/shell.c index 2912334f7bf..28c7fbd4ff2 100644 --- a/subsys/fs/shell.c +++ b/subsys/fs/shell.c @@ -11,6 +11,7 @@ #include #include #include +#include #include #include #include @@ -34,6 +35,33 @@ static struct fs_mount_t fatfs_mnt = { /* LITTLEFS */ #ifdef CONFIG_FILE_SYSTEM_LITTLEFS #include + +/* TODO: Implement dynamic storage dev selection */ +#ifdef CONFIG_FS_LITTLEFS_BLK_DEV + +#if defined(CONFIG_DISK_DRIVER_SDMMC) +#define DISK_NAME CONFIG_SDMMC_VOLUME_NAME +#elif defined(CONFIG_DISK_DRIVER_MMC) +#define DISK_NAME CONFIG_MMC_VOLUME_NAME +#else +#error "No disk device defined, is your board supported?" +#endif + +FS_LITTLEFS_DECLARE_CUSTOM_CONFIG( + lfs_data, + CONFIG_SDHC_BUFFER_ALIGNMENT, + SDMMC_DEFAULT_BLOCK_SIZE, + SDMMC_DEFAULT_BLOCK_SIZE, + SDMMC_DEFAULT_BLOCK_SIZE, + 2 * SDMMC_DEFAULT_BLOCK_SIZE); + +static struct fs_mount_t littlefs_mnt = { + .type = FS_LITTLEFS, + .fs_data = &lfs_data, + .flags = FS_MOUNT_FLAG_USE_DISK_ACCESS, + .storage_dev = DISK_NAME, +}; +#else #include FS_LITTLEFS_DECLARE_DEFAULT_CONFIG(lfs_data); @@ -43,6 +71,7 @@ static struct fs_mount_t littlefs_mnt = { .storage_dev = (void *)STORAGE_PARTITION_ID, }; #endif +#endif #define BUF_CNT 64