summaryrefslogtreecommitdiff
path: root/firmware/target/arm/as3525/sd-as3525v2.c
diff options
context:
space:
mode:
Diffstat (limited to 'firmware/target/arm/as3525/sd-as3525v2.c')
-rw-r--r--firmware/target/arm/as3525/sd-as3525v2.c11
1 files changed, 5 insertions, 6 deletions
diff --git a/firmware/target/arm/as3525/sd-as3525v2.c b/firmware/target/arm/as3525/sd-as3525v2.c
index abc58a2619..7aecf12e72 100644
--- a/firmware/target/arm/as3525/sd-as3525v2.c
+++ b/firmware/target/arm/as3525/sd-as3525v2.c
@@ -550,14 +550,14 @@ static int sd_init_card(const int drive)
550 { 550 {
551 /* Attempt to switch cards to HS timings, non HS cards just ignore this */ 551 /* Attempt to switch cards to HS timings, non HS cards just ignore this */
552 /* CMD7 w/rca: Select card to put it in TRAN state */ 552 /* CMD7 w/rca: Select card to put it in TRAN state */
553 if(!send_cmd(drive, SD_SELECT_CARD, card_info[drive].rca, MCI_NO_RESP, NULL)) 553 if(!send_cmd(drive, SD_SELECT_CARD, card_info[drive].rca, MCI_RESP, &response))
554 return -7; 554 return -7;
555 555
556 if(sd_wait_for_tran_state(drive)) 556 if(sd_wait_for_tran_state(drive))
557 return -8; 557 return -8;
558 558
559 /* CMD6 */ 559 /* CMD6 */
560 if(!send_cmd(drive, SD_SWITCH_FUNC, 0x80fffff1, MCI_NO_RESP, NULL)) 560 if(!send_cmd(drive, SD_SWITCH_FUNC, 0x80fffff1, MCI_RESP, &response))
561 return -9; 561 return -9;
562 562
563 /* This delay is a bit of a hack, but seems to fix card detection 563 /* This delay is a bit of a hack, but seems to fix card detection
@@ -589,7 +589,7 @@ static int sd_init_card(const int drive)
589 MCI_CLKDIV &= ~(0xFF); /* CLK_DIV_0 : bits 7:0 = 0x00 */ 589 MCI_CLKDIV &= ~(0xFF); /* CLK_DIV_0 : bits 7:0 = 0x00 */
590 590
591 /* CMD7 w/rca: Select card to put it in TRAN state */ 591 /* CMD7 w/rca: Select card to put it in TRAN state */
592 if(!send_cmd(drive, SD_SELECT_CARD, card_info[drive].rca, MCI_NO_RESP, NULL)) 592 if(!send_cmd(drive, SD_SELECT_CARD, card_info[drive].rca, MCI_RESP, &response))
593 return -12; 593 return -12;
594 594
595#ifndef BOOTLOADER 595#ifndef BOOTLOADER
@@ -597,11 +597,10 @@ static int sd_init_card(const int drive)
597 if(sd_wait_for_tran_state(drive) < 0) 597 if(sd_wait_for_tran_state(drive) < 0)
598 return -13; 598 return -13;
599 /* ACMD6 */ 599 /* ACMD6 */
600 if(!send_cmd(drive, SD_SET_BUS_WIDTH, 2, MCI_ACMD|MCI_NO_RESP, NULL)) 600 if(!send_cmd(drive, SD_SET_BUS_WIDTH, 2, MCI_ACMD|MCI_RESP, &response))
601 return -15; 601 return -15;
602 mci_delay();
603 /* ACMD42 */ 602 /* ACMD42 */
604 if(!send_cmd(drive, SD_SET_CLR_CARD_DETECT, 0, MCI_ACMD|MCI_NO_RESP, NULL)) 603 if(!send_cmd(drive, SD_SET_CLR_CARD_DETECT, 0, MCI_ACMD|MCI_RESP, &response))
605 return -17; 604 return -17;
606 605
607 /* Now that card is widebus make controller aware */ 606 /* Now that card is widebus make controller aware */