|
@@ -269,7 +269,9 @@ static void sdhci_pci_int_hw_reset(struct sdhci_host *host)
|
|
|
static int byt_emmc_probe_slot(struct sdhci_pci_slot *slot)
|
|
|
{
|
|
|
slot->host->mmc->caps |= MMC_CAP_8_BIT_DATA | MMC_CAP_NONREMOVABLE |
|
|
|
- MMC_CAP_HW_RESET | MMC_CAP_1_8V_DDR;
|
|
|
+ MMC_CAP_HW_RESET | MMC_CAP_1_8V_DDR |
|
|
|
+ MMC_CAP_BUS_WIDTH_TEST |
|
|
|
+ MMC_CAP_WAIT_WHILE_BUSY;
|
|
|
slot->host->mmc->caps2 |= MMC_CAP2_HC_ERASE_SZ;
|
|
|
slot->hw_reset = sdhci_pci_int_hw_reset;
|
|
|
if (slot->chip->pdev->device == PCI_DEVICE_ID_INTEL_BSW_EMMC)
|
|
@@ -279,12 +281,16 @@ static int byt_emmc_probe_slot(struct sdhci_pci_slot *slot)
|
|
|
|
|
|
static int byt_sdio_probe_slot(struct sdhci_pci_slot *slot)
|
|
|
{
|
|
|
- slot->host->mmc->caps |= MMC_CAP_POWER_OFF_CARD | MMC_CAP_NONREMOVABLE;
|
|
|
+ slot->host->mmc->caps |= MMC_CAP_POWER_OFF_CARD | MMC_CAP_NONREMOVABLE |
|
|
|
+ MMC_CAP_BUS_WIDTH_TEST |
|
|
|
+ MMC_CAP_WAIT_WHILE_BUSY;
|
|
|
return 0;
|
|
|
}
|
|
|
|
|
|
static int byt_sd_probe_slot(struct sdhci_pci_slot *slot)
|
|
|
{
|
|
|
+ slot->host->mmc->caps |= MMC_CAP_BUS_WIDTH_TEST |
|
|
|
+ MMC_CAP_WAIT_WHILE_BUSY;
|
|
|
slot->cd_con_id = NULL;
|
|
|
slot->cd_idx = 0;
|
|
|
slot->cd_override_level = true;
|