3.2.2.19. MMC/SD

3.2.2.19.1. Introduction

The multimedia card high-speed/SDIO (MMC/SDIO) host controller provides an interface between a local host (LH) such as a microprocessor unit (MPU) or digital signal processor (DSP) and either MMC, SD® memory cards, or SDIO cards and handles MMC/SDIO transactions with minimal LH intervention.

../../../../../_images/Mmcsd_Driver.png

MMC/SD Driver Architecture


3.2.2.19.3. Acronyms & Definitions

Acronym Definition
MMC Multimedia Card
HS-MMC High Speed MMC
SD Secure Digital
SDHC SD High Capacity
SDIO SD Input/Output

Table: MMC/SD: Acronyms


3.2.2.19.4. Features

The SD/MMC driver supports the following features:

  • Support ADMA for DMA transfers
  • HS400 speed mode
  • Support for both built-in and module mode
  • ext2/ext3/ext4 file system support

3.2.2.19.5. Supported High Speed Modes

Platform SDR104 DDR50 SDR50 SDR25 SDR12
DRA74-EVM Y Y Y Y Y
DRA72-EVM Y Y Y Y Y
DRA71-EVM Y Y Y Y Y
DRA72-EVM-REVC Y Y Y Y Y
AM57XX-EVM N N N N N
AM57XX-EVM-REVA3 N N N N N
AM572X-IDK N N N N N
AM571X-IDK N N N N N
AM654-SR2-EVM Y Y Y Y Y

Table: MMC1/SD

Note: In AM654-SR1-EVM none of the UHS modes are supported.

Important Info: Certain UHS cards do not enumerate. The list of functional UHS cards is given in the following tables

FUNCTIONAL UHS CARDS
ATP 32GB UHS CARD AF32GUD3
STRONTIUM NITRO 466x UHS CARD
SANDISK EXTREME UHS CARD
SANDISK ULTRA UHS CARD
SAMSUNG EVO+ UHS CARD
SAMSUNG EVO UHS CARD
KINGSTON UHS CARD (DDR mode)
TRANSCEND PREMIUM 400X UHS CARD (Non fatal error and then it re-enumerates in UHS mode)
FUNCTIONAL (WITH LIMITED CAPABILITY) UHS CARD
SONY UHS CARD - Voltage switching fails and enumerates in high speed
GSKILL UHS CARD - Voltage switching fails and enumerates in high speed
PATRIOT 8G UHS CARD - Voltage switching fails and enumerates in high speed

Known Workaround: For cards which doesn’t enumerate in UHS mode, removing the PULLUP resistor in CLK line and changing the GPIO to PULLDOWN increases the frequency in which the card enumerates in UHS modes.

Platform DDR HS200
DRA74-EVM Y Y
DRA72-EVM Y Y
DRA71-EVM Y Y
DRA72-EVM-REVC Y Y
AM57XX-EVM Y N
AM57XX-EVM-REVA3 Y N
AM572X-IDK Y N
AM571X-IDK Y N
AM654-SR2-EVM Y Y

Table: MMC2/EMMC

  • SD
Platform SDR104 DDR50 SDR50 SDR25 SDR12
J721e-EVM Y Y Y Y Y
  • eMMC
Platform DDR52 HS200 HS400
J721e-EVM Y Y Y

3.2.2.19.6. Driver Configuration

The default kernel configuration enables support for MMC/SD driver as built-in to kernel. TI SDHCI driver is used. Following options need to be configured in Linux Kernel for successfully selecting SDHCI driver for J721E.

  • Enable SDHCI support (CONFIG_MMC_SDHCI)
Device Drivers -->
   MMC/SD/SDIO card support -->
      <*> Secure Digital Host Controller Interface support
  • Enable SDHCI platform helper (CONFIG_MMC_SDHCI_PLTFM)
Device Drivers -->
   MMC/SD/SDIO card support -->
      Secure Digital Host Controller Interface support -->
         <*> SDHCI platform and OF driver helper
  • Enable SDHCI controller for TI device (CONFIG_MMC_SDHCI_AM654)
Device Drivers -->
   MMC/SD/SDIO card support -->
      <*> Support for the SDHCI Controller in TI's AM654 SOCs