838
32072H–AVR32–10/2012
AT32UC3A3
An SDIO Card can have multiple I/O or combined I/O and memory (called Combo Card). Within
a multi-function SDIO or a Combo card, there are multiple devices (I/O and memory) that share
access to the SD bus. In order to allow the sharing of access to the host among multiple devices,
SDIO and combo cards can implement the optional concept of suspend/resume (Refer to the
SDIO Specification for more details). To send a suspend or a resume command, the host must
set the SDIO Special Command field in CMDR register (CMDR.IOSPCMD).
31.6.5.2
SDIO Interrupts
Each function within an SDIO or Combo card may implement interrupts (Refer to the SDIO
Specification for more details). In order to allow the SDIO card to interrupt the host, an interrupt
function is added to a pin on the DAT[1] line to signal the card’s interrupt to the host. An SDIO
interrupt on each slot can be enabled in the IER register. The SDIO interrupt is sampled regard-
less of the currently selected slot.
31.6.6
CE-ATA Operation
CE-ATA maps the streamlined ATA command set onto the MMC interface. The ATA task file is
mapped onto MMC register space.
CE-ATA utilizes five MMC commands:
GO_IDLE_STATE (CMD0): used for hard reset.
STOP_TRANSMISSION (CMD12): causes the ATA command currently executing to be
aborted.
FAST_IO (CMD39): Used for single register access to the ATA taskfile registers, eight bit
access only.
RW_MULTIPLE_REGISTERS (CMD60): used to issue an ATA command or to access the
control/status registers.
RW_MULTIPLE_BLOCK (CMD61): used to transfer data for an ATA command.
CE-ATA utilizes the same MMC command sequences for initialization as traditional MMC
devices.
31.6.6.1
Executing an ATA Polling Command
1.
Issue READ_DMA_EXT with RW_MULTIPLE_REGISTER (CMD60) for eight kB of
DATA.
2.
Read the ATA status register until DRQ is set.
3.
Issue RW_MULTIPLE_BLOCK (CMD61) to transfer DATA.
4.
Read the ATA status register until DRQ && BSY are set to 0.
31.6.6.2
Executing an ATA Interrupt Command
1.
Issue READ_DMA_EXT with RW_MULTIPLE_REGISTER (CMD60) for eight kB of
DATA with the IEN field written to zero to enable the command completion signal in the
device.
2.
Issue RW_MULTIPLE_BLOCK (CMD61) to transfer DATA.
3.
Wait for Completion Signal Received Interrupt.
31.6.6.3
Aborting an ATA Command
If the host needs to abort an ATA command prior to the completion signal it must send a special
command to avoid potential collision on the command line. The Special Command field of