Public Version
MMC/SD/SDIO Use Cases and Tips
www.ti.com
Table 24-11. MMC Controller Default Initialization Values
Register Name
Register Address
Value
Value Description
MMCHS1.
0x4809C128
0x00000b00
data bus width = 1, voltage = 1.8v, MMC bus
power is on (not card's power)
MMCHS1.
0x4809C12C
0x0000a007
card's clock enable and card's clock frequency
divider.
MMCHS1.
0x4809C02C
0x00000001
Set MMC bus mode to open drain.
A small notice about MMCHS1.
. Even if the value written in it is 0x00000b00, the value
read from it is equal to 0x00000a00. This is due to the fact that the MMCHS controller in not in a card
state mode which sets automatically
[8] SDBP bit to 0.
24.6.1.3.1.5 MMCHS Controller INIT Procedure Start
Prior to issuing any command, the MMCHS controller has to execute a special INIT procedure. The
MMCHS controller has to generate a clock during 1ms. During the INIT procedure, the MMCHS controller
generates 80 clock periods. To keep the 1ms gap, the MMCHS controller should be configured to
generate a clock whose frequency is smaller or equal to 80 kHz.
The INIt procedure is executed by setting MMCHS1.
[1] INIT bit field to 1 and by sending a
dummy command, writing 0x00000000 in MMCHS1.
register.
shows the values that should be written in the right register pool.
Table 24-12. MMCHS Controller INIT Procedure Start
Register Name
Register Address
Value
Value Description
MMCHS1.
0x4809C02C
current_value |
sets MMCHS1.
[1] INIT to 1
0x00000002
MMCHS1.
0x4809C10C
0x00000000
sends dummy command.
24.6.1.3.1.6 MMCHS Controller Precard Identification Configuration
Before card identification starts, the MMCHS controller's configuration should change. MMC card's clock
should now be 400 kHz according to MMC system spec requirements.
shows the values that
should be written in the right register pool.
Table 24-13. MMCHS Controller Precard Identification Configuration
Register Name
Register Address
Value
Value Description
MMCHS1.
0x4809C128
0x00000b00
data bus width = 1, voltage = 1.8v, MMC bus
power is on (not card's power)
MMCHS1.
0x4809C12C
0x00003C07
card's clock enable and card's clock frequency
divider.
MMCHS1.
0x4809C02C
0x00000001
Set MMC bus mode to open drain.
24.6.1.3.2 MMC Card Identification
MMC card identification is performed by issuing many MMC commands. Each command imposes certain
configuration values in a pool of registers. The status of command transfer is read in
MMCHS1.
register and command response if any is read from MMCHS1.
,
and MMCHS1.
This TRM output describes a use case where interrupts are used to signal MMCHS controller status
changes.
For more details about the card identification sequence, see
, MMC/SD/SDIO Basic
Programming Model.
24.6.1.3.2.1 Sending CMD0
This command resets the MMC card (see
3416
MMC/SD/SDIO Card Interface
SWPU177N – December 2009 – Revised November 2010
Copyright © 2009–2010, Texas Instruments Incorporated