Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit b7574bad authored by Gao, Yunpeng's avatar Gao, Yunpeng Committed by Ulf Hansson
Browse files

mmc: sdhci-pci: disable preset register for Baytrail and Merrifield



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: default avatarYunpeng Gao <yunpeng.gao@intel.com>
Signed-off-by: default avatarChuanxiao Dong <chuanxiao.dong@intel.com>
Signed-off-by: default avatarUlf Hansson <ulf.hansson@linaro.org>
parent 2e47e842
Loading
Loading
Loading
Loading
+6 −3
Original line number Original line Diff line number Diff line
@@ -287,13 +287,15 @@ static const struct sdhci_pci_fixes sdhci_intel_byt_emmc = {
};
};


static const struct sdhci_pci_fixes sdhci_intel_byt_sdio = {
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,
	.allow_runtime_pm = true,
	.probe_slot	= byt_sdio_probe_slot,
	.probe_slot	= byt_sdio_probe_slot,
};
};


static const struct sdhci_pci_fixes sdhci_intel_byt_sd = {
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,
	.allow_runtime_pm = true,
	.own_cd_for_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 = {
static const struct sdhci_pci_fixes sdhci_intel_mrfl_mmc = {
	.quirks		= SDHCI_QUIRK_NO_ENDATTR_IN_NOPDESC,
	.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,
	.allow_runtime_pm = true,
	.probe_slot	= intel_mrfl_mmc_probe_slot,
	.probe_slot	= intel_mrfl_mmc_probe_slot,
};
};