Skip to content

Commit 728ef3d

Browse files
ahunter6cjb
authored andcommitted
mmc: sdhci-pci: add more device ids
Add three more PCI device ids. Signed-off-by: Adrian Hunter <adrian.hunter@intel.com> Signed-off-by: Chris Ball <cjb@laptop.org>
1 parent 07a5888 commit 728ef3d

File tree

1 file changed

+54
-0
lines changed

1 file changed

+54
-0
lines changed

drivers/mmc/host/sdhci-pci.c

Lines changed: 54 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -33,6 +33,9 @@
3333
*/
3434
#define PCI_DEVICE_ID_INTEL_PCH_SDIO00x8809
3535
#define PCI_DEVICE_ID_INTEL_PCH_SDIO10x880a
36+
#define PCI_DEVICE_ID_INTEL_BYT_EMMC0x0f14
37+
#define PCI_DEVICE_ID_INTEL_BYT_SDIO0x0f15
38+
#define PCI_DEVICE_ID_INTEL_BYT_SD0x0f16
3639

3740
/*
3841
* PCI registers
@@ -304,6 +307,33 @@ static const struct sdhci_pci_fixes sdhci_intel_pch_sdio = {
304307
.probe_slot= pch_hc_probe_slot,
305308
};
306309

310+
static int byt_emmc_probe_slot(struct sdhci_pci_slot *slot)
311+
{
312+
slot->host->mmc->caps |= MMC_CAP_8_BIT_DATA | MMC_CAP_NONREMOVABLE;
313+
slot->host->mmc->caps2 |= MMC_CAP2_HC_ERASE_SZ;
314+
return 0;
315+
}
316+
317+
static int byt_sdio_probe_slot(struct sdhci_pci_slot *slot)
318+
{
319+
slot->host->mmc->caps |= MMC_CAP_POWER_OFF_CARD | MMC_CAP_NONREMOVABLE;
320+
return 0;
321+
}
322+
323+
static const struct sdhci_pci_fixes sdhci_intel_byt_emmc = {
324+
.allow_runtime_pm = true,
325+
.probe_slot= byt_emmc_probe_slot,
326+
};
327+
328+
static const struct sdhci_pci_fixes sdhci_intel_byt_sdio = {
329+
.quirks2= SDHCI_QUIRK2_HOST_OFF_CARD_ON,
330+
.allow_runtime_pm = true,
331+
.probe_slot= byt_sdio_probe_slot,
332+
};
333+
334+
static const struct sdhci_pci_fixes sdhci_intel_byt_sd = {
335+
};
336+
307337
/* O2Micro extra registers */
308338
#define O2_SD_LOCK_WP0xD3
309339
#define O2_SD_MULTI_VCC3V0xEE
@@ -855,6 +885,30 @@ static const struct pci_device_id pci_ids[] = {
855885
.driver_data= (kernel_ulong_t)&sdhci_intel_pch_sdio,
856886
},
857887

888+
{
889+
.vendor= PCI_VENDOR_ID_INTEL,
890+
.device= PCI_DEVICE_ID_INTEL_BYT_EMMC,
891+
.subvendor= PCI_ANY_ID,
892+
.subdevice= PCI_ANY_ID,
893+
.driver_data= (kernel_ulong_t)&sdhci_intel_byt_emmc,
894+
},
895+
896+
{
897+
.vendor= PCI_VENDOR_ID_INTEL,
898+
.device= PCI_DEVICE_ID_INTEL_BYT_SDIO,
899+
.subvendor= PCI_ANY_ID,
900+
.subdevice= PCI_ANY_ID,
901+
.driver_data= (kernel_ulong_t)&sdhci_intel_byt_sdio,
902+
},
903+
904+
{
905+
.vendor= PCI_VENDOR_ID_INTEL,
906+
.device= PCI_DEVICE_ID_INTEL_BYT_SD,
907+
.subvendor= PCI_ANY_ID,
908+
.subdevice= PCI_ANY_ID,
909+
.driver_data= (kernel_ulong_t)&sdhci_intel_byt_sd,
910+
},
911+
858912
{
859913
.vendor= PCI_VENDOR_ID_O2,
860914
.device= PCI_DEVICE_ID_O2_8120,

0 commit comments

Comments
 (0)