zephyr/drivers/sdhc
Mykola Kvach b8f7fc3cc3 drivers: sdhc: add support of Renesas MMC driver
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>
2024-05-01 10:55:11 -04:00
..
CMakeLists.txt drivers: sdhc: add support of Renesas MMC driver 2024-05-01 10:55:11 -04:00
ifx_cat1_sdio.c drivers: sdhc: added Infineon CAT1 SDHC/SDIO driver 2023-11-08 15:07:37 +00:00
imx_usdhc.c drivers: sdhc: imx_usdhc: add explicit fallthrough to I/O timing setup 2023-12-12 10:57:20 +01:00
intel_emmc_host.c drivers: sdhc: intel_emmc_host: Fix return value 2023-12-19 08:52:00 +01:00
intel_emmc_host.h drivers: sdhc: add driver support for emmc host controller 2023-09-29 16:29:00 +02:00
Kconfig drivers: sdhc: add support of Renesas MMC driver 2024-05-01 10:55:11 -04:00
Kconfig.esp32 drivers: esp32: SDHC implementation 2024-04-30 18:23:06 +02:00
Kconfig.ifx_cat1 drivers: sdhc: added Infineon CAT1 SDHC/SDIO driver 2023-11-08 15:07:37 +00:00
Kconfig.imx drivers: all: imx: remove conditional support for pinctrl 2023-04-24 13:34:22 +02:00
Kconfig.intel drivers: sdhc: add driver support for emmc host controller 2023-09-29 16:29:00 +02:00
Kconfig.mcux_sdif drivers: all: mcux: remove conditional support for pinctrl 2023-04-24 13:34:22 +02:00
Kconfig.rcar drivers: sdhc: add support of Renesas MMC driver 2024-05-01 10:55:11 -04:00
Kconfig.sam_hsmci driver: sdhc: added atmel SAM4E hsmci driver 2023-09-14 16:46:12 -05:00
Kconfig.sdhc_cdns drivers: sdhc: add cdns sdhc/combophy driver files 2023-12-18 15:00:38 +01:00
Kconfig.spi crc: Make the build of crc function dependent on a Kconfig 2022-11-23 13:30:00 +01:00
mcux_sdif.c include: add missing kernel.h include 2022-10-11 18:05:17 +02:00
rcar_mmc.c drivers: sdhc: add support of Renesas MMC driver 2024-05-01 10:55:11 -04:00
rcar_mmc_registers.h drivers: sdhc: add support of Renesas MMC driver 2024-05-01 10:55:11 -04:00
sam_hsmci.c driver: sdhc: added atmel SAM4E hsmci driver 2023-09-14 16:46:12 -05:00
sdhc_cdns.c drivers: sdhc: Cadence SDHC driver bug fixes and other improvements 2024-01-19 15:14:17 +00:00
sdhc_cdns_ll.c drivers: sdhc: Cadence SDHC driver bug fixes and other improvements 2024-01-19 15:14:17 +00:00
sdhc_cdns_ll.h drivers: sdhc: Cadence SDHC driver bug fixes and other improvements 2024-01-19 15:14:17 +00:00
sdhc_esp32.c drivers: esp32: SDHC implementation 2024-04-30 18:23:06 +02:00
sdhc_esp32.h drivers: esp32: SDHC implementation 2024-04-30 18:23:06 +02:00
sdhc_spi.c drivers: sdhc: set 'sdhc_driver_api' as 'static const' 2024-01-24 21:25:06 +00:00