Information

Enhanced Secure Digital Host Controller
MPC8308 PowerQUICC II Pro Processor Reference Manual, Rev. 1
Freescale Semiconductor 11-57
the transfer. When an error occurs at this point, it is recommended that the host driver responds with one
of the following actions (as appropriate to kind of error):
1. Auto CMD12 response timeout. It is not certain whether the command has been accepted by the
card or not. The driver should clear the Auto CMD12 error status bits and resend CMD12 until it
is accepted by the card.
2. Auto CMD12 response CRC error. Since CMD12 has been received by the card, the card aborts
the transfer. The driver may ignore the error and clear the error status bit.
3. Auto CMD12 conflict error or not sent. The command was not sent. Therefore, the driver should
send CMD12 manually.
11.6.3.4 Card Interrupt
The external cards can inform the host controller through the use of special signals. For SDIO cards, it can
be the low level on the SD_DAT[1] line during a specific period. It is possible some other external interrupt
behaviors can be defined. The eSDHC only monitors the SD_DAT[1] line and supports SDIO interrupts.
When an SDIO interrupt is captured by the eSDHC and the host system is informed by the eSDHC
asserting its interrupt line, the interrupt service of host driver is requested.
As the interrupt source is controlled by the external card, the interrupt from the SDIO card must be served
before the CINT bit is cleared. For the card interrupt handling flow, see Section 11.5.6.3, “Card Interrupt
Handling.”
11.6.4 Switch Function
MMCs transferring data with a bus width other than one-bit wide is a new feature added to the MMC
Specification. The high-speed timing mode for all card devices is also newly-defined in recent various card
specifications. To enable these new features, a type of switch command should be issued by the host driver.
For SDIO cards, the high speed mode is enabled by writing to CCCR[EHS] after the CCCR[SHS] bit is
confirmed. For SD cards, the high-speed mode is queried and enabled by CMD6 (with the mnemonic
symbol as SWICH_FUNC); for MMCs, the high-speed mode is queried by CMD8 and enabled by CMD6
(with the mnemonic symbol as SWITCH).
The 4-bit and 8-bit bus width of MMC is also enabled by the SWITCH command, but with a different
argument.
These new functions can also be disabled by software reset (for SDIO card, by setting RES bit in CCCR
register; for other cards, by issuing CMD0), but such manner of restoring to normal mode is not
recommended because a complete identification process is needed before the card is ready for data
transfer.
For simplicity, the following flowcharts do not show a current capability check, which is recommended in
the function switch process.