Information
Enhanced Secure Digital Host Controller
MPC8308 PowerQUICC II Pro Processor Reference Manual, Rev. 1
Freescale Semiconductor 11-49
The cards are initialized with a default relative card address (RCA = 0x0000) and with a default
driver stage register setting (lowest speed, highest driving current capability).
After the card is reset, the host needs to validate the voltage range of the card. See Figure 11-27 for the
software flow to reset the eSDHC and card.
Figure 11-27. Flow Chart for Reset of eSDHC and SD I/O Card
software_reset()
{
set_bit(SYSCTL, RSTA); // software reset the host
set SYSCTL[DTOCV and SDCLKFS]; // get the SD_CLK of frequency around 400 KHz
poll PRSSTAT[CIHB and CDIHB]; // wait until both bits are cleared
set_bit(SYSCTRL, INTIA); // send 80 clock ticks for card to power-up
send_command(CMD_GO_IDLE_STATE, <other parameters>); // reset the card with CMD0
or send_command(CMD_IO_RW_DIRECT, <other parameters>);
}
11.6.2.3 Voltage Validation
All cards should be able to establish communication with the host using any operation voltage in the
maximum allowed voltage range specified in this standard. However, the supported minimum and
maximum values for V
DD
are defined in the operation conditions register (OCR) and may not cover the
whole range. Cards that store the CID (card identification) and CSD data in the preloaded memory are only
able to communicate this information under data transfer V
DD
conditions. This means that if the host and
card have different V
DD
ranges, the card is not able to complete the identification cycle, nor is it able to
send CSD data.
Therefore, a special command is available:
• SEND_OP_CONT (CMD1 for MMC),
• SD_SEND_OP_CONT (ACMD41 for SD Memory)
• IO_SEND_OP_CONT (CMD5 for SDIO).
The voltage validation procedure is designed to provide a mechanism to identify and reject cards which
do not match the V
DD
range(s) desired by the host. This is accomplished by the host sending the desired
V
DD
voltage window as the operand of this command. Cards that cannot perform data transfer in the
specified range must discontinue any further bus operations and enter the inactive state. By omitting the
voltage range in the command, the host can query each card and determine the common voltage range
before sending out-of-range cards into the inactive state. This query should be used if the host is able to
Write ‘1’ to RSTA Bit to Reset eSDHC
Send 80 Clocks to Card
Send CMD0/CMD52 to Card to Reset Card
Voltage Validation