RS_SDIO controller
RM0082
690/844
Doc ID 018672 Rev 1
1.
Set the value to Block Size register.
2.
Set the value to Block Count register.
3.
Set the argument value to Argument register.
4.
Set the value to the Transfer Mode register. The host driver determines Multi / Single
Block Select, Block Count Enable, Data Transfer Direction, Auto CMD12 Enable and
DMA Enable.
5.
Set the value to Command register.
6.
Then, wait for the Command Complete Interrupt.
7. Write logic ‘1’ to the Command Complete in the Normal Interrupt Status register for
clearing this bit.
8.
Read Response register and get necessary information of the issued command.
9.
In the case where this sequence is for write to a card, go to step (10). In case of read
from a card, go to step (14).
10. Then wait for Buffer Write Ready Interrupt.
11. Write logic ‘1’ to the Buffer Write Ready in the Normal Interrupt Status register for
clearing this bit.
12. Write block data to Buffer Data Port register.
13. Repeat until all blocks are sent and then go to step (18).
14. Then wait for the Buffer Read Ready Interrupt.
15. Write logic ‘1’ to the Buffer Read Ready in the Normal Interrupt Status register for
clearing this bit.
16. Read block data from the Buffer Data Port register.
17. Repeat until all blocks are received and then go to step (18).
18. If this sequence is for Single or Multiple Block Transfer, go to step (19). In case of
Infinite Block Transfer, go to step (21).
19. Wait for Transfer Complete Interrupt.
20. Write logic ‘1’ to the Transfer Complete in the Normal Interrupt Status register for
clearing this bit.
21. Perform the sequence for Abort Transaction