
CMDI = 0x0
Write MMCi.MMCHS_ARG register
Write MMCi.MMCHS_CMD register
No
The command line is in use;
Issuing a command is not allowed
Yes
The command line is not in use;
Issuing a command is allowed
Write MMCi.MMCHS_CON register; set
MIT, STR bit fields
Read the MMCi.MMCHS_STAT
register
CTO = 0x1
and
CCRC = 0x1
Yes
Set MMCi.MMCHS_SYSCTL[25] SRC
bit to 0x1 and wait until it returns to 0x0
Write MMCi.MMCHS_CSRE register, if
response type permits
(see standard specifications)
Bitfields in MMCHS_CON should be
configured according to command features
(stream or multiblock, with or without timeout)
Write MMCi.MMCHS_BLK
Write MMCi. MMCHS_SYSCTL to
set DTO bitfield.
MMCHS_BLK must be configured with
block size and number of blocks if data
are present.
Write MMCi.MMCHS_IE and
MMCi. MMCHS_ISE registers to
enable required interrupts
In order to use interrupts
MMCHS_ISE must be configured.
If polling is used configuring MMCHS_IE
is enough.
Start
Read the MMCi.MMCHS_PSTATE[0]
CMDI bit
wait for interrupt
CC = 0x1
Read MMCi.MMCHS_RSP register
No
No response
Yes
Yes
A response is waiting
No
No
CMD with response ?
Return
Interrupt
handler
interrupt occurs
mmchs-041
Public Version
www.ti.com
MMC/SD/SDIO Basic Programming Model
Figure 24-44. MMC/SD/SDIO Controller Command Transfer Flow With Interrupts
24.5.2.7.2 MMCHS Clock Frequency Change
describes the different steps that allow to change the MMC/SD/SDIO output clock frequency.
3409
SWPU177N – December 2009 – Revised November 2010
MMC/SD/SDIO Card Interface
Copyright © 2009–2010, Texas Instruments Incorporated