mmc: sdhci-pci: Add support for Intel GLK
authorAdrian Hunter <adrian.hunter@intel.com>
Tue, 22 Nov 2016 09:03:37 +0000 (11:03 +0200)
committerUlf Hansson <ulf.hansson@linaro.org>
Tue, 29 Nov 2016 08:05:20 +0000 (09:05 +0100)
Add support for eMMC/SD/SDIO Intel GLK host controllers.

Signed-off-by: Adrian Hunter <adrian.hunter@intel.com>
Signed-off-by: Ulf Hansson <ulf.hansson@linaro.org>
drivers/mmc/host/sdhci-pci-core.c
drivers/mmc/host/sdhci-pci.h

index 1d9e00a00e9fc986eb0bb01ff55a0966f03f7d5c..501098e65b0e1ddbe7566f51035a5b99683779b3 100644 (file)
@@ -390,7 +390,8 @@ static int byt_sd_probe_slot(struct sdhci_pci_slot *slot)
        slot->cd_override_level = true;
        if (slot->chip->pdev->device == PCI_DEVICE_ID_INTEL_BXT_SD ||
            slot->chip->pdev->device == PCI_DEVICE_ID_INTEL_BXTM_SD ||
-           slot->chip->pdev->device == PCI_DEVICE_ID_INTEL_APL_SD) {
+           slot->chip->pdev->device == PCI_DEVICE_ID_INTEL_APL_SD ||
+           slot->chip->pdev->device == PCI_DEVICE_ID_INTEL_GLK_SD) {
                slot->host->mmc_host_ops.get_cd = bxt_get_cd;
                slot->host->mmc->caps |= MMC_CAP_AGGRESSIVE_PM;
        }
@@ -1276,6 +1277,30 @@ static const struct pci_device_id pci_ids[] = {
                .driver_data    = (kernel_ulong_t)&sdhci_intel_byt_sd,
        },
 
+       {
+               .vendor         = PCI_VENDOR_ID_INTEL,
+               .device         = PCI_DEVICE_ID_INTEL_GLK_EMMC,
+               .subvendor      = PCI_ANY_ID,
+               .subdevice      = PCI_ANY_ID,
+               .driver_data    = (kernel_ulong_t)&sdhci_intel_byt_emmc,
+       },
+
+       {
+               .vendor         = PCI_VENDOR_ID_INTEL,
+               .device         = PCI_DEVICE_ID_INTEL_GLK_SDIO,
+               .subvendor      = PCI_ANY_ID,
+               .subdevice      = PCI_ANY_ID,
+               .driver_data    = (kernel_ulong_t)&sdhci_intel_byt_sdio,
+       },
+
+       {
+               .vendor         = PCI_VENDOR_ID_INTEL,
+               .device         = PCI_DEVICE_ID_INTEL_GLK_SD,
+               .subvendor      = PCI_ANY_ID,
+               .subdevice      = PCI_ANY_ID,
+               .driver_data    = (kernel_ulong_t)&sdhci_intel_byt_sd,
+       },
+
        {
                .vendor         = PCI_VENDOR_ID_O2,
                .device         = PCI_DEVICE_ID_O2_8120,
index 6bccf56bc5fff654d203ead074a6a53ae0409623..4abdaed72bd481b9195a42d0ead707c02227b7fa 100644 (file)
@@ -34,6 +34,9 @@
 #define PCI_DEVICE_ID_INTEL_APL_SD     0x5aca
 #define PCI_DEVICE_ID_INTEL_APL_EMMC   0x5acc
 #define PCI_DEVICE_ID_INTEL_APL_SDIO   0x5ad0
+#define PCI_DEVICE_ID_INTEL_GLK_SD     0x31ca
+#define PCI_DEVICE_ID_INTEL_GLK_EMMC   0x31cc
+#define PCI_DEVICE_ID_INTEL_GLK_SDIO   0x31d0
 
 /*
  * PCI registers