I have been working on a SD controller for the imx6SDL. I am testing and debugging the initialization, however it is not working, this happens when I issue CMD7 to enter to transfer state. When I check for any error on the Interrupt Status Register after the command is sent, I got a Command Timeout Error and Command Index Error and I have not been able to discovered the problem. I issue some other commands (CMD0, CMD8, CMD55, ACMD41, CMD2, CMD3) and I did not find any error. Before sending this command, I clear the Interrupt Status Register fields (CC, CTOE, CCE, CEBE, CIE), also it is important to mention that I got 0x80700 in Command Reponse 0 Register.
This is the way I set the instance registers:
Command Index = 7
Argument = Card Relative Address (0x7 << 16)
Response Type Select (Command Transfer Type Register) = Response Length 48, check Busy after response (0x3)
Data Transfer Direction Select (Mixer Control Register) = 1 (Read)
Data Present Select (Command Transfer Type Register) = 0 No Data Present
Command Index Check Enable (Command Transfer Type Register) = 1 Enable
Command CRC Check Enable (Command Transfer Type Register) = 1 Enable.
As I mentioned before, I did not get any error on other commands, the SD card is successfully detected however I can not enter to transfer state to start transmitting data. I really appreciate any suggestion that can help me to solve my problem.