Datasheet

SAM9G20
DS60001516A-page 572 2017 Microchip Technology Inc.
Note: bcr means broadcast command with response.
The MCI_ARGR contains the argument field of the command.
To send a command, the user must perform the following steps:
Fill the argument register (MCI_ARGR) with the command argument.
Set the command register (MCI_CMDR) (see Table 34-5).
The command is sent immediately after writing the command register. The status bit CMDRDY in the status register (MCI_SR) is asserted
when the command is completed. If the command requires a response, it can be read in the MCI response register (MCI_RSPR). The
response size can be from 48 bits up to 136 bits depending on the command. The MCI embeds an error detection to prevent any corrupted
data during the transfer.
The following flowchart shows how to send a command to the card and read the response if needed. In this example, the status register
bits are polled but setting the appropriate bits in the interrupt enable register (MCI_IER) allows using an interrupt method.
Table 34-4: ALL_SEND_CID Command Description
CMD Index Type Argument Resp Abbreviation Command Description
CMD2 bcr [31:0] stuff bits R2 ALL_SEND_CID
Asks all cards to send their CID numbers on the CMD
line
Table 34-5: Fields and Values for MCI_CMDR Command Register
Field Value
CMDNB (command number) 2 (CMD2)
RSPTYP (response type) 2 (R2: 136 bits response)
SPCMD (special command) 0 (not a special command)
OPCMD (open drain command) 1
MAXLAT (max latency for command to response) 0 (NID cycles ==> 5 cycles)
TRCMD (transfer command) 0 (No transfer)
TRDIR (transfer direction) X (available only in transfer command)
TRTYP (transfer type) X (available only in transfer command)
IOSPCMD (SDIO special command) 0 (not a special command)