diff options
-rw-r--r-- | firmware/target/arm/as3525/sd-as3525v2.c | 11 |
1 files changed, 6 insertions, 5 deletions
diff --git a/firmware/target/arm/as3525/sd-as3525v2.c b/firmware/target/arm/as3525/sd-as3525v2.c index 6d07bcca97..93dc7444c5 100644 --- a/firmware/target/arm/as3525/sd-as3525v2.c +++ b/firmware/target/arm/as3525/sd-as3525v2.c | |||
@@ -588,18 +588,19 @@ static int sd_init_card(const int drive) | |||
588 | if(drive == INTERNAL_AS3525) /* The OF is stored in the first blocks */ | 588 | if(drive == INTERNAL_AS3525) /* The OF is stored in the first blocks */ |
589 | card_info[INTERNAL_AS3525].numblocks -= AMS_OF_SIZE; | 589 | card_info[INTERNAL_AS3525].numblocks -= AMS_OF_SIZE; |
590 | 590 | ||
591 | #ifndef BOOTLOADER | ||
592 | /* Switch to to 4 bit widebus mode */ | ||
593 | |||
591 | /* CMD7 w/rca: Select card to put it in TRAN state */ | 594 | /* CMD7 w/rca: Select card to put it in TRAN state */ |
592 | if(!send_cmd(drive, SD_SELECT_CARD, card_info[drive].rca, MCI_RESP, &response)) | 595 | if(!send_cmd(drive, SD_SELECT_CARD, card_info[drive].rca, MCI_RESP, &response)) |
593 | return -12; | 596 | return -12; |
594 | |||
595 | #ifndef BOOTLOADER | ||
596 | /* Switch to to 4 bit widebus mode */ | ||
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 | |
600 | /* ACMD6: set bus width to 4-bit */ | ||
600 | if(!send_cmd(drive, SD_SET_BUS_WIDTH, 2, MCI_ACMD|MCI_RESP, &response)) | 601 | if(!send_cmd(drive, SD_SET_BUS_WIDTH, 2, MCI_ACMD|MCI_RESP, &response)) |
601 | return -15; | 602 | return -15; |
602 | /* ACMD42 */ | 603 | /* ACMD42: disconnect the pull-up resistor on CD/DAT3 */ |
603 | if(!send_cmd(drive, SD_SET_CLR_CARD_DETECT, 0, MCI_ACMD|MCI_RESP, &response)) | 604 | if(!send_cmd(drive, SD_SET_CLR_CARD_DETECT, 0, MCI_ACMD|MCI_RESP, &response)) |
604 | return -17; | 605 | return -17; |
605 | 606 | ||