mmc_hostname(card->host),
mmc_card_uhs(card) ? "ultra high speed " :
(mmc_card_hs(card) ? "high speed " : ""),
+ mmc_card_hs533(card) ? "HS533 " :
mmc_card_hs400(card) ? "HS400 " :
(mmc_card_hs200(card) ? "HS200 " : ""),
mmc_card_ddr52(card) ? "DDR " : "",
if (bus_width == MMC_BUS_WIDTH_1)
return 0;
- ddr = card->mmc_avail_type & EXT_CSD_CARD_TYPE_DDR_52;
+ ddr = card->mmc_avail_type & (EXT_CSD_CARD_TYPE_DDR_52 |
+ EXT_CSD_CARD_TYPE_HS400);
if (ddr)
ext_csd_bits = (bus_width == MMC_BUS_WIDTH_8) ?
EXT_CSD_DDR_BUS_WIDTH_8 : EXT_CSD_DDR_BUS_WIDTH_4;
* it is required to convert from HS200 mode to HS mode.
*/
mmc_set_timing(card->host, MMC_TIMING_MMC_HS);
- mmc_set_bus_speed(card);
-
err = __mmc_switch(card, EXT_CSD_CMD_SET_NORMAL,
EXT_CSD_HS_TIMING, EXT_CSD_TIMING_HS,
card->ext_csd.generic_cmd6_time,
mmc_hostname(host), err);
return err;
}
+ mmc_set_bus_speed(card);
/* Enable enhanced strobe support if supported by both host and card */
if (card->ext_csd.strobe_support &&