Boot Linux faster!

Check our new training course

Boot Linux faster!

Check our new training course
and Creative Commons CC-BY-SA
lecture and lab materials

Bootlin logo

Elixir Cross Referencer

# Copyright (c) 2016 Intel Corporation
# Copyright (c) 2020 Nordic Semiconductor ASA
# SPDX-License-Identifier: Apache-2.0

config FAT_FILESYSTEM_ELM
	bool "ELM FAT file system support"
	depends on FILE_SYSTEM
	select DISK_ACCESS
	help
	  Use the ELM FAT File system implementation.

if FAT_FILESYSTEM_ELM

menu "ELM FAT file system settings"
	visible if FAT_FILESYSTEM_ELM

config FS_FATFS_READ_ONLY
	bool "Read-only support for all volumes"
	help
	  The option excludes write code from ELM FAT file system driver;
	  when selected, it no longer will be possible to write data on
	  the FAT FS.
	  If write support is not needed, enabling this flag will slightly
	  reduce application size.
	  This option translates to _FS_READONLY within ELM FAT file system
	  driver; it enables exclusion, from compilation, of write supporting
	  code.

config FS_FATFS_MKFS
	bool
	help
	  This option translates to _USE_MKFS within ELM FAT file system
	  driver; it enables additional code that is required for formatting
	  volumes to ELM FAT.

config FS_FATFS_MOUNT_MKFS
	bool "Allow formatting volume when mounting fails"
	default y
	select FS_FATFS_MKFS
	help
	  This option adds code that allows fs_mount to attempt to format
	  a volume if no file system is found.
	  If formatting is not needed, disabling this flag will slightly
	  reduce application size.

config FS_FATFS_EXFAT
	bool "Enable exFAT support"
	select FS_FATFS_LFN
	help
	  Enable the exFAT format support for FatFs.

config FS_FATFS_NUM_FILES
	int "Maximum number of opened files"
	default 4

config FS_FATFS_NUM_DIRS
	int "Maximum number of opened directories"
	default 4

config FS_FATFS_LFN
	bool "Enable long filenames (LFN)"
	help
	  Without long filenames enabled, file names are limited to 8.3 format.
	  This option increases working buffer size.

if FS_FATFS_LFN

choice
	prompt "LFN memory mode"
	default FS_FATFS_LFN_MODE_BSS

config FS_FATFS_LFN_MODE_BSS
	bool "Static buffer"
	help
	  Enable LFN with static working buffer on the BSS. Always NOT thread-safe.

config FS_FATFS_LFN_MODE_STACK
	bool "Stack buffer"
	help
	  Enable LFN with dynamic working buffer on the STACK.

config FS_FATFS_LFN_MODE_HEAP
	bool "Heap buffer"
	help
	  Enable LFN with dynamic working buffer on the HEAP.

endchoice

config FS_FATFS_MAX_LFN
	int "Max filename length"
	range 12 255
	default 255
	help
	  The working buffer occupies (FS_FATFS_MAX_LFN + 1) * 2 bytes and
	  additional 608 bytes at exFAT enabled.
	  It should be set 255 to support full featured LFN operations.

endif # FS_FATFS_LFN

config FS_FATFS_CODEPAGE
	int "FatFS code page (character set)"
	default 437 if FS_FATFS_LFN
	default 1
	help
	  Valid code page values:
	  1   - ASCII (No extended character. Non-LFN cfg. only)
	  437 - U.S.
	  720 - Arabic
	  737 - Greek
	  771 - KBL
	  775 - Baltic
	  850 - Latin 1
	  852 - Latin 2
	  855 - Cyrillic
	  857 - Turkish
	  860 - Portuguese
	  861 - Icelandic
	  862 - Hebrew
	  863 - Canadian French
	  864 - Arabic
	  865 - Nordic
	  866 - Russian
	  869 - Greek 2
	  932 - Japanese (DBCS)
	  936 - Simplified Chinese (DBCS)
	  949 - Korean (DBCS)
	  950 - Traditional Chinese (DBCS)

config FS_FATFS_MAX_SS
	int "Maximum supported sector size"
	range 512 4096
	default 512

endmenu

endif # FAT_FILESYSTEM_ELM