storage: Fix CMD13 failure issue

This patch stores the correct capabilities for EMMC media which in turn
sets the correct timing data for HS400 mode.

Without this code change, EMMC CMD13 is failing at the end of HS400 mode
switching.

BUG=none
BRANCH=none
TEST=Build and boot Soraka

Change-Id: I3f00c9eace7cc136d86a1e07f040fbfc09e0e02e
Signed-off-by: Barnali Sarkar <barnali.sarkar@intel.com>
Signed-off-by: Subrata Banik <subrata.banik@intel.com>
Reviewed-on: https://review.coreboot.org/23541
Reviewed-by: Aaron Durbin <adurbin@chromium.org>
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Reviewed-by: Furquan Shaikh <furquan@google.com>
This commit is contained in:
Barnali Sarkar 2017-12-27 13:51:18 +05:30 committed by Subrata Banik
parent f43adf0b89
commit e962840282
1 changed files with 4 additions and 4 deletions

View File

@ -338,6 +338,10 @@ int mmc_change_freq(struct storage_media *media)
if (err)
return err;
/* Determine if the device supports enhanced strobe */
media->caps |= ext_csd[EXT_CSD_STROBE_SUPPORT]
? DRVR_CAP_ENHANCED_STROBE : 0;
if ((ctrlr->caps & DRVR_CAP_HS400) &&
(ext_csd[EXT_CSD_CARD_TYPE] & MMC_HS400))
err = mmc_select_hs400(media);
@ -419,10 +423,6 @@ int mmc_update_capacity(struct storage_media *media)
if (ext_csd[EXT_CSD_REV] < 2)
return 0;
/* Determine if the device supports enhanced strobe */
media->caps |= ext_csd[EXT_CSD_STROBE_SUPPORT]
? DRVR_CAP_ENHANCED_STROBE : 0;
/* Determine the eMMC device information */
media->partition_config = ext_csd[EXT_CSD_PART_CONF]
& EXT_CSD_PART_ACCESS_MASK;