6.16.17 eMMC/SD/SDIO
The eMMC/SD/SDIO host controller provides an interface between a local host (LH) such as a microprocessor unit (MPU) or digital signal processor (DSP) and either eMMC, SD® memory cards, or SDIO cards and handles eMMC/SD/SDIO transactions with minimal LH intervention.
Optionally, the controller is connected to the L3_MAIN interconnect to have a direct access to system memory. It also supports two direct memory access (DMA) slave channels or a DMA master access (in this case, slave DMA channels are deactivated) depending on its integration.
The eMMC/SD/SDIO host controller deals with eMMC/SD/SDIO protocol at transmission level, data packing, adding cyclic redundancy checks (CRCs), start/end bit, and checking for syntactical correctness.
The application interface can send every eMMC/SD/SDIO command and poll for the status of the adapter or wait for an interrupt request, which is sent back in case of exceptions or to warn of end of operation.
The application interface can read card responses or flag registers. It can also mask individual interrupt sources. All these operations can be performed by reading and writing control registers. The eMMC/SD/SDIO host controller also supports two DMA channels.
There are four eMMC/SD/SDIO host controllers inside the device. gives an overview of the eMMC/SD/SDIOi (i = 1 to 4) controllers.
Each controller has the following data width:
- eMMC/SD/SDIO1 - 4-bit wide data bus
- eMMC/SD/SDIO2 - 8-bit wide data bus
- eMMC/SD/SDIO3 - 8-bit wide data bus
- eMMC/SD/SDIO4 - 4-bit wide data bus
The eMMC/SD/SDIOi controller is also referred to as MMCi.
Compliance with standards:
- Full compliance with MMC/eMMC command/response sets as defined in the JC64 MMC/eMMC Standard Specification, v4.5.
- Full compliance with SD command/response sets as defined in the SD Physical Layer Specification v3.01
- Full compliance with SDIO command/response sets and interrupt/read-wait suspend-resume operations as defined in the SD part E1 Specification v3.00
- Full compliance with SD Host Controller Standard Specification sets as defined in the SD card Specification Part A2 v3.00
Main features of the eMMC/SD/SDIO host controllers:
- Flexible architecture allowing support for new command structure
- 32-bit wide access bus to maximize bus throughput
- Designed for low power
- Programmable clock generation
- Dedicated DLL to support SDR104 mode (MMC1 only)
- Dedicated DLL to support HS200 mode (MMC2 only)
- Card insertion/removal detection and write protect detection
- L4 slave interface supports:
- 32-bit data bus width
- 8/16/32 bit access supported
- 9-bit address bus width
- Streaming burst supported only with burst length up to 7
- WNP supported
- L3 initiator interface Supports:
- 32-bit data bus width
- 8/16/32 bit access supported
- 32-bit address bus width
- Burst supported
- Built-in 1024-byte buffer for read or write
- Two DMA channels, one interrupt line
- Support JC 64 v4.4.1 boot mode operations
- Support SDA 3.00 Part A2 programming model
- Support SDA 3.00 Part A2 DMA feature (ADMA2)
- Supported data transfer rates:
- MMCi supports the following SD v3.0 data transfer rates:
- DS mode (3.3V IOs): up to 12 MBps (24 MHz clock)
- HS mode (3.3V IOs): up to 24 MBps (48 MHz clock)
- SDR12 (1.8V IOs): up to 12 MBps (24 MHz clock)
- SDR25 (1.8V IOs): up to 24 MBps (48 MHz clock)
- SDR50 (1.8V IOs): up to 48 MBps (96 MHz clock) - MMC1 and MMC3 only
- DDR50 (1.8V IOs): up to 48 MBps (48 MHz clock) - MMC1 only
- SDR104 (1.8V IOs) cards can be supported up to 192 MHz clock (96 MBps max) - MMC1 only
- MMCi supports the Default SD mode 1-bit data transfer up to 24Mbps (3MBps)
- Only MMC2 supports also the following JC64 v4.5 data transfer rates:
- Up to 192 MBps in eMMC mode, 8-bit SDR mode (192 MHz clock frequency)
- Up to 96 MBps in eMMC mode, 8-bit DDR mode (48 MHz clock frequency)
- All eMMC/SD/SDIO controllers are connected to 1.8V/3.3V compatible I/Os to support 1.8V/3.3V signaling
NOTE
eMMC functionality is supported fully by MMC2 only. The other MMC modules are capable of eMMC functionality, but are not timing-optimized for eMMC.
The differences between the eMMC/SD/SDIO host controllers and a standard SD host controller defined by the SD Card Specification, Part A2, SD Host Controller Standard Specification, v3.0 are:
- The clock divider in the eMMC/SD/SDIO host controller supports a wider range of frequency than specified in the SD Memory Card Specifications, v3.0. The eMMC/SD/SDIO host controller supports odd and even clock ratio.
- The eMMC/SD/SDIO host controller supports configurable busy time-out.
- ADMA2 64-bit mode is not supported.
- There is no external LED control.
NOTE
Only even ratios are supported in DDR mode.
For more information, see chapter eMMC/SD/SDIO of the Device TRM.