summaryrefslogtreecommitdiffstats
path: root/drivers/mmc/host/sdhci-pci-core.c
diff options
context:
space:
mode:
authorKyle Roeschley2018-04-13 23:54:58 +0200
committerUlf Hansson2018-05-02 15:08:44 +0200
commitbb26b8412dec694a99f3b1b1dd1eed1f185f04f6 (patch)
treedb9ec4a1ef6770b771e1956faf883b42b97bbd70 /drivers/mmc/host/sdhci-pci-core.c
parentmmc: core: Add capability to avoid 3.3V signaling (diff)
downloadkernel-qcow2-linux-bb26b8412dec694a99f3b1b1dd1eed1f185f04f6.tar.gz
kernel-qcow2-linux-bb26b8412dec694a99f3b1b1dd1eed1f185f04f6.tar.xz
kernel-qcow2-linux-bb26b8412dec694a99f3b1b1dd1eed1f185f04f6.zip
mmc: sdhci-pci: Avoid 3.3V signaling on some NI 904x
On some NI 904x devices, using 3.3V signaling for extended periods of time will physically damage the pads connected to the SDHC, eventually causing complete failure of the controller. To work around this, require that we avoid 3.3V signaling. Signed-off-by: Kyle Roeschley <kyle.roeschley@ni.com> Signed-off-by: Jennifer Dahm <jennifer.dahm@ni.com> Acked-by: Adrian Hunter <adrian.hunter@intel.com> Signed-off-by: Ulf Hansson <ulf.hansson@linaro.org>
Diffstat (limited to 'drivers/mmc/host/sdhci-pci-core.c')
-rw-r--r--drivers/mmc/host/sdhci-pci-core.c4
1 files changed, 4 insertions, 0 deletions
diff --git a/drivers/mmc/host/sdhci-pci-core.c b/drivers/mmc/host/sdhci-pci-core.c
index 78c25ad35fd2..9dfbd7f7e9fa 100644
--- a/drivers/mmc/host/sdhci-pci-core.c
+++ b/drivers/mmc/host/sdhci-pci-core.c
@@ -832,6 +832,10 @@ static int byt_sd_probe_slot(struct sdhci_pci_slot *slot)
slot->chip->pdev->device == PCI_DEVICE_ID_INTEL_GLK_SD)
slot->host->mmc_host_ops.get_cd = bxt_get_cd;
+ if (slot->chip->pdev->subsystem_vendor == PCI_VENDOR_ID_NI &&
+ slot->chip->pdev->subsystem_device == PCI_SUBDEVICE_ID_NI_78E3)
+ slot->host->mmc->caps2 |= MMC_CAP2_AVOID_3_3V;
+
return 0;
}