Datasheet

771
SAM9G45 [DATASHEET]
Atmel-6438O-ATARM-SAM9G45-Datasheet_08-Dec-15
The command ALL_SEND_CID and the fields and values for the HSMCI_CMDR are described in Table 35-6 and
Table 35-7.
Note: 1. bcr means broadcast command with response.
The HSMCI Argument Register (HSMCI_ARGR) contains the argument field of the command.
To send a command, the user must perform the following steps:
Fill the HSMCI_ARGR with the command argument.
Set the HSMCI_CMDR (see Table 35-7).
The command is sent immediately after writing the HSMCI_CMDR.
While the card maintains a busy indication (at the end of a STOP_TRANSMISSION command CMD12, for
example), a new command shall not be sent. The NOTBUSY flag in the HSMCI Status Register (HSMCI_SR) is
asserted when the card releases the busy indication.
If the command requires a response, it can be read in the HSMCI Response Register (HSMCI_RSPR). The
response size can be from 48 bits up to 136 bits depending on the command. The HSMCI 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 HSMCI Interrupt Enable Register
(HSMCI_IER) allows using an interrupt method.
Table 35-6. ALL_SEND_CID Command Description
CMD Index Type Argument Resp Abbreviation Command Description
CMD2 bcr
(1)
[31:0] stuff bits R2 ALL_SEND_CID Asks all cards to send their CID numbers on the CMD line
Table 35-7. Fields and Values for HSMCI_CMDR
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)