summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorXinyu Chen <b03824@freescale.com>2011-12-19 14:28:53 +0800
committerXinyu Chen <b03824@freescale.com>2011-12-19 14:28:53 +0800
commita53e91041a9e8c803a9e7f927e2d8e7f41dd173d (patch)
tree7bd8f1970e7cb7e66685818b0e7dc39492e340a8
parent5580fa683fa68d236d841a592a28d63453da845f (diff)
downloadu-boot-imx-a53e91041a9e8c803a9e7f927e2d8e7f41dd173d.zip
u-boot-imx-a53e91041a9e8c803a9e7f927e2d8e7f41dd173d.tar.gz
u-boot-imx-a53e91041a9e8c803a9e7f927e2d8e7f41dd173d.tar.bz2
ENGR00170541 mmc: avoid low capacity mmc card be set as sector mode
Remove the mmc sector mode detect code to avoid some low capacity mmc card not well detected. Signed-off-by: Xinyu Chen <xinyu.chen@freescale.com>
-rw-r--r--drivers/mmc/mmc.c11
1 files changed, 3 insertions, 8 deletions
diff --git a/drivers/mmc/mmc.c b/drivers/mmc/mmc.c
index cf2a9a6..3738210 100644
--- a/drivers/mmc/mmc.c
+++ b/drivers/mmc/mmc.c
@@ -437,11 +437,6 @@ static int mmc_change_freq(struct mmc *mmc)
if (err)
goto err_rtn;
- /* Cards with density > 2GiB are sector addressed */
- if ((ext_csd[212] || ext_csd[213] || ext_csd[214] || ext_csd[215]) &&
- ((mmc->capacity > (2u * 1024 * 1024 * 1024) / 512)))
- mmc->high_capacity = 1;
-
cardtype = ext_csd[EXT_CSD_CARD_TYPE] & 0xf;
err = mmc_switch(mmc, EXT_CSD_CMD_SET_NORMAL, EXT_CSD_HS_TIMING, 1);
@@ -565,6 +560,9 @@ retry_scr:
break;
}
+ if (mmc->scr[0] & SD_DATA_4BIT)
+ mmc->card_caps |= MMC_MODE_4BIT;
+
/* Version 1.0 doesn't support switching */
if (mmc->version == SD_VERSION_1_0)
return 0;
@@ -582,9 +580,6 @@ retry_scr:
break;
}
- if (mmc->scr[0] & SD_DATA_4BIT)
- mmc->card_caps |= MMC_MODE_4BIT;
-
/* If high-speed isn't supported, we return */
if (!(__be32_to_cpu(switch_status[3]) & SD_HIGHSPEED_SUPPORTED))
return 0;