3.3.4.17. MMC/SD

3.3.4.17.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.3.4.17.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.3.4.17.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.3.4.17.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.3.4.17.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 AM65xx devices.

  • 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