mmc: sdhci-pci: disable preset register for Baytrail and Merrifield
authorGao, Yunpeng <yunpeng.gao@intel.com>
Thu, 4 Sep 2014 07:18:05 +0000 (15:18 +0800)
committerUlf Hansson <ulf.hansson@linaro.org>
Tue, 9 Sep 2014 11:59:26 +0000 (13:59 +0200)
Due to HW issue, SDHCI host controller on Intel
Baytrail/Merrifield platforms can not use preset
register. So, disable preset registers for them by quirks.

Signed-off-by: Yunpeng Gao <yunpeng.gao@intel.com>
Signed-off-by: Chuanxiao Dong <chuanxiao.dong@intel.com>
Signed-off-by: Ulf Hansson <ulf.hansson@linaro.org>
drivers/mmc/host/sdhci-pci.c

index ff9ab62e6eef0b5f87f15e7d87b9c4754a882878..580073bc164caa334f8c3676cb3ff6a481a7405a 100644 (file)
@@ -287,13 +287,15 @@ static const struct sdhci_pci_fixes sdhci_intel_byt_emmc = {
 };
 
 static const struct sdhci_pci_fixes sdhci_intel_byt_sdio = {
-       .quirks2        = SDHCI_QUIRK2_HOST_OFF_CARD_ON,
+       .quirks2        = SDHCI_QUIRK2_HOST_OFF_CARD_ON |
+                       SDHCI_QUIRK2_PRESET_VALUE_BROKEN,
        .allow_runtime_pm = true,
        .probe_slot     = byt_sdio_probe_slot,
 };
 
 static const struct sdhci_pci_fixes sdhci_intel_byt_sd = {
-       .quirks2        = SDHCI_QUIRK2_CARD_ON_NEEDS_BUS_ON,
+       .quirks2        = SDHCI_QUIRK2_CARD_ON_NEEDS_BUS_ON |
+                       SDHCI_QUIRK2_PRESET_VALUE_BROKEN,
        .allow_runtime_pm = true,
        .own_cd_for_runtime_pm = true,
 };
@@ -317,7 +319,8 @@ static int intel_mrfl_mmc_probe_slot(struct sdhci_pci_slot *slot)
 
 static const struct sdhci_pci_fixes sdhci_intel_mrfl_mmc = {
        .quirks         = SDHCI_QUIRK_NO_ENDATTR_IN_NOPDESC,
-       .quirks2        = SDHCI_QUIRK2_BROKEN_HS200,
+       .quirks2        = SDHCI_QUIRK2_BROKEN_HS200 |
+                       SDHCI_QUIRK2_PRESET_VALUE_BROKEN,
        .allow_runtime_pm = true,
        .probe_slot     = intel_mrfl_mmc_probe_slot,
 };
This page took 0.027816 seconds and 5 git commands to generate.