diff options
author | Ryan QIAN <b32804@freescale.com> | 2012-02-29 13:59:07 +0800 |
---|---|---|
committer | Ryan QIAN <b32804@freescale.com> | 2012-02-29 14:46:04 +0800 |
commit | ff20422b34b917ff8daf4c5f495f7a3f24dca8d6 (patch) | |
tree | 9c0d0f7ef332b296171d4e8361ff76ed5d865e34 /drivers/mmc | |
parent | 356e4530f69138a83996cab994b8292281a18500 (diff) |
ENGR00175692-01 [MX6DL] SD3.0: can not recognize SD3.0 cards on some boards.
Improve compatibility by doing the following:
- Change DSE to 34ohm for 200MHz
- Reset host controller before changing clk tuning ctrl reg
Signed-off-by: Ryan QIAN <b32804@freescale.com>
Diffstat (limited to 'drivers/mmc')
-rw-r--r-- | drivers/mmc/core/sd.c | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/drivers/mmc/core/sd.c b/drivers/mmc/core/sd.c index b7291e0444f6..5d9d7529e130 100644 --- a/drivers/mmc/core/sd.c +++ b/drivers/mmc/core/sd.c @@ -637,11 +637,13 @@ static int mmc_sd_init_uhs_card(struct mmc_card *card) min += card->host->tuning_step; } - max = min; + max = min + card->host->tuning_step; while (max < card->host->tuning_max) { mmc_set_tuning(card->host, max); - if (!mmc_send_tuning_cmd(card)) + if (mmc_send_tuning_cmd(card)) { + max -= card->host->tuning_step; break; + } max += card->host->tuning_step; } |