3.2.2.16. MMC/SD¶
3.2.2.16.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.
MMC/SD Driver Architecture
3.2.2.16.2. References¶
- JEDEC eMMC Homepage [http://www.jedec.org/category/technology-focus-area/flash-memory-ssds-ufs-emmc]
- SD ORG Homepage [http://www.sdcard.org]
3.2.2.16.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.16.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.16.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.16.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