diff options
author | Xinyu Chen <b03824@freescale.com> | 2011-12-19 14:28:53 +0800 |
---|---|---|
committer | Xinyu Chen <b03824@freescale.com> | 2011-12-19 14:28:53 +0800 |
commit | a53e91041a9e8c803a9e7f927e2d8e7f41dd173d (patch) | |
tree | 7bd8f1970e7cb7e66685818b0e7dc39492e340a8 | |
parent | 5580fa683fa68d236d841a592a28d63453da845f (diff) | |
download | u-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.c | 11 |
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; |