blob: a5463eff529e06f7cb1d2943b1d97474a8e450f9 [file] [log] [blame]
# Copyright (c) 2016 Intel Corporation
# Copyright (c) 2021 Nordic Semiconductor ASA
# SPDX-License-Identifier: Apache-2.0
DT_STM32_SDMMC_HAS_DMA := $(dt_nodelabel_has_prop,sdmmc,dmas)
config DISK_DRIVER_SDMMC
bool "SDMMC card driver"
default y if DT_HAS_ZEPHYR_SDMMC_DISK_ENABLED || \
DT_HAS_ST_STM32_SDMMC_ENABLED
help
SDMMC card driver.
if DISK_DRIVER_SDMMC
config SD_INIT_PRIORITY
int "Init priority"
default 90
help
SDMMC controller driver initialization priority.
config SDMMC_VOLUME_NAME
string "SDMMC Disk mount point or drive name"
default "SD" if FAT_FILESYSTEM_ELM
default "SDMMC"
help
Disk name as per file system naming guidelines.
config SDMMC_SUBSYS
bool "SDMMC access via SD subsystem"
select SDMMC_STACK
default y
depends on DT_HAS_ZEPHYR_SDMMC_DISK_ENABLED
help
Enable SDMMC access via SD subsystem.
config SDMMC_STM32
bool "STM32 SDMMC driver"
default y
depends on DT_HAS_ST_STM32_SDMMC_ENABLED
select USE_STM32_HAL_SD if !SDMMC_STM32_EMMC
select USE_STM32_HAL_SD_EX if !SDMMC_STM32_EMMC && SOC_SERIES_STM32L4X
select USE_STM32_HAL_MMC if SDMMC_STM32_EMMC
select USE_STM32_HAL_MMC_EX if SDMMC_STM32_EMMC && SOC_SERIES_STM32L4X
select USE_STM32_LL_SDMMC
select USE_STM32_HAL_DMA if (SOC_SERIES_STM32L4X || SOC_SERIES_STM32F7X || SOC_SERIES_STM32F4X)
select DMA if ($(DT_STM32_SDMMC_HAS_DMA) && SOC_SERIES_STM32F4X)
select RESET
help
File system on sdmmc accessed through stm32 sdmmc.
config SDMMC_STM32_HWFC
bool "STM32 SDMMC Hardware Flow control"
depends on SDMMC_STM32
depends on SOC_SERIES_STM32H7X || \
SOC_SERIES_STM32F7X || \
SOC_SERIES_STM32L4X || \
SOC_SERIES_STM32L5X
help
Enable SDMMC Hardware Flow Control to avoid FIFO underrun (TX mode) and
overrun (RX mode) errors.
config SDMMC_STM32_EMMC
bool "STM32 SDMMC eMMC mode"
depends on SDMMC_STM32
help
Use eMMC instead of SDIO (SD card) protocol. These are similar, but not entirely the same.
config SDMMC_STM32_CLOCK_CHECK
bool "Runtime SDMMC 48MHz clock check"
depends on SDMMC_STM32
default y
help
Enable SDMMC clock 48MHz configuration runtime check.
In specific cases, this check might provide wrong verdict and should
be disabled.
module = SDMMC
module-str = sdmmc
source "subsys/logging/Kconfig.template.log_config"
endif # DISK_DRIVER_SDMMC