b8f7fc3cc3
Add basic functionality of Renesas SD/MMC driver. It can be used for both gen3 and gen4 R-car boards, but tested only with H3ULCB, Salvator XS M3 and Spider boards. This driver working with SDHC subsystem. The driver supports regularal reading/writing throught SD/MMC controller buffer, DMA mode w/o interrupts and timing tuning. Add gpio5 and sd0 nodes to h3ulcb and salvator xs which are needed for working with SD cards. The GPIO node is needed for switching voltage on SD card through gpio regulator driver. Notes: * the driver doesn't support SPI mode; * SCC tuning and DMA mode based on IRQs are enabled by default; * an address of a data buffer has to be aligned to 128 bytes if it is not, driver will use non-DMA mode automatically; * Renesas MMC DMAC doesn't support 64-bit DMA addresses, so for case when we have 64-bit xref data address we use non-DMA mode; * SD/MMC controller supports block size between 512 and 1 with a lot of restrictions, more details you can find in code; * support of HS400 mode isn't implemented inside driver. Signed-off-by: Mykola Kvach <mykola_kvach@epam.com>
59 lines
1.5 KiB
Plaintext
59 lines
1.5 KiB
Plaintext
# Copyright 2022 NXP
|
|
# SPDX-License-Identifier: Apache-2.0
|
|
|
|
menuconfig SDHC
|
|
bool "Secure Digital High Capacity (SDHC) drivers"
|
|
help
|
|
Include drivers for SD host controller
|
|
|
|
if SDHC
|
|
|
|
source "drivers/sdhc/Kconfig.ifx_cat1"
|
|
source "drivers/sdhc/Kconfig.imx"
|
|
source "drivers/sdhc/Kconfig.spi"
|
|
source "drivers/sdhc/Kconfig.mcux_sdif"
|
|
source "drivers/sdhc/Kconfig.rcar"
|
|
source "drivers/sdhc/Kconfig.sam_hsmci"
|
|
source "drivers/sdhc/Kconfig.intel"
|
|
source "drivers/sdhc/Kconfig.sdhc_cdns"
|
|
source "drivers/sdhc/Kconfig.esp32"
|
|
|
|
config SDHC_INIT_PRIORITY
|
|
int "SDHC driver init priority"
|
|
default 85
|
|
help
|
|
SDHC driver system init priority
|
|
|
|
config SDHC_BUFFER_ALIGNMENT
|
|
int
|
|
default 1
|
|
help
|
|
Some SD host controllers require alignment of their data buffers
|
|
in order to DMA to work correctly. Devices should change default of
|
|
this value if they require alignment. This represents the alignment
|
|
of buffers required in bytes
|
|
|
|
config SDHC_SUPPORTS_UHS
|
|
bool
|
|
help
|
|
Selected by host controller driver if UHS support is present. required
|
|
to enable UHS portion of protocol stack.
|
|
|
|
config SDHC_SUPPORTS_SPI_MODE
|
|
bool
|
|
help
|
|
Selected by host controller driver if SPI mode support is required.
|
|
Enables SPI protocol in SD protocol stack
|
|
|
|
config SDHC_SUPPORTS_NATIVE_MODE
|
|
bool
|
|
help
|
|
Selected by host controller driver if native SD mode support is
|
|
required. Enables native protocol in SD protocol stack.
|
|
|
|
module = SDHC
|
|
module-str = sdhc
|
|
source "subsys/logging/Kconfig.template.log_config"
|
|
|
|
endif # SDHC
|