101 lines
2.7 KiB
C
101 lines
2.7 KiB
C
|
/*
|
||
|
* Copyright (c) 2022 Nordic Semiconductor ASA
|
||
|
*
|
||
|
* SPDX-License-Identifier: Apache-2.0
|
||
|
*/
|
||
|
#if FFCONF_DEF != 86631
|
||
|
#error "Configuration version mismatch"
|
||
|
#endif
|
||
|
|
||
|
/*
|
||
|
* Overrides of FF_ options from ffconf.h
|
||
|
*/
|
||
|
#if defined(CONFIG_FS_FATFS_READ_ONLY)
|
||
|
#undef FF_FS_READONLY
|
||
|
#define FF_FS_READONLY CONFIG_FS_FATFS_READ_ONLY
|
||
|
#endif /* defined(CONFIG_FS_FATFS_READ_ONLY) */
|
||
|
|
||
|
#if defined(CONFIG_FS_FATFS_MKFS)
|
||
|
#undef FF_USE_MKFS
|
||
|
#define FF_USE_MKFS CONFIG_FS_FATFS_MKFS
|
||
|
#else
|
||
|
/* Note that by default the ffconf.h disables MKFS */
|
||
|
#undef FF_USE_MKFS
|
||
|
#define FF_USE_MKFS 1
|
||
|
#endif /* defined(CONFIG_FS_FATFS_MKFS) */
|
||
|
|
||
|
#if defined(CONFIG_FS_FATFS_CODEPAGE)
|
||
|
#undef FF_CODE_PAGE
|
||
|
#define FF_CODE_PAGE CONFIG_FS_FATFS_CODEPAGE
|
||
|
#else
|
||
|
/* Note that default value, in ffconf.h, for FF_CODE_PAGE is 932 */
|
||
|
#undef FF_CODE_PAGE
|
||
|
#define FF_CODE_PAGE 437
|
||
|
#endif /* defined(CONFIG_FS_FATFS_CODEPAGE) */
|
||
|
|
||
|
#if defined(CONFIG_FS_FATFS_LFN)
|
||
|
#undef FF_USE_LFN
|
||
|
#if CONFIG_FS_FATFS_LFN_MODE_BSS
|
||
|
#define FF_USE_LFN 1
|
||
|
#elif CONFIG_FS_FATFS_LFN_MODE_STACK
|
||
|
#define FF_USE_LFN 2
|
||
|
#elif CONFIG_FS_FATFS_LFN_MODE_HEAP
|
||
|
#define FF_USE_LFN 3
|
||
|
#else
|
||
|
#error Invalid LFN buffer location
|
||
|
#endif
|
||
|
#endif /* defined(CONFIG_FS_FATFS_LFN) */
|
||
|
|
||
|
#if defined(CONFIG_FS_FATFS_MAX_LFN)
|
||
|
#undef FF_MAX_LFN
|
||
|
#define FF_MAX_LFN CONFIG_FS_FATFS_MAX_LFN
|
||
|
#endif /* defined(CONFIG_FS_FATFS_MAX_LFN) */
|
||
|
|
||
|
#if defined(CONFIG_FS_FATFS_MAX_SS)
|
||
|
#undef FF_MAX_SS
|
||
|
#define FF_MAX_SS CONFIG_FS_FATFS_MAX_SS
|
||
|
#endif /* defined(CONFIG_FS_FATFS_MAX_SS) */
|
||
|
|
||
|
#if defined(CONFIG_FS_FATFS_EXFAT)
|
||
|
#undef FF_FS_EXFAT
|
||
|
#define FF_FS_EXFAT CONFIG_FS_FATFS_EXFAT
|
||
|
#endif /* defined(CONFIG_FS_FATFS_EXFAT) */
|
||
|
|
||
|
/*
|
||
|
* These options are override from default values, but have no Kconfig
|
||
|
* options.
|
||
|
*/
|
||
|
#undef FF_FS_TINY
|
||
|
#define FF_FS_TINY 1
|
||
|
|
||
|
#undef FF_FS_NORTC
|
||
|
#define FF_FS_NORTC 1
|
||
|
|
||
|
/* Zephyr uses FF_VOLUME_STRS */
|
||
|
#undef FF_STR_VOLUME_ID
|
||
|
#define FF_STR_VOLUME_ID 1
|
||
|
|
||
|
/* By default FF_STR_VOLUME_ID in ffconf.h is 0, which means that
|
||
|
* FF_VOLUME_STRS is not used. Zephyr uses FF_VOLUME_STRS, which
|
||
|
* by default holds 8 possible strings representing mount points,
|
||
|
* and FF_VOLUMES needs to reflect that, which means that dolt
|
||
|
* value of 1 is overridden here with 8.
|
||
|
*/
|
||
|
#undef FF_VOLUMES
|
||
|
#define FF_VOLUMES 8
|
||
|
|
||
|
/*
|
||
|
* Options provided below have been added to ELM FAT source code to
|
||
|
* support Zephyr specific features, and are not part of ffconf.h.
|
||
|
*/
|
||
|
/*
|
||
|
* The FS_FATFS_WINDOW_ALIGNMENT is used to align win buffer of FATFS structure
|
||
|
* to allow more optimal use with MCUs that require specific bufer alignment
|
||
|
* for DMA to work.
|
||
|
*/
|
||
|
#if defined(CONFIG_FS_FATFS_WINDOW_ALIGNMENT)
|
||
|
#define FS_FATFS_WINDOW_ALIGNMENT CONFIG_FS_FATFS_WINDOW_ALIGNMENT
|
||
|
#else
|
||
|
#define FS_FATFS_WINDOW_ALIGNMENT 1
|
||
|
#endif /* defined(CONFIG_FS_FATFS_WINDOW_ALIGNMENT) */
|