#
# Copyright (c) 2016 Intel Corporation
#
# SPDX-License-Identifier: Apache-2.0
#

menu "File Systems"

config FILE_SYSTEM
	bool "File system support"
	select DISK_ACCESS
	default n
	help
	Enables support for file system.

if FILE_SYSTEM

choice
	prompt "Supported file systems"
	default NO_FILE_SYSTEM

config NO_FS
	bool "No File System"
	help
	  No file system chosen.

config FAT_FILESYSTEM_ELM
	bool "ELM FAT File System"
	help
	Use the ELM FAT File system implementation.

config FILE_SYSTEM_NFFS
	bool "NFFS file system support"
	select FLASH_PAGE_LAYOUT
	help
	Enables NFFS file system support.
	Note: NFFS requires 1-byte unaligned access to flash thus it
	will not work on devices that support only aligned flash access.

endchoice

config FILE_SYSTEM_SHELL
	bool "Enable file system shell"
	depends on CONSOLE_SHELL
	help
	This shell provides basic browsing of the contents of the
	file system.


menu "NFFS Settings"
	visible if FILE_SYSTEM_NFFS

config FS_NFFS_FLASH_DEV_NAME
	string
	prompt "Flash device name to be used"

config FS_NFFS_NUM_INODES
	int "Maximum number of inodes"
	range 1 32768
	default 100

config FS_NFFS_NUM_BLOCKS
	int "Maximum number of blocks"
	range 1 32768
	default 100

config FS_NFFS_NUM_FILES
	int "Maximum number of opened files"
	range 1 256
	default 4

config FS_NFFS_NUM_DIRS
	int "Maximum number of opened directories"
	range 1 256
	default 4

config FS_NFFS_NUM_CACHE_INODES
	int "Number of cached files' inodes"
	range 1 512
	default 4

config FS_NFFS_NUM_CACHE_BLOCKS
	int "Number of cached blocks"
	range 1 512
	default 64

source "ext/fs/nffs/Kconfig"

endmenu

endif # FILE_SYSTEM

endmenu
