Public Version
www.ti.com
MMC/SD/SDIO Integration
The MMC/SD/SDIO host controller acknowledges the idle request from the PRCM after ensuring the
following:
•
The current multi/single-block transfer is completed.
•
Any interrupt or DMA request is asserted.
•
There is no card interrupt on mmci_dat[1] signal.
As long as the MMC/SD/SDIOi controller do not acknowledge the idle request, if an event occurs, the
MMC/SD/SDIOi host controller can still generate an interrupt or a DMA request. In this case, the module
ignores the idle request from the PRCM.
As soon as the MMC/SD/SDIOi controller acknowledges the idle request from the PRCM, the module
does not assert any new interrupt or DMA request.
Wake-Up Event in Smart-Idle Mode
The wake-up feature is enabled when the following enable wake-up bits are set:
•
MMCi.
[2] ENAWAKEUP bit is set to 0x1
•
MMCi.
[24] IWE bit is set to 0x1
•
MMCi.
[8] CIRQ_ENABLE bit is set to 0x1
The wakeup is generated only in smart-idle mode only, when module is in idle mode.
lists the supported cases in smart-idle mode.
Table 24-4. Smart Idle Mode and Wake-Up Capabilities
Mode
MMCi_ICLK clock
MMCi_FCLK clock
Wake-up Event
Card interrupt
May be switched off
(1)
May be switched off
(1)
The module sends an
asynchronous wake-up request
on detection of a card interrupt
on mmci_dat[1] signal
(1)
The MMC/SD/SDIOi host controller assumes that both clocks may be switched off, whatever the value set in the
MMCi.MMCHS_SYSCONFIG[9:8] CLOCKACTIVITY bit.
Transition From Smart-Idle Mode to Normal Mode
The MMC/SD/SDIO host controller detects the end of the idle period when the PRCM deasserts the idle
request.
For the wake-up event, there is a corresponding interrupt status in the MMCi.
register. The
MMC/SD/SDIOi host controller operates the conversion between wake-up and interrupt (or DMA request)
upon exit from smart-idle mode if the associated enable bit is set in the MMCi.
register.
Interrupts and wake-up events have independent enable/disable controls, accessible through the
MMCi.
and MMCi.
registers. The overall consistency must be ensured by
software.
The interrupt status register MMCi.
is updated with the event that caused the wake-up in
the CIRQ bit when the MMCi.
[8] CIRQ_ENABLE associated bit is enabled.
Then, the wake-up event at the origin of the transition from smart-idle mode to normal mode is converted
into its corresponding interrupt or DMA request. (The MMCi.
register is updated and the
status of the interrupt signal changes.)
When the idle request from the PRCM is deasserted, the module switches back to normal mode. The
module is fully operational.
Force-Idle Mode
Force-idle mode is enabled when the MMCi.
[4:3] SIDLEMODE bit field is set to
0x0.
Force-idle mode is an idle mode where the MMC/SD/SDIOi host controller responds unconditionally to the
idle request from the PRCM. Moreover, in this mode, the MMC/SD/SDIOi host controller unconditionally
deasserts interrupts and DMA request lines asserted.
3377
SWPU177N – December 2009 – Revised November 2010
MMC/SD/SDIO Card Interface
Copyright © 2009–2010, Texas Instruments Incorporated