Skip to content

Commit

Permalink
drivers: sdhc: add driver support for emmc host controller
Browse files Browse the repository at this point in the history
add host controller driver support for emmc version 5.1.
The driver expose zephyr sdhc api interface for emmc host controller.

Signed-off-by: Najumon B.A <najumon.ba@intel.com>
  • Loading branch information
najumon1980 committed Sep 27, 2023
1 parent 91c51b9 commit ada3f5e
Show file tree
Hide file tree
Showing 6 changed files with 1,711 additions and 2 deletions.
2 changes: 1 addition & 1 deletion drivers/sdhc/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -7,5 +7,5 @@ zephyr_library_sources_ifdef(CONFIG_IMX_USDHC imx_usdhc.c)
zephyr_library_sources_ifdef(CONFIG_SPI_SDHC sdhc_spi.c)
zephyr_library_sources_ifdef(CONFIG_MCUX_SDIF mcux_sdif.c)
zephyr_library_sources_ifdef(CONFIG_SAM_HSMCI sam_hsmci.c)

zephyr_library_sources_ifdef(CONFIG_INTEL_EMMC_HOST intel_emmc_host.c)
endif()
2 changes: 1 addition & 1 deletion drivers/sdhc/Kconfig
Original file line number Diff line number Diff line change
Expand Up @@ -12,6 +12,7 @@ source "drivers/sdhc/Kconfig.imx"
source "drivers/sdhc/Kconfig.spi"
source "drivers/sdhc/Kconfig.mcux_sdif"
source "drivers/sdhc/Kconfig.sam_hsmci"
source "drivers/sdhc/Kconfig.intel"

config SDHC_INIT_PRIORITY
int "SDHC driver init priority"
Expand Down Expand Up @@ -50,5 +51,4 @@ module = SDHC
module-str = sdhc
source "subsys/logging/Kconfig.template.log_config"


endif # SDHC
57 changes: 57 additions & 0 deletions drivers/sdhc/Kconfig.intel
Original file line number Diff line number Diff line change
@@ -0,0 +1,57 @@
# Copyright (c) 2023 Intel Corporation
# SPDX-License-Identifier: Apache-2.0

config INTEL_EMMC_HOST
bool "EMMC driver"
select SDHC_SUPPORTS_NATIVE_MODE
select EVENTS
default y
depends on DT_HAS_INTEL_EMMC_HOST_ENABLED
help
EMMC driver support. Though this driver can be easily port to
any HW which is complaint to eMMC spec, currently it is only
validated using intel's EMMC host controller.

if INTEL_EMMC_HOST
config INTEL_EMMC_HOST_INTR
bool "EMMC host controller interrupt mode"
default y
help
EMMC host controller interrupt mode support.

config INTEL_EMMC_HOST_DMA
bool "EMMC host controller DMA mode"
select DCACHE
help
EMMC host controller DMA mode support.

config INTEL_EMMC_HOST_ADMA
bool "EMMC host controller ADMA mode"
depends on INTEL_EMMC_HOST_DMA
help
EMMC host controller ADMA mode support.

config INTEL_EMMC_HOST_ADMA_DESC_SIZE
int "EMMC host controller ADMA Descriptor size"
default 32
help
EMMC host controller ADMA Descriptor size.

config INTEL_EMMC_HOST_AUTO_STOP
bool "auto stop command mode"
default y
help
Auto stop command mode support.

config INTEL_EMMC_HOST_BLOCK_GAP
bool "Block gap mode"
depends on INTEL_EMMC_HOST_DMA
help
Block gap mode support.

config INTEL_EMMC_HOST_TUNING
bool "Host tuning"
help
Host tuning support.

endif

0 comments on commit ada3f5e

Please sign in to comment.