diff options
author | Amaury Pouly <amaury.pouly@gmail.com> | 2014-02-11 19:09:28 +0100 |
---|---|---|
committer | Amaury Pouly <amaury.pouly@gmail.com> | 2014-02-11 19:09:51 +0100 |
commit | 5172d663997e1ba33679cc7559e4900c5d4163be (patch) | |
tree | 49e2eb08a86278ab42d7a2df9ac2a61f7627d44d /firmware | |
parent | 2b02cbe1ccbf2fcdcc164c6a4139f6666aed23c9 (diff) | |
download | rockbox-5172d663997e1ba33679cc7559e4900c5d4163be.tar.gz rockbox-5172d663997e1ba33679cc7559e4900c5d4163be.zip |
imx233: cleanup in sdmmc
Change-Id: I82eac65b1bf9f2e963c4ebfb7c22da678ae63642
Diffstat (limited to 'firmware')
-rw-r--r-- | firmware/target/arm/imx233/sdmmc-imx233.c | 20 |
1 files changed, 9 insertions, 11 deletions
diff --git a/firmware/target/arm/imx233/sdmmc-imx233.c b/firmware/target/arm/imx233/sdmmc-imx233.c index 7df0e412e5..dbca78be79 100644 --- a/firmware/target/arm/imx233/sdmmc-imx233.c +++ b/firmware/target/arm/imx233/sdmmc-imx233.c | |||
@@ -427,17 +427,15 @@ static int init_sd_card(int drive) | |||
427 | /* Try to switch V2 cards to HS timings, non HS seem to ignore this */ | 427 | /* Try to switch V2 cards to HS timings, non HS seem to ignore this */ |
428 | if(sd_v2) | 428 | if(sd_v2) |
429 | { | 429 | { |
430 | /* only transfer 64 bytes */ | ||
431 | imx233_ssp_set_block_size(ssp, /*log2(64)*/6); | ||
430 | /* CMD6 switch to HS */ | 432 | /* CMD6 switch to HS */ |
431 | { | 433 | if(imx233_ssp_sd_mmc_transfer(ssp, SD_SWITCH_FUNC, 0x80fffff1, |
432 | /* only transfer 64 bytes */ | 434 | SSP_SHORT_RESP, aligned_buffer[drive], 1, true, true, NULL)) |
433 | imx233_ssp_set_block_size(ssp, /*log2(64)*/6); | 435 | return -12; |
434 | if(imx233_ssp_sd_mmc_transfer(ssp, SD_SWITCH_FUNC, 0x80fffff1, | 436 | imx233_ssp_set_block_size(ssp, /*log2(512)*/9); |
435 | SSP_SHORT_RESP, aligned_buffer[drive], 1, true, true, NULL)) | 437 | if((aligned_buffer[drive][16] & 0xf) == 1) |
436 | return -12; | 438 | sd_hs = true; |
437 | imx233_ssp_set_block_size(ssp, /*log2(512)*/9); | ||
438 | if((aligned_buffer[drive][16] & 0xf) == 1) | ||
439 | sd_hs = true; | ||
440 | } | ||
441 | } | 439 | } |
442 | 440 | ||
443 | /* probe for CMD23 support */ | 441 | /* probe for CMD23 support */ |
@@ -954,7 +952,7 @@ int mmc_init(void) | |||
954 | if(SDMMC_FLAGS(drive) & PROBE) | 952 | if(SDMMC_FLAGS(drive) & PROBE) |
955 | continue; | 953 | continue; |
956 | else | 954 | else |
957 | panicf("init_drive(%d) failed: %d (mmc)", ret); | 955 | panicf("init_drive(%d) failed: %d (mmc)", drive, ret); |
958 | } | 956 | } |
959 | mmc_map[_mmc_num_drives++] = drive; | 957 | mmc_map[_mmc_num_drives++] = drive; |
960 | } | 958 | } |