diff options
author | Bertrik Sikken <bertrik@sikken.nl> | 2010-12-12 14:04:07 +0000 |
---|---|---|
committer | Bertrik Sikken <bertrik@sikken.nl> | 2010-12-12 14:04:07 +0000 |
commit | 9da76f3031a91d24167c93dd818eeaea6a9f0a67 (patch) | |
tree | 754b3f35fef1abdeb3f11a054b367af506a34d2e | |
parent | 7b3c7db486febc6b830db106af6df5aaf5838421 (diff) | |
download | rockbox-9da76f3031a91d24167c93dd818eeaea6a9f0a67.tar.gz rockbox-9da76f3031a91d24167c93dd818eeaea6a9f0a67.zip |
AMSv2: only switch sd cards to high speed mode for for v2 sd cards, just like is done for AMSv1
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@28808 a1c6a512-1295-4272-9138-f99709370657
-rw-r--r-- | firmware/target/arm/as3525/sd-as3525v2.c | 37 |
1 files changed, 20 insertions, 17 deletions
diff --git a/firmware/target/arm/as3525/sd-as3525v2.c b/firmware/target/arm/as3525/sd-as3525v2.c index a4b6285c55..7eeac21f5e 100644 --- a/firmware/target/arm/as3525/sd-as3525v2.c +++ b/firmware/target/arm/as3525/sd-as3525v2.c | |||
@@ -541,23 +541,26 @@ static int sd_init_card(const int drive) | |||
541 | #endif | 541 | #endif |
542 | /* End of Card Identification Mode ************************************/ | 542 | /* End of Card Identification Mode ************************************/ |
543 | 543 | ||
544 | /* Attempt to switch cards to HS timings, non HS cards just ignore this */ | 544 | if (sd_v2) |
545 | /* CMD7 w/rca: Select card to put it in TRAN state */ | 545 | { |
546 | if(!send_cmd(drive, SD_SELECT_CARD, card_info[drive].rca, MCI_NO_RESP, NULL)) | 546 | /* Attempt to switch cards to HS timings, non HS cards just ignore this */ |
547 | return -7; | 547 | /* CMD7 w/rca: Select card to put it in TRAN state */ |
548 | 548 | if(!send_cmd(drive, SD_SELECT_CARD, card_info[drive].rca, MCI_NO_RESP, NULL)) | |
549 | if(sd_wait_for_tran_state(drive)) | 549 | return -7; |
550 | return -8; | 550 | |
551 | 551 | if(sd_wait_for_tran_state(drive)) | |
552 | /* CMD6 */ | 552 | return -8; |
553 | if(!send_cmd(drive, SD_SWITCH_FUNC, 0x80fffff1, MCI_NO_RESP, NULL)) | 553 | |
554 | return -9; | 554 | /* CMD6 */ |
555 | mci_delay(); | 555 | if(!send_cmd(drive, SD_SWITCH_FUNC, 0x80fffff1, MCI_NO_RESP, NULL)) |
556 | 556 | return -9; | |
557 | /* We need to go back to STBY state now so we can read csd */ | 557 | mci_delay(); |
558 | /* CMD7 w/rca=0: Deselect card to put it in STBY state */ | 558 | |
559 | if(!send_cmd(drive, SD_DESELECT_CARD, 0, MCI_NO_RESP, NULL)) | 559 | /* We need to go back to STBY state now so we can read csd */ |
560 | return -10; | 560 | /* CMD7 w/rca=0: Deselect card to put it in STBY state */ |
561 | if(!send_cmd(drive, SD_DESELECT_CARD, 0, MCI_NO_RESP, NULL)) | ||
562 | return -10; | ||
563 | } | ||
561 | 564 | ||
562 | /* CMD9 send CSD */ | 565 | /* CMD9 send CSD */ |
563 | if(!send_cmd(drive, SD_SEND_CSD, card_info[drive].rca, | 566 | if(!send_cmd(drive, SD_SEND_CSD, card_info[drive].rca, |