AR# 47533


Zynq-7000 SoC, SDIO - A Second CMD12 can be Erroneously Issued if Auto CMD12 is Enabled


If during the execution of an Auto CMD12 command, software sends another command (such as CMD13) to poll for the program state, then this second CMD is supposed to be driven on to the CMD line. However, CMD12 is driven again.


Impact: Minor, refer to the Work-around below.

Configurations Affected: Systems that use the SDIO controller.

Device Revision(s) Affected: All, no plan to fix. Refer to (Xilinx Answer 47916) Zynq-7000 Design Advisory Master Answer Record


Avoid sending any non-data transfer commands when the multiple block transfer is in progress with Auto CMD12 enabled. In other words, any non-data transfer command should only be sent after the Auto CMD12 is finished as indicated by the Transfer Complete Interrupt (bit 1 of register at 0x030). The software driver polls for this interrupt before issuing the new command.

When software issues CMD18 or CMD25 followed by the auto CMD12, the following is how the controller responds:

1. Send CMD18/25.
2. Command_Complete Interrupt for CMD18/25.
3. Transfer_Complete Interrupt for CMD18/25 and Auto CMD12.

AR# 47533
Date 06/13/2018
Status Active
Type Design Advisory
People Also Viewed