提交 296e0b03 编写于 作者: A Alexander Stein 提交者: Chris Ball

mmc: sdhci-pci: allow 8-bit bus width for Intel PCH

Signed-off-by: NAlexander Stein <alexander.stein@systec-electronic.com>
Signed-off-by: NChris Ball <cjb@laptop.org>
上级 6379b237
...@@ -28,6 +28,12 @@ ...@@ -28,6 +28,12 @@
#include "sdhci.h" #include "sdhci.h"
/*
* PCI device IDs
*/
#define PCI_DEVICE_ID_INTEL_PCH_SDIO0 0x8809
#define PCI_DEVICE_ID_INTEL_PCH_SDIO1 0x880a
/* /*
* PCI registers * PCI registers
*/ */
...@@ -174,6 +180,12 @@ static int mrst_hc_probe(struct sdhci_pci_chip *chip) ...@@ -174,6 +180,12 @@ static int mrst_hc_probe(struct sdhci_pci_chip *chip)
return 0; return 0;
} }
static int pch_hc_probe_slot(struct sdhci_pci_slot *slot)
{
slot->host->mmc->caps |= MMC_CAP_8_BIT_DATA;
return 0;
}
#ifdef CONFIG_PM_RUNTIME #ifdef CONFIG_PM_RUNTIME
static irqreturn_t sdhci_pci_sd_cd(int irq, void *dev_id) static irqreturn_t sdhci_pci_sd_cd(int irq, void *dev_id)
...@@ -285,6 +297,11 @@ static const struct sdhci_pci_fixes sdhci_intel_mfd_emmc = { ...@@ -285,6 +297,11 @@ static const struct sdhci_pci_fixes sdhci_intel_mfd_emmc = {
.probe_slot = mfd_emmc_probe_slot, .probe_slot = mfd_emmc_probe_slot,
}; };
static const struct sdhci_pci_fixes sdhci_intel_pch_sdio = {
.quirks = SDHCI_QUIRK_BROKEN_ADMA,
.probe_slot = pch_hc_probe_slot,
};
/* O2Micro extra registers */ /* O2Micro extra registers */
#define O2_SD_LOCK_WP 0xD3 #define O2_SD_LOCK_WP 0xD3
#define O2_SD_MULTI_VCC3V 0xEE #define O2_SD_MULTI_VCC3V 0xEE
...@@ -820,6 +837,22 @@ static const struct pci_device_id pci_ids[] __devinitdata = { ...@@ -820,6 +837,22 @@ static const struct pci_device_id pci_ids[] __devinitdata = {
.driver_data = (kernel_ulong_t)&sdhci_intel_mfd_emmc, .driver_data = (kernel_ulong_t)&sdhci_intel_mfd_emmc,
}, },
{
.vendor = PCI_VENDOR_ID_INTEL,
.device = PCI_DEVICE_ID_INTEL_PCH_SDIO0,
.subvendor = PCI_ANY_ID,
.subdevice = PCI_ANY_ID,
.driver_data = (kernel_ulong_t)&sdhci_intel_pch_sdio,
},
{
.vendor = PCI_VENDOR_ID_INTEL,
.device = PCI_DEVICE_ID_INTEL_PCH_SDIO1,
.subvendor = PCI_ANY_ID,
.subdevice = PCI_ANY_ID,
.driver_data = (kernel_ulong_t)&sdhci_intel_pch_sdio,
},
{ {
.vendor = PCI_VENDOR_ID_O2, .vendor = PCI_VENDOR_ID_O2,
.device = PCI_DEVICE_ID_O2_8120, .device = PCI_DEVICE_ID_O2_8120,
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册