Add support for enabling multiple disk interfaces (Flash, RAM) simultaneously in Zephyr by introducing a simple disk interface framework where we can register multiple disks which would interface with different storage devices. This would enable us to have multiple instances of FATFS in Zephyr. Add support for mass storage drive disk name which will be used as an argument when calling the disk interface API's. Enable multiple volumes support configuration in ELM FAT library. Signed-off-by: Ramakrishna Pallala <ramakrishna.pallala@intel.com>
114 lines
2.3 KiB
Plaintext
114 lines
2.3 KiB
Plaintext
#
|
|
# Copyright (c) 2016 Intel Corporation
|
|
#
|
|
# SPDX-License-Identifier: Apache-2.0
|
|
#
|
|
|
|
menu "Disk"
|
|
|
|
config DISK_ACCESS
|
|
bool
|
|
default n
|
|
prompt "Enable Disk Interface"
|
|
help
|
|
Enable disk access over a supported media backend like FLASH or RAM
|
|
|
|
config DISK_ACCESS_MAX_VOLUMES
|
|
int
|
|
default 8
|
|
prompt "Maximum Disk Interfaces"
|
|
help
|
|
Maximum number of disk access interfaces supported
|
|
|
|
config SYS_LOG_DISK_LEVEL
|
|
int
|
|
prompt "File System log level"
|
|
depends on SYS_LOG
|
|
default 0
|
|
help
|
|
Sets log level for Disk drivers.
|
|
Levels are:
|
|
- 0 OFF, do not write
|
|
- 1 ERROR, only write SYS_LOG_ERR
|
|
- 2 WARNING, write SYS_LOG_WRN in addition to previous level
|
|
- 3 INFO, write SYS_LOG_INF in addition to previous levels
|
|
- 4 DEBUG, write SYS_LOG_DBG in addition to previous levels
|
|
|
|
if DISK_ACCESS
|
|
|
|
config DISK_ACCESS_RAM
|
|
bool "RAM Disk"
|
|
help
|
|
RAM buffer used to emulate storage disk.
|
|
This option can be used to test the file
|
|
system.
|
|
|
|
config DISK_ACCESS_FLASH
|
|
bool "Flash"
|
|
select FLASH
|
|
help
|
|
Flash device is used for the file system.
|
|
|
|
endif # DISK_ACCESS
|
|
|
|
if DISK_ACCESS_RAM
|
|
|
|
config DISK_RAM_VOLUME_NAME
|
|
string
|
|
prompt "RAM Disk mount point or drive name"
|
|
default "RAM"
|
|
help
|
|
Disk name as per file system naming guidelines.
|
|
|
|
endif # DISK_ACCESS_RAM
|
|
|
|
if DISK_ACCESS_FLASH
|
|
|
|
config DISK_FLASH_VOLUME_NAME
|
|
string
|
|
prompt "Flash mount point or drive name"
|
|
default "NAND"
|
|
help
|
|
Disk name as per file system naming guidelines.
|
|
|
|
config DISK_FLASH_DEV_NAME
|
|
string
|
|
prompt "Flash device name to be used as storage backend"
|
|
|
|
config DISK_FLASH_START
|
|
hex
|
|
prompt "Flash device start address in hex"
|
|
help
|
|
This is start address of the flash to be used as storage backend.
|
|
|
|
config DISK_FLASH_MAX_RW_SIZE
|
|
int
|
|
prompt "Flash device max read-write size in decimal"
|
|
help
|
|
This is the maximum number of bytes that the
|
|
flash_write API can accept per invocation.
|
|
API.
|
|
|
|
config DISK_FLASH_ERASE_ALIGNMENT
|
|
hex
|
|
prompt "Flash device erase alignment in hex"
|
|
help
|
|
This is the start address alignment required by
|
|
the flash component.
|
|
|
|
config DISK_ERASE_BLOCK_SIZE
|
|
hex
|
|
prompt "Flash device block size in hex"
|
|
help
|
|
This is typically the minimum block size that
|
|
is erased at one time in flash storage.
|
|
|
|
config DISK_VOLUME_SIZE
|
|
hex
|
|
prompt "Flash device block size in hex"
|
|
help
|
|
This is the file system volume size in bytes.
|
|
|
|
endif # DISK_ACCESS_FLASH
|
|
endmenu
|