diff options
author | Xiaochen Shen <xiaochen.shen@intel.com> | 2010-10-04 10:24:52 -0400 |
---|---|---|
committer | Chris Ball <cjb@laptop.org> | 2010-10-23 09:11:19 -0400 |
commit | 292290524e54724cab78e7e79a27a3b9a8b11483 (patch) | |
tree | 94eb61fab10b162ffd24e03731ec0993ebe25496 /drivers/mmc | |
parent | 225d85fe7ddca2985548d98e410f7baf4a5d6260 (diff) |
mmc: sdhci: Intel Medfield support
Basic support for the Intel Medfield devices
Give them their own quirks as we will need to update this later.
Signed-off-by: Xiaochen Shen <xiaochen.shen@intel.com>
Signed-off-by: Alan Cox <alan@linux.intel.com>
Signed-off-by: Chris Ball <cjb@laptop.org>
Diffstat (limited to 'drivers/mmc')
-rw-r--r-- | drivers/mmc/host/sdhci-pci.c | 48 |
1 files changed, 48 insertions, 0 deletions
diff --git a/drivers/mmc/host/sdhci-pci.c b/drivers/mmc/host/sdhci-pci.c index 4f5d6d00d338..ec4b81dd493f 100644 --- a/drivers/mmc/host/sdhci-pci.c +++ b/drivers/mmc/host/sdhci-pci.c | |||
@@ -145,6 +145,14 @@ static const struct sdhci_pci_fixes sdhci_cafe = { | |||
145 | SDHCI_QUIRK_BROKEN_TIMEOUT_VAL, | 145 | SDHCI_QUIRK_BROKEN_TIMEOUT_VAL, |
146 | }; | 146 | }; |
147 | 147 | ||
148 | static const struct sdhci_pci_fixes sdhci_intel_mfd_sd = { | ||
149 | .quirks = SDHCI_QUIRK_NO_ENDATTR_IN_NOPDESC, | ||
150 | }; | ||
151 | |||
152 | static const struct sdhci_pci_fixes sdhci_intel_mfd_emmc_sdio = { | ||
153 | .quirks = SDHCI_QUIRK_NO_ENDATTR_IN_NOPDESC, | ||
154 | }; | ||
155 | |||
148 | static int jmicron_pmos(struct sdhci_pci_chip *chip, int on) | 156 | static int jmicron_pmos(struct sdhci_pci_chip *chip, int on) |
149 | { | 157 | { |
150 | u8 scratch; | 158 | u8 scratch; |
@@ -494,6 +502,46 @@ static const struct pci_device_id pci_ids[] __devinitdata = { | |||
494 | .driver_data = (kernel_ulong_t)&sdhci_via, | 502 | .driver_data = (kernel_ulong_t)&sdhci_via, |
495 | }, | 503 | }, |
496 | 504 | ||
505 | { | ||
506 | .vendor = PCI_VENDOR_ID_INTEL, | ||
507 | .device = PCI_DEVICE_ID_INTEL_MFD_SD, | ||
508 | .subvendor = PCI_ANY_ID, | ||
509 | .subdevice = PCI_ANY_ID, | ||
510 | .driver_data = (kernel_ulong_t)&sdhci_intel_mfd_sd, | ||
511 | }, | ||
512 | |||
513 | { | ||
514 | .vendor = PCI_VENDOR_ID_INTEL, | ||
515 | .device = PCI_DEVICE_ID_INTEL_MFD_SDIO1, | ||
516 | .subvendor = PCI_ANY_ID, | ||
517 | .subdevice = PCI_ANY_ID, | ||
518 | .driver_data = (kernel_ulong_t)&sdhci_intel_mfd_emmc_sdio, | ||
519 | }, | ||
520 | |||
521 | { | ||
522 | .vendor = PCI_VENDOR_ID_INTEL, | ||
523 | .device = PCI_DEVICE_ID_INTEL_MFD_SDIO2, | ||
524 | .subvendor = PCI_ANY_ID, | ||
525 | .subdevice = PCI_ANY_ID, | ||
526 | .driver_data = (kernel_ulong_t)&sdhci_intel_mfd_emmc_sdio, | ||
527 | }, | ||
528 | |||
529 | { | ||
530 | .vendor = PCI_VENDOR_ID_INTEL, | ||
531 | .device = PCI_DEVICE_ID_INTEL_MFD_EMMC0, | ||
532 | .subvendor = PCI_ANY_ID, | ||
533 | .subdevice = PCI_ANY_ID, | ||
534 | .driver_data = (kernel_ulong_t)&sdhci_intel_mfd_emmc_sdio, | ||
535 | }, | ||
536 | |||
537 | { | ||
538 | .vendor = PCI_VENDOR_ID_INTEL, | ||
539 | .device = PCI_DEVICE_ID_INTEL_MFD_EMMC1, | ||
540 | .subvendor = PCI_ANY_ID, | ||
541 | .subdevice = PCI_ANY_ID, | ||
542 | .driver_data = (kernel_ulong_t)&sdhci_intel_mfd_emmc_sdio, | ||
543 | }, | ||
544 | |||
497 | { /* Generic SD host controller */ | 545 | { /* Generic SD host controller */ |
498 | PCI_DEVICE_CLASS((PCI_CLASS_SYSTEM_SDHCI << 8), 0xFFFF00) | 546 | PCI_DEVICE_CLASS((PCI_CLASS_SYSTEM_SDHCI << 8), 0xFFFF00) |
499 | }, | 547 | }, |