English
Language : 

K60P100M100SF2RM Datasheet, PDF (1658/1809 Pages) Freescale Semiconductor, Inc – K60 Sub-Family Reference Manual
Initialization/application of SDHC
When the SDIO interrupt is captured by the SDHC, and the host system is informed by
the SDHC asserting the SDHC interrupt line, the interrupt service from the host driver is
called.
As the interrupt factor is controlled by the external card, the interrupt from the SDIO card
must be served before the IRQSTAT[CINT] bit is cleared by written 1. Refer to Card
interrupt handling for the card interrupt handling flow.
52.6.4 Switch function
MMC cards transferring data at bus widths other than 1-bit is a new feature added to the
MMC specifications. The high speed timing mode for all card devices, was also recently
defined in various card specifications. To enable these new features, a "switch" command
shall be issued by the host driver.
For SDIO cards, the high speed mode is enabled by writing the EHS bit in the CCCR
register after the SHS bit is confirmed. For SD cards, the high speed mode is queried and
enabled by a CMD6 (with the mnemonic symbol as SWITCH_FUNC). For MMC cards
(and CE-ATA over MMC interface), the high speed mode is queried by a CMD8 and
enabled by a CMD6 (with the mnemonic symbol as SWITCH).
The 4-bit and 8-bit bus width of the MMC is also enabled by the SWITCH command, but
with a different argument.
These new functions can also be disabled by a software reset. For SDIO cards it can be
done by setting the RES bit in the CCCR register. For other cards, it can be accomplished
by issuing a CMD0. This method of restoring to the normal mode is not recommended
because a complete identification process is needed before the card is ready for data
transfer.
For the sake of simplicity, the following flowcharts do not show current capability check,
which is recommended in the function switch process.
52.6.4.1 Query, enable and disable SDIO high speed mode
enable_sdio_high_speed_mode(void)
{
send CMD52 to query bit SHS at address 0x13;
if (SHS bit is '0') report the SDIO card does not support high speed mode and return;
send CMD52 to set bit EHS at address 0x13 and read after write to confirm EHS bit is set;
change clock divisor value or configure the system clock feeding into eSDHC to generate the
card_clk of around 50MHz;
(data transactions like normal peers)
}
disable_sdio_high_speed_mode(void)
{
1658
K60 Sub-Family Reference Manual, Rev. 6, Nov 2011
Freescale Semiconductor, Inc.