|
@@ -1040,10 +1040,12 @@ static int mmc_select_hs_ddr(struct mmc_card *card)
|
|
|
ext_csd_bits = (bus_width == MMC_BUS_WIDTH_8) ?
|
|
|
EXT_CSD_DDR_BUS_WIDTH_8 : EXT_CSD_DDR_BUS_WIDTH_4;
|
|
|
|
|
|
- err = mmc_switch(card, EXT_CSD_CMD_SET_NORMAL,
|
|
|
- EXT_CSD_BUS_WIDTH,
|
|
|
- ext_csd_bits,
|
|
|
- card->ext_csd.generic_cmd6_time);
|
|
|
+ err = __mmc_switch(card, EXT_CSD_CMD_SET_NORMAL,
|
|
|
+ EXT_CSD_BUS_WIDTH,
|
|
|
+ ext_csd_bits,
|
|
|
+ card->ext_csd.generic_cmd6_time,
|
|
|
+ MMC_TIMING_MMC_DDR52,
|
|
|
+ true, true, true);
|
|
|
if (err) {
|
|
|
pr_err("%s: switch to bus width %d ddr failed\n",
|
|
|
mmc_hostname(host), 1 << bus_width);
|
|
@@ -1086,9 +1088,6 @@ static int mmc_select_hs_ddr(struct mmc_card *card)
|
|
|
if (err)
|
|
|
err = __mmc_set_signal_voltage(host, MMC_SIGNAL_VOLTAGE_330);
|
|
|
|
|
|
- if (!err)
|
|
|
- mmc_set_timing(host, MMC_TIMING_MMC_DDR52);
|
|
|
-
|
|
|
return err;
|
|
|
}
|
|
|
|