diff options
Diffstat (limited to 'firmware/target/arm/as3525/sd-as3525v2.c')
-rw-r--r-- | firmware/target/arm/as3525/sd-as3525v2.c | 11 |
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 */ |