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
# SPDX-License-Identifier: Apache-2.0

DT_COMPAT_ST_STM32_SDMMC := st,stm32-sdmmc

menuconfig DISK_ACCESS
	bool "Disk Interface"
	help
	  Enable disk access over a supported media backend like FLASH or RAM

if DISK_ACCESS

module = DISK
module-str = disk
source "subsys/logging/Kconfig.template.log_config"

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.

if DISK_ACCESS_RAM

config DISK_RAM_VOLUME_SIZE
	int "RAM Disk size in kilobytes"
	default 96
	help
	  Size of the RAM Disk.

config DISK_RAM_VOLUME_NAME
	string "RAM Disk mount point or drive name"
	default "RAM"
	help
	  Disk name as per file system naming guidelines.

endif # DISK_ACCESS_RAM

config DISK_ACCESS_FLASH
	bool "Flash"
	select FLASH
	help
	  Flash device is used for the file system.

if DISK_ACCESS_FLASH

config DISK_FLASH_VOLUME_NAME
	string "Flash mount point or drive name"
	default "NAND"
	help
	  Disk name as per file system naming guidelines.

config DISK_FLASH_DEV_NAME
	string "Flash device name to be used as storage backend"

config DISK_FLASH_START
	hex "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 "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 "Flash device erase alignment in hex"
	help
	  This is the start address alignment required by
	  the flash component.

config DISK_ERASE_BLOCK_SIZE
	hex "Flash device erasable block size in hex"
	help
	  This is typically the minimum block size that
	  is erased at one time in flash storage.
	  Typically it is equal to the flash memory page size.

config DISK_VOLUME_SIZE
	hex "Flash device volume size in hex"
	help
	  This is the file system volume size in bytes.

endif # DISK_ACCESS_FLASH

config DISK_ACCESS_SDHC
	bool "SDHC card access"
	select FLASH
	help
	  File system on a SDHC card.

if DISK_ACCESS_SDHC

config DISK_ACCESS_SPI_SDHC
	bool "SDHC access over SPI"
	depends on SPI
	help
	  File system on a SDHC card accessed over SPI.

config DISK_ACCESS_USDHC
	bool "NXP i.MXRT USDHC driver"
	depends on (HAS_MCUX_USDHC1 || HAS_MCUX_USDHC2)
	help
	  File system on a SDHC card accessed over
	  NXP USDHC.

if DISK_ACCESS_USDHC

config DISK_ACCESS_USDHC1
	bool "NXP i.MXRT USDHC instance 1"
	depends on HAS_MCUX_USDHC1
	help
	  File system on a SDHC card accessed over
	  USDHC instance 1.

config DISK_ACCESS_USDHC2
	bool "NXP i.MXRT USDHC instance 2"
	depends on HAS_MCUX_USDHC2
	help
	  File system on a SDHC card accessed over
	  USDHC instance 2.

endif # DISK_ACCESS_USDHC

config DISK_SDHC_VOLUME_NAME
	string "SDHC Disk mount point or drive name"
	default "SD" if FAT_FILESYSTEM_ELM
	default "SDHC"
	help
	  Disk name as per file system naming guidelines.

endif # DISK_ACCESS_SDHC

config DISK_ACCESS_STM32_SDMMC
	bool "STM32 SDMMC driver"
	depends on HAS_STM32CUBE
	select USE_STM32_HAL_SD
	select USE_STM32_LL_SDMMC
	default $(dt_compat_enabled,$(DT_COMPAT_ST_STM32_SDMMC))
	help
	  File system on sdmmc accessed through stm32 sdmmc.

config DISK_STM32_SDMMC_VOLUME_NAME
	string "SDMMC Disk mount point or drive name"
	depends on DISK_ACCESS_STM32_SDMMC
	default "SD" if FAT_FILESYSTEM_ELM
	default "SDMMC"
	help
	  Disk name as per file system naming guidelines.

endif # DISK_ACCESS