|
@@ -145,6 +145,14 @@ static const struct sdhci_pci_fixes sdhci_cafe = {
|
|
|
SDHCI_QUIRK_BROKEN_TIMEOUT_VAL,
|
|
|
};
|
|
|
|
|
|
+static const struct sdhci_pci_fixes sdhci_intel_mfd_sd = {
|
|
|
+ .quirks = SDHCI_QUIRK_NO_ENDATTR_IN_NOPDESC,
|
|
|
+};
|
|
|
+
|
|
|
+static const struct sdhci_pci_fixes sdhci_intel_mfd_emmc_sdio = {
|
|
|
+ .quirks = SDHCI_QUIRK_NO_ENDATTR_IN_NOPDESC,
|
|
|
+};
|
|
|
+
|
|
|
static int jmicron_pmos(struct sdhci_pci_chip *chip, int on)
|
|
|
{
|
|
|
u8 scratch;
|
|
@@ -494,6 +502,46 @@ static const struct pci_device_id pci_ids[] __devinitdata = {
|
|
|
.driver_data = (kernel_ulong_t)&sdhci_via,
|
|
|
},
|
|
|
|
|
|
+ {
|
|
|
+ .vendor = PCI_VENDOR_ID_INTEL,
|
|
|
+ .device = PCI_DEVICE_ID_INTEL_MFD_SD,
|
|
|
+ .subvendor = PCI_ANY_ID,
|
|
|
+ .subdevice = PCI_ANY_ID,
|
|
|
+ .driver_data = (kernel_ulong_t)&sdhci_intel_mfd_sd,
|
|
|
+ },
|
|
|
+
|
|
|
+ {
|
|
|
+ .vendor = PCI_VENDOR_ID_INTEL,
|
|
|
+ .device = PCI_DEVICE_ID_INTEL_MFD_SDIO1,
|
|
|
+ .subvendor = PCI_ANY_ID,
|
|
|
+ .subdevice = PCI_ANY_ID,
|
|
|
+ .driver_data = (kernel_ulong_t)&sdhci_intel_mfd_emmc_sdio,
|
|
|
+ },
|
|
|
+
|
|
|
+ {
|
|
|
+ .vendor = PCI_VENDOR_ID_INTEL,
|
|
|
+ .device = PCI_DEVICE_ID_INTEL_MFD_SDIO2,
|
|
|
+ .subvendor = PCI_ANY_ID,
|
|
|
+ .subdevice = PCI_ANY_ID,
|
|
|
+ .driver_data = (kernel_ulong_t)&sdhci_intel_mfd_emmc_sdio,
|
|
|
+ },
|
|
|
+
|
|
|
+ {
|
|
|
+ .vendor = PCI_VENDOR_ID_INTEL,
|
|
|
+ .device = PCI_DEVICE_ID_INTEL_MFD_EMMC0,
|
|
|
+ .subvendor = PCI_ANY_ID,
|
|
|
+ .subdevice = PCI_ANY_ID,
|
|
|
+ .driver_data = (kernel_ulong_t)&sdhci_intel_mfd_emmc_sdio,
|
|
|
+ },
|
|
|
+
|
|
|
+ {
|
|
|
+ .vendor = PCI_VENDOR_ID_INTEL,
|
|
|
+ .device = PCI_DEVICE_ID_INTEL_MFD_EMMC1,
|
|
|
+ .subvendor = PCI_ANY_ID,
|
|
|
+ .subdevice = PCI_ANY_ID,
|
|
|
+ .driver_data = (kernel_ulong_t)&sdhci_intel_mfd_emmc_sdio,
|
|
|
+ },
|
|
|
+
|
|
|
{ /* Generic SD host controller */
|
|
|
PCI_DEVICE_CLASS((PCI_CLASS_SYSTEM_SDHCI << 8), 0xFFFF00)
|
|
|
},
|