Secure digital input/output interface (SDIO)
RM0090
1034/1731
DocID018909 Rev 11
When the password is previously set (PWD_LEN is not 0), the card is locked automatically
after power-on reset. An attempt to lock a locked card or to lock a card that does not have a
password fails and the LOCK_UNLOCK_FAILED error bit is set in the card status register.
Unlocking the card
1.
Select a card (
SELECT/DESELECT_CARD
, CMD7), if none is already selected.
2. Define the block length (
SET_BLOCKLEN
, CMD16) to send, given by the 8-bit
cardlock/unlock mode (byte 0 in
), the 8-bit PWD_LEN, and the number of
bytes of the current password.
3. Send
LOCK/UNLOCK
(CMD42) with the appropriate data block size on the data line
including the 16-bit CRC. The data block indicates the mode (LOCK_UNLOCK = 0), the
length (PWD_LEN), and the password (PWD) itself.
4. When the password is matched, the card is unlocked and the CARD_IS_LOCKED
status bit is cleared in the card status register. When the password sent is not correct in
size and/or content and does not correspond to the expected password, the
LOCK_UNLOCK_FAILED error bit is set in the card status register, and the card
remains locked.
The unlocking function is only valid for the current power session. When the PWD field is not
clear, the card is locked automatically on the next power-up.
An attempt to unlock an unlocked card fails and the LOCK_UNLOCK_FAILED error bit is set
in the card status register.
Forcing erase
If the user has forgotten the password (PWD content), it is possible to access the card after
clearing all the data on the card. This forced erase operation erases all card data and all
password data.
1.
Select a card (
SELECT/DESELECT_CARD
, CMD7), if none is already selected.
2. Set the block length (
SET_BLOCKLEN
, CMD16) to 1 byte. Only the 8-bit card
lock/unlock byte (byte 0 in
) is sent.
3. Send
LOCK/UNLOCK
(CMD42) with the appropriate data byte on the data line including
the 16-bit CRC. The data block indicates the mode (ERASE = 1). All other bits must be
zero.
4. When the ERASE bit is the only bit set in the data field, all card contents are erased,
including the PWD and PWD_LEN fields, and the card is no longer locked. When any
other bits are set, the LOCK_UNLOCK_FAILED error bit is set in the card status
register and the card retains all of its data, and remains locked.
An attempt to use a force erase on an unlocked card fails and the LOCK_UNLOCK_FAILED
error bit is set in the card status register.
31.4.11 Card
status
register
The response format R1 contains a 32-bit field named card status. This field is intended to
transmit the card status information (which may be stored in a local status register) to the
host. If not specified otherwise, the status entries are always related to the previously issued
command.
defines the different entries of the status. The type and clear condition fields in
the table are abbreviated as follows: