]> git.karo-electronics.de Git - karo-tx-linux.git/commitdiff
ENGR00175692-01 [MX6DL] SD3.0: can not recognize SD3.0 cards on some boards.
authorRyan QIAN <b32804@freescale.com>
Wed, 29 Feb 2012 05:59:07 +0000 (13:59 +0800)
committerOliver Wendt <ow@karo-electronics.de>
Mon, 30 Sep 2013 12:11:05 +0000 (14:11 +0200)
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>
drivers/mmc/core/sd.c

index b7291e0444f6188dbcdbe60357e1df38027485a1..5d9d7529e130b3f7e971d29bcba2be164d4b7794 100644 (file)
@@ -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;
                }